Service providers and device manufacturers (e.g., wireless, cellular, etc.) are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services. One area of development is social networking and relationship building including assisting consumers with managing social agendas. Accordingly, service providers and device manufacturers face significant technical challenges to enabling consumers to more efficiently discover such social relationships.
Therefore, there is a need for an approach for proposing social encounters among users of a social network.
According to one embodiment, a method comprises determining location information associated with a user and other location information associated with one or more other users. The method also comprises determining social interest information associated with the user and other social interest information associated with the one or more other users. The method further comprises processing and/or facilitating a processing of the location information, the other location information, the social interest information, the other social interest information or combination thereof to cause, at least in part, identification of one or more proposed encounters with respect to the user and the one or more other users. The method also comprises causing, at least in part, a generation of a presentation of the one or more proposed encounters to the user.
According to another embodiment, an apparatus comprises at least one processor, and at least one memory including computer program code for one or more computer programs, the at least one memory and the computer program code configured to, with the at least one processor, cause, at least in part, the apparatus to determine location information associated with a user and other location information associated with one or more other users. The apparatus is also caused to determine social interest information associated with the user and other social interest information associated with the one or more other users. The apparatus is further caused to process and/or facilitate a processing of the location information, the other location information, the social interest information, the other social interest information or combination thereof to cause, at least in part, identification of one or more proposed encounters with respect to the user and the one or more other users. The apparatus is also caused to generate a presentation of the one or more proposed encounters to the user.
According to another embodiment, a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to determine location information associated with a user and other location information associated with one or more other users. The apparatus is also caused to determine social interest information associated with the user and other social interest information associated with the one or more other users. The apparatus is further caused to process and/or facilitate a processing of the location information, the other location information, the social interest information, the other social interest information or combination thereof to cause, at least in part, identification of one or more proposed encounters with respect to the user and the one or more other users. The apparatus is also caused to generate a presentation of the one or more proposed encounters to the user.
According to another embodiment, an apparatus comprises means for determining location information associated with a user and other location information associated with one or more other users. The apparatus also comprises means for determining social interest information associated with the user and other social interest information associated with the one or more other users. The apparatus further comprises means for processing and/facilitating a processing of the location information, the other location information, the social interest information, the other social interest information or combination thereof to cause, at least in part, identification of one or more proposed encounters with respect to the user and the one or more other users. The apparatus also comprises means for causing, at least in part, a generation of a presentation of the one or more proposed encounters to the user.
In addition, for various example embodiments of the invention, the following is applicable: a method comprising facilitating a processing of and/or processing (1) data and/or (2) information and/or (3) at least one signal, the (1) data and/or (2) information and/or (3) at least one signal based, at least in part, on (including derived at least in part from) any one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
For various example embodiments of the invention, the following is also applicable: a method comprising facilitating access to at least one interface configured to allow access to at least one service, the at least one service configured to perform any one or any combination of network or service provider methods (or processes) disclosed in this application.
For various example embodiments of the invention, the following is also applicable: a method comprising facilitating creating and/or facilitating modifying (1) at least one device user interface element and/or (2) at least one device user interface functionality, the (1) at least one device user interface element and/or (2) at least one device user interface functionality based, at least in part, on data and/or information resulting from one or any combination of methods or processes disclosed in this application as relevant to any embodiment of the invention, and/or at least one signal resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
For various example embodiments of the invention, the following is also applicable: a method comprising creating and/or modifying (1) at least one device user interface element and/or (2) at least one device user interface functionality, the (1) at least one device user interface element and/or (2) at least one device user interface functionality based at least in part on data and/or information resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention, and/or at least one signal resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
In various example embodiments, the methods (or processes) can be accomplished on the service provider side or on the mobile device side or in any shared way between service provider and mobile device with actions being performed on both sides.
For various example embodiments, the following is applicable: An apparatus comprising means for performing the method of any of originally filed claims 1-10, 21-30, and 46-48.
Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the invention. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings:
Examples of a method, apparatus, and computer program for proposing a social encounter are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
As used herein, the term social encounter refers to any type of meeting between a user and other users, or a social experience that may be of interest to the user such as, but not limited to, dinner events, restaurant events, sporting events, happy hours, group meetings, family events, work related events, parties, night club events, exercise experiences, shopping, just getting together, etc.
Mobile recommender systems are currently on the rise for suggesting social networking connections or things to do. Various service providers are increasingly embedding features to their navigation services that can provide place based recommendations to a user, based on recommended restaurants nearby, for example. Also social networking services are entering the mobile recommendation space. For instance, some social networking services may provide a way to allow local businesses such as coffee shops or main street shops to attract customers to their premises through targeting mobile users of the social networking service.
First generation mobile recommender systems involve only location based recommendations, in which content that is relevant to the present location of the user is provided to the user. However, as the intelligence behind recommender systems increases, and as mobile phones start to become embedded with sensors, more complex attributes pertaining to the user's preferences will play a role in the algorithms yielding the recommended content. Social networking, as well as geo-routines of the user, may well be aspects that start to drive recommendation systems as the technology advances.
Consumers today typically use a mobile device that is continuously collecting data about the geographic and social routines of the user. Such data is analysed (either locally or on a server) and certain geographic and social properties are derived pertaining to the user. Such geo-social information can be used to generate a realistic set of future states (e.g. 5 hours from the present moment) all of which have a relatively high likelihood of actualizing. Simultaneously, a possibility is provided for third parties to embed commercial information as part of the possible future scenarios recommended to the users. Overall, such a mechanism can yield personally relevant recommendations, monetizable by a service provider through collaborating with third parties offering physical services in the locality of the user, such as retail, dining, entertainment, etc.
Coordinating a social calendar involves planning future events with one's friends, while taking into consideration a given size and geographic spread of one's social network, diversity of routines pertaining to individuals in one's social network, as well as various special offers associated with bars, restaurants, shops, etc.
For example, consider that a person wants to decide what to do on a Friday evening. The following types of questions may have to be answered in order to find a successful outcome to this problem:
1. Who is available to get together tonight?
2. Would the people that are available like to get a beer tonight?
3. What places do I prefer and what places might my friends prefer?
4. How does my current location affect where I can be in a few hours' time?
5. What commercial offerings might be associated with places nearby?
6. Does some place nearby have a special price on my favorite beer?
The claimed approach offers a solution to such a “constraint satisfaction” problem, by providing a set of realistic and relevant geo-social event alternatives to choose from for the user. The approach may also involve a mechanism for actualizing any given option that is eventually chosen by the user.
To address these problems, a system 100 of
As shown in
The UE 101 is any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. It is also contemplated that the UE 101 can support any type of interface to the user (such as “wearable” circuitry, etc.).
In one embodiment, UE 101 has a user interface module 105a through which a user may interact with the UE 101. A user may want to receive and view potential proposed social encounters that he may have with other users. The user may opt to receive potential proposed social encounters on the UE 101 on a periodic basis or on demand. The UE 101a may also be a means through which the user may view any proposed social encounters that are provided by the encounter processing platform 103. The UE 101 collects location information about the user by way of a sensor 111a, gps, geo-location, etc. and may store that information in a data storage 109a or it may immediately forward the location information to the encounter processing platform 103. The location information may be used by the encounter processing platform 103 to suggest a meeting between user and one or more other users within a particular proximity of the user. The UE 101 may also detect and store patterns of location information of the UE 101 (i.e. the user) to develop a trend or history of location patterns so that a future location could be predicted. Such a detection and determination may be done by a context determination module 105e that is part of the UE 101. For example, a user on a given Saturday wakes up in the morning, gets in his car, drives to a donut shop, then to the super market, then home, then goes golfing, and then to a bar. The UE 101 may store all of this information, and in the future suggest that the user go to a restaurant near the bar that he usually attends every Saturday.
The context determination module 105e may also determine the type of location at which the user is positioned, or it may determine a pace that the user moves throughout the day, or any type of context that may be used in comparing a user to other users for proposing a social encounter. The context determination module 105e receives the context information about the user from a data collection module 105c that may be interfaced, for example, with the sensor 111a, or may receive an input from the user by way of user interface 105a. A proximity matching module 105b may be incorporated into the UE 101, and if the sensor 111a detects that another user is nearby, the proximity matching module may indicate that a friend or another person nearby is using a same service, and the encounter processing platform 103 may use that information to propose a social encounter.
In one embodiment, the UE 101 and encounter processing platform 103 communicate with a social networking service 113. The social networking service 113 has a plurality of user profiles 115a-115n that indicate various social interests and connections that a user may have in common or related to other users of the social networking service 113. The social networking service 113 may also interact with the UE 101 to detect and store context information related to the user.
In one embodiment, the encounter processing platform 103 takes all of the information available including current location information, future location information, and/or location information of interest (e.g. a place where the user may want to be 5 hours from now) about the user and any other users, from their respective UE 101a-101n and/or social networking user profiles 115a-115n, and generates a range of proposed social encounters between the user and the one or more other users and may or may not also provide commercial availability information such as reservation information, advertisements, or discount offers.
By way of example, the UE 101, encounter processing platform 103, social networking service 113 and UE 101b-n communicate with each other and other components of the communication network 105 using well known, new or still developing protocols. In this context, a protocol includes a set of rules defining how the network nodes within the communication network 105 interact with each other based on information sent over the communication links. The protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link for transferring those signals, to the format of information indicated by those signals, to identifying which software application executing on a computer system sends or receives the information. The conceptually different layers of protocols for exchanging information over a network are described in the Open Systems Interconnection (OSI) Reference Model.
Communications between the network nodes are typically effected by exchanging discrete packets of data. Each packet typically comprises (1) header information associated with a particular protocol, and (2) payload information that follows the header information and contains information that may be processed independently of that particular protocol. In some protocols, the packet includes (3) trailer information following the payload and indicating the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different, higher layer of the OSI Reference Model. The header for a particular protocol typically indicates a type for the next protocol contained in its payload. The higher layer protocol is said to be encapsulated in the lower layer protocol. The headers included in a packet traversing multiple heterogeneous networks, such as the Internet, typically include a physical (layer 1) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, and various application (layer 5, layer 6 and layer 7) headers as defined by the OSI Reference Model.
In one embodiment, the service interface 201 establishes a communications link with the social networking service 113 so that the encounter processing platform 103 can receive any social interest information about the user or one or more other users. Social interest information may be, for example, likes and dislikes such as music, food, wine, liquor, movies, beer, media topics, financial interests, colleges, sporting events or teams, political views, religious views, relationship status, location, planned vacations, etc. By no means is this list totally inclusive. Rather is it merely an example of possible social interest items that the encounter processing platform 103 may take into consideration.
In one embodiment, the content acquisition module 203 establishes a communications link with the communication module 105d of UE 101 to receive information from the context determination module 105e. The content acquisition module 203 receives any context information that may be stored at the UE 101 or relayed to the encounter processing platform 103 that is about the user. Such information, as discussed above, may be used by the encounter processing platform to optimize a suggested encounter based on the location of the user, for example, which is combined with any social interest information that is received about the user and any other users. All of this information may be processed by a suggestion module 207.
In one embodiment, the suggestion module 207 receives all of the information from the service interface 201 and the content acquisition module 203 to determine proposed social encounters for the user to attend. The suggestion module 207 may, for example, based on the location of the user and the timing of which a suggestion process is run, propose one or more proposed social encounters for the user to attend. The suggestion module 207 may also, for example, propose a series of social encounters to the user based upon a first social encounter. In other words, if the suggestion module 207 proposes three proposed social encounters at three different locations all starting at 6 pm. The suggestion module 207 may then also suggest a second tier of three more social encounters each depending on which of the first three proposed social encounters that start at various locations at 8 pm. The suggestion module 207 may then still also suggest three more social encounters, for example, each depending on which of the second tier of proposed social encounters each of which starts at 11 pm. This level of detail of multiple proposed encounters enables a user to see how his evening, for example, may progress if one path is taken. In other words, this option may present what might be called a series of parallel universes in which a user may decide to partake. The above series of proposed social encounters is by no way exclusive to just three and also by no means exclusive to the particular timing of the proposed social encounters. A user could, for example, be presented with many proposed encounters and any subsequent encounter may be limited, for example, by a time of the encounter, a location of the encounter, or even a time of travel between any potential encounters.
In one embodiment, the suggestion module 207 may also take any available commercial venues into consideration when proposing a social encounter. For example, the suggestion module may detect that a restaurant is nearby that is in line with the user's interests and suggest that the user go there after work. The suggestion module 207, may also, in connection with the social networking service 113, determine that a restaurant, among other restaurants, may be booked and not have any available seating, so it will remove that restaurant from consideration during the times at which the proposed social encounter may be suggested.
In one embodiment, the suggestion module 207 may determine the probability that a user may attend a proposed social encounter, or the probability that a user may pass through a particular area based on his social interested and/or location pattern that is received from the UE 101, for example. The probabilities may be used to suggest a proposed social encounter, or to estimate the likelihood that the user will attend the event. That likelihood may be used to persuade potential advertisers that they should use their resources to send the user an advertisement such as a coupon to use during the proposed social encounter to increase the likelihood that the user will attend the proposed social encounter.
In one embodiment, the advertising module 209 receives information about a proposed encounter that may include the probability discussed above. The advertising module 209 may generate an advertisement that corresponds to a meeting place such as a bar or a restaurant that is proposed by the encounter processing platform 103, or it may generate an advertisement that corresponds to a general area of the proposed encounter. The probability discussed above may be a basis for charging a potential advertiser a set rate for sending an advertisement to the user and/or the one or more other users. The advertising module 209, however, may also communicate with a bidding module 211 that presents the probabilities of the likelihood of attendance at the proposed encounter to a plurality of third party advertisers, restaurateurs, merchants etc. that may bid to pay a particular amount to ensure that their advertisement is placed at the top of a list of advertisements sent to the user and/or the one or more other users. This bidding module 211 may also be capable of ensuring that a winning bid may enable the advertising module 209 to present the advertisement such that the advertisement is the only advertisement sent to the user and/or the one or more other users.
In one embodiment, the presentation module 213 generates a presentation of at least one proposed social encounter and any alternative social encounters and any events that might transpire from selecting one or more social encounters throughout a user's future. The presentation module 213 may communication with the invitation module 215 to generate an invitation to send to the user and/or the one or more other users to attend a proposed social encounter. While the user may be presented with a list of options, the user may still opt to receive an invitation so that the user may be able to view the invitation that is sent to his friends (i.e. the one or more other users). The invitation module 215 may communicate with the advertising module 209 to include an advertisement that is generated by the advertising module with the invitation that is generated by the invitation module 215.
In one embodiment, the encounter processing platform 103 may periodically generate and send proposed encounters to the user and/or the one or more other users, or it may perform this function on demand. The user may also have the ability by way of the user interface 105a to select from a list of one or more other users that may be available to attend the proposed social encounter to send the invitations to. For instance, a plurality of other users may be suggested by the encounter processing platform 103 that are detected as being connected to the user by way of the social networking service 113. But, not all of the other users of the social networking service 113 are actually friends with the user, or the user may not actually want to spend time with that person. So the user may have the option to screen which contacts are invited to the proposed social encounter, or which of the other users should be used in the proposed social encounter suggestion process. For example, the user may have the option to select, by way of the user interface 105a, a plurality of favorite friends that have a higher priority or that the search for available people to setup the proposed social encounter with may be limited to. The encounter processing platform 103 may also process proposed encounters blindly to setup a blind date, for example between the user and one or more other users based on their location and social interest information, for example. Other information such as patterns of behavior or overlap of time spent in a particular area may also be taken into consideration when proposing a social encounter.
The process continues to step 305 in which the encounter processing platform processes the location information about the user and the one or more other users and compounds that information with the social interest information to determine probable places and times that the user may want to meet up with other users. The process optionally continues to step 307 in which the encounter processing platform 103 may determine and process commercial availability information to optimize the one or more proposed encounters. Such commercial availability information may include, but not be limited to, venues that are close by, schedule events, reservation availability, etc. This commercial availability information may be combined with the location information and social interest information to develop a plurality of options for the user to attend and may optimize a proposed social encounter based on available pricing information, timing of availability and travel time between the locations of all of the users that are considered and the location of the proposed venues for the social encounter.
The process also optionally continues to step 309 in which the encounter processing platform 103 processes the commercial availability information and generates at least one advertisement. The at least one advertisement may be for a location that the encounter processing platform proposes or may be in the vicinity of the user or the one or more other users, a future location, a location of interest, and/or the location of the proposed encounter.
The process continues to step 311 in which the encounter processing platform 103 determines the probability that the user will attend a proposed encounter and sends this information to a potential advertiser. The encounter processing platform 103 also determines an appropriate pricing schedule based on the likelihood that the user will attend a proposed encounter, or the likelihood that the user will follow a particular path of travel in the user's future. For instance, if the user is likely to travel to the super market later in the day en route to a bar, then the encounter processing platform 103 may send an advertisement to the user for the supermarket when the encounter processing platform 103 suggests an encounter for the bar in question. Because the probability is high, or at a particular threshold value, a notification may be sent to an advertiser that the likelihood of attendance is high (step 313). Based on this notification, the advertiser would have the option of sending an advertisement, or allowing an advertisement to be sent, to the user and/or the one or more other users. Next, the process optionally continues to step 315 in which the encounter processing platform 103 generates a pricing schedule for the cost of the advertisement. For example, the cost of the advertisement may be based on a set scale that is dependent on the probability that the user will attend the proposed social encounter. For instance, if the probability is over 50%, then the advertiser would pay more such an advertisement than a proposed encounter where the probability of attendance is below 40%. The encounter processing platform 103 may also entertain bids from advertisers to win advertising opportunities based on the particular probability thresholds that are reached. The encounter processing platform 103 may take all of this information into consideration when generating a proposed social encounter for the user.
The process optionally continues to step 317 in which the encounter processing platform 103 may generate at least one invitation that may be sent to the user and/or the one or more other users to attend a proposed social encounter. For example, the invitation may have information directing any recipient of the invitation to go to a particular place at a particular time and meet up with a list of particular people that may or may not have been recipients themselves of the invitation. The process optionally continues to step 319 in which the encounter processing platform 103 may send the at least one generated advertisement to the user and/or the one or more other users along with the invitation. The advertisement may be incorporated into the invitation, it may be listed in a list of things to do or options, or it may be sent as an attachment to an email or a separate email, text or picture message to the user and/or the one or more other users. The invitation may be received any number of ways, for example, via text message, video message, picture message, email, voice message or voicemail, instant message, etc.
The user interface 500 may also have a check box 511 for searching for long lost friends. If a user's communication records identify members of the social networking service 113 with whom the user has not had contact in a while, and this option is selected, encounter processing platform 103 may recommend people with whom the user should arrange some face to face activities so that the user does not lose contact with these other users.
In other words, the user can request a recommendation as to what to do in a certain target time slot, e.g., 5 hours from the present moment. An output of the recommendation process is a set of geo-social-commercial recommendations, each of which represent a realistic geo-social context, from the point of view of the person's geographic and social routines. As only one of the recommendations can actualize, in respect to one another, the recommendations can be seen as “parallel universes”, or alternative future states of the user. For example, consider the following propositions: At 8 PM tonight, the system 100 tells a user that he could be having coffee with Julia and Rob, or the user could be throwing darts in a bar with his friends Ollie and Jack.
The outcome of the proposal process for a social encounter may be affected by the following aspects:
1. Possible locations of the person himself at the target time slot, based on historical present-moment-to-target-slot location sequences pertaining to that individual, as recorded at the backend of the service,
2. Commercial content available from third parties (e.g. free coffee at all Starbucks, reduced beer in Duff's bar, discounted bowling at Joe's bowling place, etc.), in the proximity of the above locations, and
3. People who are predicted to be nearby the locations identified in the above steps.
Each of the recommended future states is associated with a location (often commercial), a list of people who could join the user in the given location (based on the present and anticipated future locations of members of the user's social network 113 as well as availability of these individuals at the target time slot) and location based commercial content available in the given location.
Using the map 800 type interface, the proposed social encounters can each be selected further scrutiny, for example, by double clicking on a recommended object 803-819. When selecting/highlighting any given future location from the map, a new view may be brought to the foreground of the application, representing a “future peak” to the given context. This view can entail a virtual environment of an area around the selected location that has been tailored according to the characteristics of the actual location that is recommended to the user (such graphical environments can be tailored by the third parties and stored on a server, for example).
Additionally, users may select an avatar 821 to represent them in interactions taking place through the encounter proposal process. The avatars 821 of the persons who could find themselves in that geo-social context or location are also displayed in the map 800. The commercial offering or advertisement discussed above associated with that particular location may be conveyed to the user through e.g. text or animated actions of characters associated with that location (e.g. a bartender or a salesman at coffee shop tells the user that there is free coffee available).
The user can opt for any given proposed social encounter and “make it happen”. In such a case, a message is sent to the other users who have been identified for that particular proposed social encounter. The message could replay the same visual scene as was originally seen by the user having chosen to attend that proposed social encounter. Additionally, the message could contain some personalized text from the user: e.g., “John and Mary, how about some beer tonight? The first drink is on me”. The recipients of the invite can accept or reject the invite and the status of the invite can be tracked by attendees of this future event using the social networking service 113, or another application that is run by the encounter processing platform 103.
Once in the location, upon accepting the invitation, or with the notification, the encounter processing platform 103 could provide the “attendees” with electronic coupons to actualize the offer that was provided to them through the service. The coupons could allow them to get price reductions on products or services that were included in the offer/ad.
The processes described herein for proposing a social encounter may be advantageously implemented via software, hardware, firmware or a combination of software and/or firmware and/or hardware. For example, the processes described herein, may be advantageously implemented via processor(s), Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc. Such exemplary hardware for performing the described functions is detailed below.
A bus 1310 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus 1310. One or more processors 1302 for processing information are coupled with the bus 1310.
A processor (or multiple processors) 1302 performs a set of operations on information as specified by computer program code related to propose a social encounter. The computer program code is a set of instructions or statements providing instructions for the operation of the processor and/or the computer system to perform specified functions. The code, for example, may be written in a computer programming language that is compiled into a native instruction set of the processor. The code may also be written directly using the native instruction set (e.g., machine language). The set of operations include bringing information in from the bus 1310 and placing information on the bus 1310. The set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND. Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by the processor 1302, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simply, computer instructions. Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum components, among others, alone or in combination.
Computer system 1300 also includes a memory 1304 coupled to bus 1310. The memory 1304, such as a random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for proposing a social encounter. Dynamic memory allows information stored therein to be changed by the computer system 1300. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. The memory 1304 is also used by the processor 1302 to store temporary values during execution of processor instructions. The computer system 1300 also includes a read only memory (ROM) 1306 or any other static storage device coupled to the bus 1310 for storing static information, including instructions, that is not changed by the computer system 1300. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to bus 1310 is a non-volatile (persistent) storage device 1308, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system 1300 is turned off or otherwise loses power.
Information, including instructions for proposing a social encounter, is provided to the bus 1310 for use by the processor from an external input device 1312, such as a keyboard containing alphanumeric keys operated by a human user, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 1300. Other external devices coupled to bus 1310, used primarily for interacting with humans, include a display device 1314, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, a plasma screen, or a printer for presenting text or images, and a pointing device 1316, such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display 1314 and issuing commands associated with graphical elements presented on the display 1314. In some embodiments, for example, in embodiments in which the computer system 1300 performs all functions automatically without human input, one or more of external input device 1312, display device 1314 and pointing device 1316 is omitted.
In the illustrated embodiment, special purpose hardware, such as an application specific integrated circuit (ASIC) 1320, is coupled to bus 1310. The special purpose hardware is configured to perform operations not performed by processor 1302 quickly enough for special purposes. Examples of ASICs include graphics accelerator cards for generating images for display 1314, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
Computer system 1300 also includes one or more instances of a communications interface 1370 coupled to bus 1310. Communication interface 1370 provides a one-way or two-way communication coupling to a variety of external devices that operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 1378 that is connected to a local network 1380 to which a variety of external devices with their own processors are connected. For example, communication interface 1370 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer. In some embodiments, communications interface 1370 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line. In some embodiments, a communication interface 1370 is a cable modem that converts signals on bus 1310 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable. As another example, communications interface 1370 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented. For wireless links, the communications interface 1370 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data. For example, in wireless handheld devices, such as mobile telephones like cell phones, the communications interface 1370 includes a radio band electromagnetic transmitter and receiver called a radio transceiver. In certain embodiments, the communications interface 1370 enables connection to the communication network 105 for proposing a social encounter to the UE 101.
The term “computer-readable medium” as used herein refers to any medium that participates in providing information to processor 1302, including instructions for execution. Such a medium may take many forms, including, but not limited to computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Non-transitory media, such as non-volatile media, include, for example, optical or magnetic disks, such as storage device 1308. Volatile media include, for example, dynamic memory 1304. Transmission media include, for example, twisted pair cables, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, an EEPROM, a flash memory, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media.
Logic encoded in one or more tangible media includes one or both of processor instructions on a computer-readable storage media and special purpose hardware, such as ASIC 1320.
Network link 1378 typically provides information communication using transmission media through one or more networks to other devices that use or process the information. For example, network link 1378 may provide a connection through local network 1380 to a host computer 1382 or to equipment 1384 operated by an Internet Service Provider (ISP). ISP equipment 1384 in turn provides data communication services through the public, world-wide packet-switching communication network of networks now commonly referred to as the Internet 1390.
A computer called a server host 1392 connected to the Internet hosts a process that provides a service in response to information received over the Internet. For example, server host 1392 hosts a process that provides information representing video data for presentation at display 1314. It is contemplated that the components of system 1300 can be deployed in various configurations within other computer systems, e.g., host 1382 and server 1392.
At least some embodiments of the invention are related to the use of computer system 1300 for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system 1300 in response to processor 1302 executing one or more sequences of one or more processor instructions contained in memory 1304. Such instructions, also called computer instructions, software and program code, may be read into memory 1304 from another computer-readable medium such as storage device 1308 or network link 1378. Execution of the sequences of instructions contained in memory 1304 causes processor 1302 to perform one or more of the method steps described herein. In alternative embodiments, hardware, such as ASIC 1320, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.
The signals transmitted over network link 1378 and other networks through communications interface 1370, carry information to and from computer system 1300. Computer system 1300 can send and receive information, including program code, through the networks 1380, 1390 among others, through network link 1378 and communications interface 1370. In an example using the Internet 1390, a server host 1392 transmits program code for a particular application, requested by a message sent from computer 1300, through Internet 1390, ISP equipment 1384, local network 1380 and communications interface 1370. The received code may be executed by processor 1302 as it is received, or may be stored in memory 1304 or in storage device 1308 or any other non-volatile storage for later execution, or both. In this manner, computer system 1300 may obtain application program code in the form of signals on a carrier wave.
Various forms of computer readable media may be involved in carrying one or more sequence of instructions or data or both to processor 1302 for execution. For example, instructions and data may initially be carried on a magnetic disk of a remote computer such as host 1382. The remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem. A modem local to the computer system 1300 receives the instructions and data on a telephone line and uses an infra-red transmitter to convert the instructions and data to a signal on an infra-red carrier wave serving as the network link 1378. An infrared detector serving as communications interface 1370 receives the instructions and data carried in the infrared signal and places information representing the instructions and data onto bus 1310. Bus 1310 carries the information to memory 1304 from which processor 1302 retrieves and executes the instructions using some of the data sent with the instructions. The instructions and data received in memory 1304 may optionally be stored on storage device 1308, either before or after execution by the processor 1302.
In one embodiment, the chip set or chip 1400 includes a communication mechanism such as a bus 1401 for passing information among the components of the chip set 1400. A processor 1403 has connectivity to the bus 1401 to execute instructions and process information stored in, for example, a memory 1405. The processor 1403 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1403 may include one or more microprocessors configured in tandem via the bus 1401 to enable independent execution of instructions, pipelining, and multithreading. The processor 1403 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1407, or one or more application-specific integrated circuits (ASIC) 1409. A DSP 1407 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor 1403. Similarly, an ASIC 1409 can be configured to performed specialized functions not easily performed by a more general purpose processor. Other specialized components to aid in performing the inventive functions described herein may include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
In one embodiment, the chip set or chip 1400 includes merely one or more processors and some software and/or firmware supporting and/or relating to and/or for the one or more processors.
The processor 1403 and accompanying components have connectivity to the memory 1405 via the bus 1401. The memory 1405 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to propose a social encounter. The memory 1405 also stores the data associated with or generated by the execution of the inventive steps.
Pertinent internal components of the telephone include a Main Control Unit (MCU) 1503, a Digital Signal Processor (DSP) 1505, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit. A main display unit 1507 provides a display to the user in support of various applications and mobile terminal functions that perform or support the steps of proposing a social encounter. The display 1507 includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (e.g., mobile telephone). Additionally, the display 1507 and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal. An audio function circuitry 1509 includes a microphone 1511 and microphone amplifier that amplifies the speech signal output from the microphone 1511. The amplified speech signal output from the microphone 1511 is fed to a coder/decoder (CODEC) 1513.
A radio section 1515 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna 1517. The power amplifier (PA) 1519 and the transmitter/modulation circuitry are operationally responsive to the MCU 1503, with an output from the PA 1519 coupled to the duplexer 1521 or circulator or antenna switch, as known in the art. The PA 1519 also couples to a battery interface and power control unit 1520.
In use, a user of mobile terminal 1501 speaks into the microphone 1511 and his or her voice along with any detected background noise is converted into an analog voltage. The analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC) 1523. The control unit 1503 routes the digital signal into the DSP 1505 for processing therein, such as speech encoding, channel encoding, encrypting, and interleaving. In one embodiment, the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite, and the like, or any combination thereof.
The encoded signals are then routed to an equalizer 1525 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion. After equalizing the bit stream, the modulator 1527 combines the signal with a RF signal generated in the RF interface 1529. The modulator 1527 generates a sine wave by way of frequency or phase modulation. In order to prepare the signal for transmission, an up-converter 1531 combines the sine wave output from the modulator 1527 with another sine wave generated by a synthesizer 1533 to achieve the desired frequency of transmission. The signal is then sent through a PA 1519 to increase the signal to an appropriate power level. In practical systems, the PA 1519 acts as a variable gain amplifier whose gain is controlled by the DSP 1505 from information received from a network base station. The signal is then filtered within the duplexer 1521 and optionally sent to an antenna coupler 1535 to match impedances to provide maximum power transfer. Finally, the signal is transmitted via antenna 1517 to a local base station. An automatic gain control (AGC) can be supplied to control the gain of the final stages of the receiver. The signals may be forwarded from there to a remote telephone which may be another cellular telephone, any other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
Voice signals transmitted to the mobile terminal 1501 are received via antenna 1517 and immediately amplified by a low noise amplifier (LNA) 1537. A down-converter 1539 lowers the carrier frequency while the demodulator 1541 strips away the RF leaving only a digital bit stream. The signal then goes through the equalizer 1525 and is processed by the DSP 1505. A Digital to Analog Converter (DAC) 1543 converts the signal and the resulting output is transmitted to the user through the speaker 1545, all under control of a Main Control Unit (MCU) 1503 which can be implemented as a Central Processing Unit (CPU) (not shown).
The MCU 1503 receives various signals including input signals from the keyboard 1547. The keyboard 1547 and/or the MCU 1503 in combination with other user input components (e.g., the microphone 1511) comprise a user interface circuitry for managing user input. The MCU 1503 runs a user interface software to facilitate user control of at least some functions of the mobile terminal 1501 to propose a social encounter. The MCU 1503 also delivers a display command and a switch command to the display 1507 and to the speech output switching controller, respectively. Further, the MCU 1503 exchanges information with the DSP 1505 and can access an optionally incorporated SIM card 1549 and a memory 1551. In addition, the MCU 1503 executes various control functions required of the terminal. The DSP 1505 may, depending upon the implementation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP 1505 determines the background noise level of the local environment from the signals detected by microphone 1511 and sets the gain of microphone 1511 to a level selected to compensate for the natural tendency of the user of the mobile terminal 1501.
The CODEC 1513 includes the ADC 1523 and DAC 1543. The memory 1551 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet. The software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art. The memory device 1551 may be, but not limited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flash memory storage, or any other non-volatile storage medium capable of storing digital data.
An optionally incorporated SIM card 1549 carries, for instance, important information, such as the cellular phone number, the carrier supplying service, subscription details, and security information. The SIM card 1549 serves primarily to identify the mobile terminal 1501 on a radio network. The card 1549 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile terminal settings.
While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.
This application claims the benefit of the earlier filing date under 35 U.S.C. §119(e) of U.S. Provisional Application Ser. No. 61/469,957 filed on Mar. 31, 2011, entitled “Method and Apparatus for Presenting Alternative Socio-Spatial States of a User,” the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61469957 | Mar 2011 | US |