Not applicable.
Not applicable.
1. Technical Field of the Invention
This invention relates to mobile applications and in particular to systems and methods for implementing a mobile social network application.
2. Description of Related Art
A social network application provides a website or other type of portal for users to interact with other users of the social network application. Users of the social network application create personal profiles and invite other users to be “friends” and have access to their personal profiles. Users may send messages, notifications or blog. Users may join established networks of other users in the social network application who share interests or activities. Users may update their personal profiles with user provided content, such as photos, music and videos.
Social network applications, such as Facebook™, Myspace™ and LinkedIn™, have provided people with a different and new method of communication. Social network applications are used regularly by millions of people, and it now seems that social networking will be an enduring part of everyday life.
Mobile social network applications are now being established. In mobile communities, mobile phone users can now create their own profiles, make friends, participate in chat rooms, create chat rooms, hold private conversations, share photos and videos, and share blogs by using their mobile phone. For example, one of the current wireless services for social networking in North America is Facebook™ Mobile.
With the emergence of mobile social network applications, new innovative features which extend the social networking experience into the mobile environment are needed.
a illustrates a logic flow diagram of an embodiment of a method of operation of a social network application system;
b illustrates a logic flow diagram of an embodiment of a method of operation of a user device with a social network application system;
a illustrates a logic flow diagram of an embodiment of a method of operation of a user device with a social network application system;
b illustrates a logic flow diagram of an embodiment of a method of operation of a social network application system;
In an embodiment, the application module 30 also includes a processing module 34 operable to perform functions described herein. In general, the processing module 34 includes one or more processing devices, such as a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module 34 includes a memory that is an internal memory or an external memory. The memory of the processing module 34 may each be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. When processing module 34 may implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Processing module 34 may execute hard coded and/or operational instructions stored by the internal memory and/or external memory to perform the steps and/or functions illustrated in
In an embodiment, the processing module 34 includes two separate logical modules, servant module 44 and content module 46. The servant module 44 processes authentication of users, user location data and searches of profile content database 40 as explained in more detail below. The content module 46 processes static content uploaded by the user devices 18. The logical separation of the processing modules simplifies upgrades and fixes of each module. In an embodiment, the processing module 34 may be separated into additional logical modules. In another embodiment, the servant module 44 and content module 46 are combined as one logical module.
The system 20 also includes database 36. The database 36 is operable to communicate with interface module 32 and processing module 34. The database 36 may be one or more databases implemented in one or more internal memory devices, detached memory devices, network attached storage devices, storage area networks, or other memory devices located in one geographical location or multiple geographical locations. The database 36 may be structured as relational, network, hierarchal or object based or other type of structured database or document management application operable to store and locate data as described herein.
In an embodiment, the database 36 includes two logical or physical separate databases, profile content database 40 and user content database 42. The profile content database 40 includes user profile data and location information data. The user content database 42 includes data files uploaded by users to be displayed on their web pages, such as avatars, photos, videos, text, music, etc. The separation of the databases simplifies upgrades and expansion of each database. For example, the user content database 42 may be upgraded or expanded separately from the user profile database 40. In another embodiment, the profile content database 40 and user content database 42 are not separate logical databases but are combined into one logical or physical database.
In step 62 of
In step 64 of
The system 20 thus maintains user profile data and current location information of users in database 36. With this information, the system 20 provides new innovative features to extend the social networking experience into the mobile environment.
a illustrates an embodiment of a method for a social networking service 100 that utilizes the current location information of users to create personalized demographic reports. In step 102, the system 20 receives a request for a search having search criteria. The search criteria may include any type of data stored in the user profiles 70. The search request may include personal data, such as a specific age or age range, male or female, height, weight, hair color, etc. The search request may specify favorite criteria, such as favorite type of music, hobbies, sports, movies, books, etc. For example, search criteria may specify males, age 34 to 39 who like jazz music or females, age 40 to 44 who like to play tennis. The search request may include professional data, such as job category or school alma mater. For example, search criteria may specify attorneys, age 30 to 35. The search criteria may specify any other type of user profile data stored in user profiles 70 in database 36.
The search request also includes a geographical area. The geographical area may be designated as an address, such as an address of a nightclub or restaurant. The geographical area may be designated as part of a city or town, for example, “Uptown” or “Main Street”. The geographical area may be designated as a landmark or a city or region or state. The geographical area may be designated as a range of distance from an address or a landmark. The search criteria thus specifies a geographical area and user profile data.
In step 104 of
In step 106 of
b illustrates an embodiment of a method of operation 110 of a user device 18. A user of the device 18 selects to perform a search. The user selects various search criteria from a graphical user interface (GUI) displayed by the device 18. The user also selects a geographical area by inputting an address or selecting an option from a GUI of a geographical area. In step 114, the user device 18 transmits the search request with the search criteria including the geographical area. In step 116, the user device 18 receives a dataset from the system 20. In response thereto, the user device 18 generates and displays the graphical representation of a density or number of user devices associated with users meeting the search criteria with a current location in the geographical area in step 118.
a illustrates another embodiment of a method of operation 110 of a user device 18. In an embodiment, the social networking service 100 pushes a dataset generated from specified search criteria predefined by a user or the social networking service to a user device 18 in response to initiation of the application. In step 122, the user device 18 initiates the application or social networking service 100, e.g. in response to user input or login authentication of the user or in response to startup of the user device 18. In step 124, the user device 18 receives a dataset for generating a graphical representation of density of user devices from the system 20. In response thereto, the user device 18 generates and displays the graphical representation of a density or number of user devices associated with users meeting a specified search criteria with a current location in the geographical area in step 118. The dataset is generated by the social networking application 100 from specified search criteria predefined by a user or the social networking service to a user device 18 in response to initiation of the application, as explained in more detail with respect to
b illustrates another embodiment of a method for a social networking service 100 that utilizes predefined search criteria to generate a dataset of current location information of users to create demographic reports. In step 130, the system 20 receives an indication of access to the social networking service 100 by a user device 18. The system 20 may require authentication to the application prior to allowing access. In step 132, the system 20 determines a search with predefined search criteria. The predefined criteria may include default search criteria or may include personalized predefined search criteria stored in a user profile. The predefined criteria may depend on the geographical location of the user device 18 or type of service requested by a user. In response to the determined search, the system 20 determines current location of user devices in a geographical area meeting the predefined search criteria in step 134. In step 136, the system 20 collates a dataset of quantitative data of users with a current location in a geographical area and meeting the predefined search criteria. In step 138, the system transmits the dataset to the user device 18.
For example, in response to initiation (and authentication if required) of any user device 18, the system 20 may generate and push a dataset from a search with default search criteria of all active users in the geographical area of a current location of the user device 18. In another example, a store owner may define a search with search criteria of active users in a geographical area of a shopping mall. The search is stored in the user profile for the store owner. A dataset for the predefined search is automatically pushed to a user device 18 associated with the store owner upon initiation of the application and at defined periods thereafter.
A heat map is one embodiment of the graphical representation of density of users in a geographical area. Other types of GUIs may also be used. For example, in another embodiment, a graph illustrates the density in a geographical area. When the geographical area is a specific location or address, such as an address of a restaurant, the graphical representation may include a number or a range of numbers of users at the location rather than a density. Thus, the graphical representation is any type of GUI that conveys a density or number of users with a current location in the geographical area.
In order to protect privacy of users, the system 20 implements various privacy policies restricting information provided in response to a search request. For example, the system 20 provides quantitative data in response to a search request without identification of specific users. Another privacy policy relates to a number of users that will be reported in a small geographical area. The system 20 will not report a low number of users meeting specified criteria in a small geographical area such that a particular user could be identified or located. When the density of users in a geographical area is below a threshold number, the system 20 will remove the information for those users. For example, if the search criteria requests females, age 24 to 29, with long, blonde hair at a specific address, the system 20 will not respond when only 1 user meets that criteria. If the density of users at the specific address is 30, then the system 20 may respond with the information. The threshold number depends on the geographical area and type of criteria. For a specific address, the threshold number of users will be high. For large geographical areas, the threshold number may be lower. When the search criteria specifies males who play tennis age 24 to 29 with blonde hair in the city of Dallas, the system 20 may report that five or less users within Dallas meet the criteria since it would be difficult to identify or locate a specific user in such a large area.
The system 20 maintains current information for each type of object. The system 20 receives periodic updates to the current information in the profiles. The updates may be daily, hourly or up to the minute. For example, a restaurant may update its food specials on a daily basis. A movie theater may update which movies are sold out and which still have available tickets and show times on an hourly basis. A nightclub may provide updates of a current song being played on the dance floor every few minutes. The system 20 maintains the current information for the various types of objects in database 36.
In step 244, the system 20 determines objects in response to the search criteria. The system 20 searches the database 36 for particular objects meeting the search criteria. For example, when the search criteria includes bars currently having happy hour drink specials, the system 20 searches location objects corresponding to bars with a current information including a happy hour. The search request may include criteria relating to more than one type of object. For example, the search criteria may include a request for bars currently having happy hour drink specials and density of males 30 to 34.
In step 246, the system 20 collates a dataset for generating a graphical representation of objects in a geographical area in response to the search criteria. In an embodiment, the dataset is based on current information of one or more types of objects. For example, in response to the request for bars currently having happy hour drink specials and density of males 30 to 34, the system 20 searches location objects corresponding to bars with a current information including a happy hour and searches user profile data to determine a current information of location of men age 30 to 34 at the bars. The system 20 collates the data from the searches and generates a dataset for generating a graphical representation of the objects selected in response to the search criteria.
In step 248, the system 20 transmits the dataset to the user device 18. The user device 18 utilizes the dataset to generate a map of the geographical area having a graphical representation of one or more types of objects meeting the search criteria. For certain types of objects, the graphical representation may be specific, such as location of the bars having happy hour. However, for demographic data based on user profile data, the system 20 only provides quantitative data of density.
The system 20 provides new applications that extend the social networking experience into the mobile environment. The system 20 stores profile information of one or more types of objects, such as users, places, events, things, organizations and other types of objects. The system 20 maintains current information for the various types of objects. The current information is updated periodically. For users, the system 20 maintains current location of user devices associated with the user profiles. The system 20 generates a dataset for generating density reports with one or more types of objects based on search criteria. The dataset includes current information for one or more types of objects. The dataset is transmitted to a user device. The user device displays a graphical representation of density of objects in a geographical area based on current information.
As may be used herein, the term “operable to” indicates that an item includes one or more of processing modules, data, input(s), output(s), etc., to perform one or more of the described or necessary corresponding functions and may further include inferred coupling to one or more other items to perform the described or necessary corresponding functions.
The present invention has also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.
The present invention has been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by one or multiple discrete components, networks, systems, databases or processing modules executing appropriate software and the like or any combination thereof.
This US patent application claims priority under 35 U.S.C. §119 to a provisionally filed patent application entitled, “System and Method for a Mobile Social Network Application,” having a provisional filing date of Feb. 23, 2009, and a provisional application Ser. No. 61/154,682, and is hereby incorporated by reference. This US patent application claims priority under 35 U.S.C. §119 to a provisionally filed patent application entitled, “System and Method for Displaying a Density of Objects in a Social Network Application,” having a provisional filing date of Oct. 24, 2009, and a provisional application Ser. No. 61/245,406, and is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61154682 | Feb 2009 | US | |
61245406 | Sep 2009 | US |