US9270631B2 - Communicating via a virtual community using outside contact information - Google Patents
Communicating via a virtual community using outside contact information Download PDFInfo
- Publication number
- US9270631B2 US9270631B2 US14/153,671 US201414153671A US9270631B2 US 9270631 B2 US9270631 B2 US 9270631B2 US 201414153671 A US201414153671 A US 201414153671A US 9270631 B2 US9270631 B2 US 9270631B2
- Authority
- US
- United States
- Prior art keywords
- contact
- virtual community
- message
- contact information
- information
- 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.)
- Expired - Fee Related, expires
Links
- 238000004891 communication Methods 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 12
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000013550 pizza Nutrition 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- H04L51/32—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Definitions
- New virtual communities are frequently created. Becoming a member of a new virtual community generally requires a person to create a new identify for the community. The user may distribute the new identity to other members of the virtual community. Likewise, other members may distribute their identity for the virtual community to the user. Thus, the members of the virtual community may communicate with each other using the new identities created for the virtual community.
- FIG. 1 is a diagram of an overview of an example implementation described herein;
- FIG. 2 is a diagram of an example environment in which systems and/or methods described herein may be implemented
- FIG. 3 is a diagram of example components of a device that corresponds to one or more devices of FIG. 2 ;
- FIG. 4 is a flowchart of an example process for registering a user as a member of a virtual community
- FIG. 5 is a diagram of an example account data structure for an account related to the process shown in FIG. 4 ;
- FIG. 6 is a flowchart of an example process for determining contacts of the user that are members of the virtual community
- FIG. 7 is a diagram of an example account data structure storing contact information for contacts of the user related to the process shown in FIG. 6 ;
- FIG. 8 is a flowchart of an example process of sending a message via the virtual community.
- FIG. 9 is a diagram of an example implementation relating to the example process shown in FIG. 8 .
- Joining a new virtual network may be burdensome for a person.
- the person may also have to acquire new contact information related to a new identity for a friend in the virtual community to communicate in the virtual community.
- the friend's contact information in the virtual community may be one more pieces of contact information the person has to manage for the friend in addition to other kinds of contact information for the friend (e.g., a phone number, an email address, etc.). Implementations described herein may allow a person to join a virtual community and contact a friend via the virtual community using outside contact information used for contacting the friend outside of the virtual community instead of using contact information unique to the virtual community.
- FIG. 1 is a diagram of an overview of an example implementation 100 described herein.
- a first member of the virtual community may log into the communication application on user device A to generate a message.
- the first member may identify a recipient of the message using outside contact information that identifies contact information for communicating outside of the virtual community (e.g., a phone number, an email address, etc.).
- User device A may transmit the message using the communication application to a server device via the virtual community.
- the server device stores an account for each member of the virtual community.
- An account may identify outside contact information for a member. Accordingly, when the server device receives the message from user device A, the server device may identify an account for a second member associated with the outside contact information identified in the message. In other words, the server device may determine that a recipient of the message is the second member of the virtual community based on the outside contact information in the message matching the outside contact information in the second member's account.
- user device B executes the communication application for communicating via the virtual community.
- the second member may use user device B, or any other device with the communication application installed, to log into the virtual community.
- the server device may transmit the message from the first member to user device B for the second member.
- the first member of the virtual community may send a message to the second member of the virtual community using outside contact information.
- the first member may avoid having to manage contact information for the second member unique to the virtual community (e.g., a new username, a new phone number, etc.) and still use the virtual community to communicate with the second member.
- a person may use a virtual community to communicate with contacts of the person without having to exchange contact information unique to the virtual community.
- FIG. 2 is a diagram of an example environment 200 in which systems and/or methods described herein may be implemented. As shown in FIG. 2 , environment 200 may include user device 210 , server device 220 , and/or network 230 .
- User device 210 may include a device capable of receiving and providing information.
- user device 210 may include a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a camera, an audio recorder, a camcorder, etc.), or a similar device.
- user device 210 may include a communication interface that allows user device 210 to receive information from and/or transmit information to server device 220 and/or another device in environment 200 .
- user device 210 may have a communication application installed for accessing and communicating over a virtual community.
- Server device 220 may include one or more devices capable of processing and/or routing information.
- server device 220 may include a communication interface that allows server device 220 to receive information from and/or transmit information to other devices in environment 200 .
- server device 220 may manage a virtual community.
- Network 230 may include one or more wired and/or wireless networks.
- network 240 may include a cellular network, a public land mobile network (“PLMN”), a second generation (“2G”) network, a third generation (“3G”) network, a fourth generation (“4G”) network, a fifth generation (“5G”) network, a long term evolution (“LTE”) network, and/or a similar type of network.
- PLMN public land mobile network
- 2G second generation
- 3G third generation
- 4G fourth generation
- 5G fifth generation
- LTE long term evolution
- network 270 may include a local area network (“LAN”), a wide area network (“WAN”), a metropolitan area network (“MAN”), a telephone network (e.g., the Public Switched Telephone Network (“PSTN”)), an ad hoc network, an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
- LAN local area network
- WAN wide area network
- MAN metropolitan area network
- PSTN Public Switched Telephone Network
- the number of devices and/or networks shown in FIG. 2 is provided for explanatory purposes. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 2 . Furthermore, two or more devices shown in FIG. 2 may be implemented within a single device, or a single device shown in FIG. 2 may be implemented as multiple, distributed devices. Additionally, one or more of the devices of environment 200 may perform one or more functions described as being performed by another one or more devices of environment 200 . Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- FIG. 3 is a diagram of example components of a device 300 .
- Device 300 may correspond to user device 210 and/or server device 220 . Additionally, or alternatively, user device 210 and/or server device 220 may include one or more devices 300 and/or one or more components of device 300 .
- device 300 may include a bus 310 , a processor 320 , a memory 330 , an input component 340 , an output component 350 , and/or a communication interface 360 .
- Bus 310 may include a path that permits communication among the components of device 300 .
- Processor 320 may include a processor (e.g., a central processing unit, a graphics processing unit, an accelerated processing unit), a microprocessor, and/or another type of processing component (e.g., a field-programmable gate array (“FPGA”), an application-specific integrated circuit (“ASIC”), etc.) that interprets and/or executes instructions.
- Memory 330 may include a random access memory (“RAM”), a read only memory (“ROM”), and/or another type of dynamic or static storage device (e.g., a flash, magnetic, or optical memory) that stores information and/or instructions for use by processor 320 .
- RAM random access memory
- ROM read only memory
- static storage device e.g., a flash, magnetic, or optical memory
- Input component 340 may include a component that permits a user to input information to device 300 (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, etc.).
- Output component 350 may include a component that outputs information from device 300 (e.g., a display, a speaker, one or more light-emitting diodes (“LEDs”), etc.).
- a component that outputs information from device 300 e.g., a display, a speaker, one or more light-emitting diodes (“LEDs”), etc.
- Communication interface 360 may include a transceiver-like component, such as a transceiver and/or a separate receiver and transmitter that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections.
- communication interface 360 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (“RF”) interface, a universal serial bus (“USB”) interface, or the like.
- Device 300 may perform various operations described herein. Device 300 may perform these operations in response to processor 320 executing software instructions included in a computer-readable medium, such as memory 330 .
- a computer-readable medium is defined as a non-transitory memory device.
- a memory device includes memory space within a single storage device or memory space spread across multiple storage devices.
- Software instructions may be read into memory 330 from another computer-readable medium or from another device via communication interface 360 . When executed, software instructions stored in memory 330 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
- device 300 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3 .
- FIG. 4 is a flowchart of an example process 400 for registering a user as a member of a virtual community.
- one or more process blocks of FIG. 4 may be performed by server device 220 . Additionally, or alternatively, one or more process blocks of FIG. 4 may be performed by another device or a group of devices separate from or including server device 220 .
- process 400 may include creating an account (block 410 ).
- server device 220 may create the account for a virtual community.
- the virtual community may be operated and managed by a network operator.
- the network operator may control server device 220 .
- the network operator may be a mobile network operator, a wireless service provider, and/or a phone company.
- the virtual community may be operated by an operator separate from a network operator.
- the virtual community may be a social network of members that interact using a communication application.
- the communication application may be installed on user device 210 and/or may be a web based application executed by user device 210 .
- the virtual community may include multiple members each having an account.
- the account for each member may include contact information for the member.
- the members of the virtual community may communicate with each other via server device 220 using the communication application.
- a user may use user device 210 or another device to send a request to create the account to server device 220 .
- the user may be a subscriber of the network operator or non-subscriber of the network operator.
- a subscriber of the network operator may have a phone number (e.g., a mobile phone number) provided by the network operator for use outside of the virtual community, and a non-subscriber may not have a phone number provided by the network operator.
- Server device 220 may receive the request and create the account by generating an entry in a data structure for the account.
- the account may include an account identifier that identifies the account.
- server device 220 may generate the account identifier.
- the account may also include a username and password the user uses to log into the account. For example, the user may select a username and password, and input the username and the password into user device 210 .
- the username may be the same as a contact identifier (e.g., a phone number, an email address, etc.). Additionally, or alternatively, the username may be a string of characters input by the user into user device 210 .
- User device 210 may transmit the username and the password to server device 220 .
- Server device 220 may store the username and password in connection with the account in the data structure.
- server device 220 may create the account independent of a request from a user.
- the user may subscribe to a mobile operating network and have a phone number provided by the mobile operating network.
- the network operator may send a request to server device 220 to create the account for the user of the phone number, and server device 220 may create the account by generating an entry in the data structure.
- the network operator may also provide a username and password to the server device 220 for the account.
- the user may already have an account including a username and a password with the network operator. Accordingly, the same username and the same password may be used by server device 220 .
- the network operator may operate and/or control server device 220 and use server device 220 to create the account.
- Server device 220 may create multiple accounts for multiple members and may generate an entry in the data structure for each account.
- the data structure may be stored in a memory of server device 220 and/or in another device that may communicate with server device 220 .
- process 400 may include receiving contact information for the user (block 420 ).
- server device 220 may receive the contact information for the user.
- the user may use user device 210 to input the contact information.
- User device 210 may transmit the contact information to server device 220 and server device 220 may receive the contact information. Additionally, or alternatively, user device 210 may obtain the contact information from a memory in user device 210 and transmit the contact information to server device 220 .
- another device may provide the contact information for the user to server device 220 . For example, a network operator may provide contact information for a subscriber to server device 220 .
- the contact information may include a contact identifier used for contacting a person.
- the contact identifier may include a phone number, an email address, an instant message (IM) address, a username (e.g., a username for an Internet based application or service), and/or a facsimile (fax) machine number.
- the contact information may include multiple contact identifiers of the same kind (e.g., more than one phone number) and/or multiple kinds of contact identifiers (e.g., a phone number and an email address).
- the contact information may include multiple phone numbers (e.g., a cell phone number, a work phone number, a home phone number, etc.) and/or multiple email address (e.g., a personal email, a work email, etc.).
- the contact identifier may be a phone number issued to a subscriber by the network operator. For example, a subscriber may use the issued phone number as the contact identifier. Additionally, or alternatively, the contact identifier may be issued to the user independent of the network operator. For example, a non-subscriber may use a phone number issued by a different network operator as the contact identifier. Additionally, or alternatively, a subscriber and/or a non-subscriber may use an email address, an instant message (IM) address, a username (e.g., a username for an Internet based application or service), and/or a facsimile (fax) machine number as the contact identifier.
- IM instant message
- a username e.g., a username for an Internet based application or service
- fax facsimile
- Server device 220 may store the contact information in the data structure for the account.
- process 400 may include authenticating the contact information (block 430 ).
- server device 220 may authenticate the contact information.
- server device 220 may send a message to a contact identifier included in the contact information used for communicating outside of the virtual community.
- the message may include authentication information used to verify the user actually uses the contact information.
- the authentication information may include a password, a number, and/or an internet address.
- server device 220 may send a message (e.g., a short message service (SMS) message and/or a multimedia messaging service (MMS) message) to the mobile phone number.
- SMS short message service
- MMS multimedia messaging service
- a user may reply to the message to authenticate the mobile phone number.
- the message may include a password.
- the user may input the password from the message into user device 210 and transmit the authentication information to server device 220 .
- Server device 220 may authenticate the mobile phone number by checking that the password received from user device 210 matches the authentication information included in the message sent to the mobile phone number.
- a mobile phone number may be authenticated by a network operator that operates the virtual community without contacting the mobile phone number. For example, the network operator may have provided the mobile phone number to the user and automatically authenticate the mobile phone number as being associated with the user.
- server device 220 may call the phone number and provide the authentication information. For example, server device 220 may initiate an automated phone call to the phone number and leave an audio message and/or recording including the authentication information. The user may input the authentication information from the audio message or the recording into user device 210 and transmit the authentication information to server device 220 . Server device 220 may authenticate the phone number by checking that the authentication information received from user device 210 matches the authentication information included in the call to the phone number.
- server device 220 may send an email to the email address.
- a user may reply to the email to authenticate the email address.
- the email may include authentication information.
- the authentication information may be an Internet address or a link to a website that the user may visit to authenticate the email address.
- the authentication information may include a password.
- the user may input the password from the email into user device 210 and transmit the password to server device 220 .
- Server device 220 may authenticate the email address by checking that the password received from user device 210 matches the password included in the email sent to the email address.
- server device 220 may send a message to the IM address and/or the username using a corresponding application or service. For example, if the username is a username for an online social network, server device 220 may send the username a message using the online social network. A user may reply to the message to authenticate the IM address and/or the username. Additionally, or alternatively, the message may include authentication information. For example, the authentication information may be an Internet address or a link to a website that the user may visit to authenticate the IM address and/or the username. Additionally, or alternatively, the authentication information may include a password. The user may input the password from the message into user device 210 and transmit the password to server device 220 . Server device 220 may authenticate the IM address and/or the username by checking that the password received from user device 210 matches the password included in the message sent to the IM address and/or the username.
- server device 220 may send a fax including a password to the fax number.
- the user may input the password from the fax into user device 210 and transmit the password to server device 220 .
- Server device 220 may authenticate the fax by checking that the password received from user device 210 matches the password included in the fax sent to the fax number.
- Server device 220 may store the authenticated contact information in the data structure for the account.
- process 400 may include registering the user as a member of the virtual community (block 440 ).
- server device 220 may register the user as a member of the virtual community.
- server device 220 may add the user to a closed authentication group stored in the data structure. Additionally, or alternatively, server device 220 may add information to the account for the user indicating that the user is a member of the virtual community. A subscriber and/or a non-subscriber to the network operator may be registered as a member of the virtual community managed by the network operator.
- process 400 may include providing the communication application to user device 210 (block 450 ).
- server device 220 may provide the communication application to user device 210 .
- server device 220 may transmit the communication application to user device 210 over network 230 .
- server device 220 may provide the communication application to another device from which user device 210 may download the application.
- server device 220 may provide the communication application to a server hosting an online application store.
- User device 210 may receive and install the communication application from the online application store.
- the communication application may be a web application executed through an Internet browser.
- server device 220 may provide the communication application to user device 210 by user device 210 connecting to server device 220 through an internet browser.
- User device 210 may execute the communication application by accessing the communication application, via the Internet browser, on server device 220 .
- a member of the virtual community using the communication application may communicate with another member using the communication application. For example, a member may input a message using the communication application and user device 210 may transmit the message to server device 220 . Server device 220 may transmit the message to another member executing the communication application on a different user device 210 .
- Each member of the community may be associated with outside contact information.
- Outside contact information may be contact information used for communicating outside of the virtual community and/or the communication application (e.g., a phone number, an email address, a fax number, etc.).
- outside contact information may be used outside of and independent of the virtual community to communicate using other communication methods.
- each member may be associated with outside contact information received at block 420 and authenticated at block 430 .
- server device 220 may not provide the members with contact information unique to the communication application or the virtual community. Instead, members use the outside contact information to send and receive messages using the communication application rather than using contact information unique to the communication application.
- a first member may be associated with a home phone number (i.e., outside contact information).
- a second member may send the first member a message using the communication application by inputting the first member's home phone number into the communication application. The first member would receive the message on user device 210 executing the communication application, and not on the home phone.
- a member that is a subscriber of a network operator that controls server device 220 may use the communication application to send text messages (e.g., SMS messages and/or MMS messages) to a phone number not associated with a member of the virtual community.
- the subscriber may execute the communication application on a desktop computer and send a text message to a mobile phone number using the network operator's network.
- Server device 220 may cause a text message to be sent to a mobile phone associated with the mobile phone number using a standard text message application.
- the network operator may charge the subscriber for the text message according to a contract or text message plan the subscriber has with the network operator.
- a member that is a non-subscriber of a network operator that controls server device 220 may use the communication application to send text messages to a phone number not associated with a member of the virtual community.
- the network operator and/or server device 220 may charge the non-subscriber for the text messages sent using the network operator's network.
- providing the communication application may be performed before receiving the contact information for a user (block 420 ).
- the user may use the communication application on user device 210 to input the contact information and transmit the contact information to server device 220 .
- non-dependent blocks may be performed in parallel.
- FIG. 5 is a diagram of an example account data structure 500 for an account related to process 400 shown in FIG. 4 .
- Account data structure 500 may include an account ID field 510 , a username field 520 , a password field 530 , a contact identifier field 540 , and an authentication field 550 .
- Account ID field 510 may include an account identifier that identifies the account.
- account ID field 510 may include an account identifier “2170P6” as shown in FIG. 5 .
- Username field 520 may include a username the user uses to log into the virtual community.
- username field 520 may include the username “Username 101” as shown in FIG. 5 .
- Password field 530 may include a password the user uses to log into the virtual community.
- password field 530 may include the password “Password101” as shown in FIG. 5 .
- Contact identifier field 540 may include contact identifiers that the user associated with the account identified in account ID field 510 .
- the contact identifiers may be outside contact information used to communicate with the user outside of the virtual community.
- contact identifier field 540 may include a home phone number “312-555-7413” for the user, an email address “user@email.com” for the user, and a mobile phone number “701-555-8964” for the user, as shown in FIG. 5 .
- Authentication field 550 may include information indicating whether an associated contact identifier has been authenticated. Additionally, or alternatively, the authenticated contact identifiers may be used by other members of the virtual community to communicate with the user via the virtual community. For example, authentication field 550 may include information indicating a contact identifier is “Authenticated” or “Not Authenticated.”
- Account data structure 500 may include additional fields than those shown in FIG. 5 , fewer fields than those shown in FIG. 5 , and/or different fields than those shown in FIG. 5 .
- FIG. 6 is a flowchart of an example process 600 for determining contacts that are members of the virtual community.
- one or more process blocks of FIG. 6 may be performed by server device 220 . Additionally, or alternatively, one or more process blocks of FIG. 6 may be performed by another device or a group of devices separate from or including server device 220 .
- process 600 may include receiving contact information for contacts from user device 210 (block 610 ).
- server device 220 may receive the contact information for the contacts from user device 210 executing the communication application.
- User device 210 may store the contact information for the contacts in a memory using an address book, a contacts list, and/or another application that stores contact information for the contacts.
- the user may log into the virtual community using the communication application on user device 210 .
- the user may input a username and a password to the communication application.
- User device 210 may provide the username and password to server device 220 for authentication.
- Server device 220 may authenticate the user by checking that the input password matches a password stored in the data structure associated with the username. Once the user has been authenticated, server device 220 identify an account for the user and may receive contact information for contacts from user device 210 . Server device 220 may associate the contact information for the contacts with the user's account.
- server device 220 may send user device 210 , which is executing the communication application, a request for the contact information for the contacts.
- User device 210 may receive the request and obtain the contact information for the contacts from a memory in user device 210 .
- User device 210 may send the contact information for the contacts to server device 220 , and server device 220 may receive the contact information for the contacts.
- user device 210 may automatically send the contact information for the contacts to server device 220 .
- the communication application installed on user device 210 may obtain the contact information for the contacts each time user device 210 executes the communication application and logs into the virtual community.
- User device 210 may send the contact information for the contacts to server device 220 , and server device 220 may receive the contact information for the contacts. Additionally, or alternatively, user device 210 may periodically send the contact information for the contacts to server device 220 .
- a user associated with an account may use more than one user device 210 to transmit contact information for contacts to server device 220 .
- the contacts identified on a user's mobile phone may be different than the contacts identified on a user's desktop computer. Both the user's mobile phone and the user's desktop computer may transmit contact information for contacts to server device 220 .
- any user device 210 that executes the communication application may transmit contact information for contacts to server device 220 .
- server device 220 may receive contact information for contacts of a same user from more than one user device 210 .
- server device 220 may receive contact information for contacts of multiple users (e.g., members of the virtual community).
- user device 210 may encrypt the contact information before sending the contact information to server device 220 .
- user device 210 may use an encryption function to create an encryption value for the contact information and transmit the encryption value as the contact information.
- Server device 220 may receive the encrypted contact information from user device 210 .
- server device 220 may be unable to decrypt the encrypted contact information.
- a contact may include a person, a business, and/or an organization.
- the contact may be a person for which the user of user device 210 has contact information (e.g., a family member, a friend, a coworker, etc.).
- the contact may be a business or organization for which the user of user device 210 has contact information (e.g., a restaurant, a store, etc.).
- Contact information for a contact may include a contact name and a contact identifier used for contacting the contact. Each name may be associated with one or more contact identifiers.
- the contact name may be any string of characters (e.g., letters, numbers, symbols, etc.) of any length.
- the contact name may be “Husband,” “John Smith,” and/or “Pizza Place.”
- the contact name may be specified or selected by a user. For example, the user may choose a contact name when entering the contact information into an address book on user device 210 .
- the contact identifier may include a phone number, an email address, an IM address, a username (e.g., a username for an Internet based application or service), and/or a fax machine number for the contact.
- the contact information may include multiple contact identifiers of the same kind associated with a contact name (e.g., more than one phone number) and/or multiple kinds of contact identifiers (e.g., a phone number and an email address) associated with a contact name.
- the contact information may include multiple phone numbers (e.g., a cell phone number, a work phone number, a home phone number, etc.) and/or multiple email addresses (e.g., personal email, work email, etc.) associated with a contact name.
- process 600 may include storing the contact information for the contacts (block 620 ).
- server device 220 may store the contact information for the contacts.
- Server device 220 may store the contact information for the contacts of a user to be associated with the user's account. Accordingly, if the contact information for the contacts of the user is received from multiple user devices 210 associated with the user, all the contact information for contacts of the user may be associated with the user's account.
- Server device 220 may update the stored contact information each time server device 220 receives contact information for a new contact for user device 210 . Additionally, or alternatively, server device 220 may update the stored contact information if a name or a contact identifier for a stored contact changes.
- server device 220 may store contact information for contacts of multiple users (e.g., members of the virtual community).
- Server device 220 may store the contact information for the contacts in a memory of server device 220 and/or another in another device.
- server device 220 may receive encrypted contact information and store the encrypted contact information. In some implementations, server device 220 may not decrypt the encrypted contact information to reveal the contact information Accordingly, server device 220 may not have access to the actual content identifier and may only have access to the encrypted contact information.
- process 600 may include determining whether the contacts are members of the virtual community (block 630 ).
- server device 220 may determine whether the contacts are members of the virtual community.
- Server device 220 may compare the contact identifiers for the contacts received from user device 210 with contact identifiers for members of the virtual community stored in the data structure. If a contact identifier (e.g., a phone number, an email address, etc.) for a contact from user device 210 matches a contact identifier for a member of the virtual community stored in the data structure, server device 220 may determine that the contact is a member of the virtual community. In some implementations, server device 220 may determine whether each contact of the user is a member of the virtual community. Additionally, or alternatively, server device 220 may compare encrypted values for the contact identifiers instead of comparing the actual contact identifiers.
- a contact identifier e.g., a phone number, an email address, etc.
- Server device 220 may determine whether contacts are members when new contact information is received from user device 210 . Additionally, or alternatively, server device 220 may determine whether a contact is a member when a new member is registered in the virtual community. For example, server device 220 may determine that a contact is not a member of the virtual community at a time the contact information for the contact is received from user device 210 . Later, a member having a contact identifier included in the contact information for the contact may register in the virtual community. Accordingly, the contact of the user may be determined to be a member once the contact registers as a member in the virtual community.
- process 600 may include notifying user device 210 of contacts that are members of the virtual community (block 640 ).
- server device 220 may notify user device 210 of contacts that are members.
- Server device 220 may notify user device 210 by sending a message to the communication application on user device 210 identifying which contacts are members of the virtual community.
- the communication application may display the names of contacts on user device 210 to inform the user of user device 210 which contacts are members of the virtual community. Accordingly, the user may be informed which contacts can be sent a message using the communication application.
- the message sent by server device 220 may include a contact name and/or a contact identifier(s) for each contact that is determined to be a member.
- the contact name included in the message may be the contact name received from user device 210 at block 610 .
- the contact identifier(s) for the contact included in the message may be the contact identifier(s) received from user device 210 at block 610 that match the contact identifier(s) for the member stored in the data structure. For example, if a contact is associated with a phone number and an email address, but only the phone number matches a content identifier for a member, the phone number may be provided in the notification from server 220 and not the email address.
- the communication application on user device 210 may only receive contact identifiers associated with members, and the communication application may use the contact identifiers in the message when sending messages to members.
- the communication application may cause user device 210 to display the contact names, included in the contact information received at block 610 , based on receiving the notification from server device 220 . Accordingly, a user may be informed of a member of the virtual community using the contact name in the user's address book and/or a contact list stored on user device 210 . For example, a first user may have a contact with a name “Husband.” A second user may have a contact with a name “John Smith.” However, “Husband” and “John Smith” may be the same person and have the same contact identifier (e.g., a same phone number).
- the first user may send a message to the member by executing the communication application on user device 210 to send a message to the contact “Husband.”
- the second user may send a message to the same member by executing the communication application on user device 210 to send a message to the contact “John Smith.”
- the first user and the second user do not need a same contact name for a contact to send a message to the same member.
- server device 220 may notify user device 210 of contacts that are members independent of the user device 210 from which the contact information was obtained.
- a user may execute the communication application on a phone and a desktop computer.
- the phone may store contact information for a contact for which the desktop computer does not store contact information.
- the desktop computer may be notified that the contact from the phone is a member.
- server device 220 may send the desktop computer a notification including a name of the contact and/or a contact identifier for the contact.
- the desktop computer may store the contact name and/or the contact identifier. Accordingly, a user may use the desktop computer to send a message to the contact from the phone using the communication application executed by the desktop computer.
- FIG. 7 is a diagram of an example account data structure 700 storing contact information for contacts of the user related to the process shown in FIG. 6 .
- Account data structure 700 may include an account ID field 710 , a contact name field 720 , and/or a contact identifier field 730 .
- Account ID field 710 may include an account identifier that identifies the account.
- account ID field 710 may include an account identifier “2170P6” as shown in FIG. 7 .
- Contact name field 720 may include a contact name for a contact.
- contact name field 720 may include the contact name “Husband.”
- Contact identifier field 730 may include a contact identifier for the contact.
- contact identifier field 730 may include a phone number “702-555-7697” and an email address “John@email.com” for a contact.
- Contact identifier field 730 may be associated with contact name field 720 , and each contact name may be associated with one or more contact identifiers.
- Account data structure 700 may include additional fields than those shown in FIG. 7 , fewer fields than those shown in FIG. 7 , and/or different fields than those shown in FIG. 7 . In some implementations, account data structure 700 may be added to account data structure 500 shown in FIG. 5 .
- FIG. 8 is a flowchart of an example process 800 for sending a message via the virtual community.
- one or more process blocks of FIG. 8 may be performed by server device 220 . Additionally, or alternatively, one or more process blocks of FIG. 8 may be performed by another device or a group of devices separate from or including server device 220 .
- process 800 may include receiving a message from user device 210 identifying a recipient using outside contact information (block 810 ).
- server device 220 may receive the message from user device 210 identifying the outside contact information.
- a user may execute the communication application on user device 210 and log into the virtual community as a member by inputting a username and a password associated with the member's account.
- a user may provide input to the communication application to create a message.
- a user may use user device 210 to input content for the message using the communication application.
- the content may include any kind of data.
- the content may include text, a file, and/or multimedia content.
- a user of user device 210 may identify a recipient of the message by inputting contact information for a contact. For example, the user may input contact information by typing the contact information (e.g., a contact name and/or a contact identifier) into user device 210 . Additionally, or alternatively, the communication application, via user device 210 , may provide contact information for contacts of the user, that are members of the virtual community, from which to select. In other words, contact information for contacts that are not members of the virtual community may not be presented to the user to choose from as a recipient of the message. Thus, the user may input the contact information by selecting contact information presented to the use by the communication application.
- the contact information e.g., a contact name and/or a contact identifier
- the user may input a contact name as the contact information.
- the user may select a contact name (e.g., “Husband”) without selecting a contact identifier for “Husband.”
- the user may select a contact identifier as the contact information.
- the user may select a contact identifier (e.g., a phone number, an email address, etc.) without selecting a contact name.
- the user may input and/or select a contact name and a contact identifier as the contact information.
- the communication application may create the message.
- the message may include the content and the contact information input by the user.
- the message may include a name of a contact and/or a contact identifier(s) for a contact. Additionally, or alternatively, the message may include information identifying the user of user device 210 (e.g., an account identifier, a contact identifier, etc.).
- User device 210 may provide the message created by the communication application to server device 220 and server device 220 may receive the message.
- Server device 220 may store the message in a memory of server device 220 and/or another device.
- process 800 may include determining a member of the virtual community based on the outside contact information identified in the message (block 820 ).
- server device 220 may determine the member based on the outside contact information identified in the message.
- the message received by server device 220 may include a contact name and information identifying a user of user device 210 . Based on the information identifying the user (e.g., an account identifier), server device 220 may identify an account. Server device 220 may search the contact information, for the contacts associated with the account, for the contact name. Server device 220 may obtain a contact identifier associated with the name from the contact information for the contacts associated with the account. Accordingly, server device 220 may identify a member associated with the contact identifier by searching the data structure. For example, the message may include “Husband” as the contact name. Server device 220 may search the contact information for contacts associated with the user's account and identify a phone number for Husband. Server device 220 may use the phone number to identify a member of the virtual community registered using the phone number.
- server device 220 may identify an account. Server device 220 may search the contact information, for the contacts associated with the account, for the contact name. Server device 220 may obtain a contact identifier associated with the name from the
- the message received by server device 220 may include a contact identifier for the contact. Accordingly, server device 220 may identify a member associated with the contact identifier by searching the data structure.
- process 800 may include transmitting the message to the member (block 830 ).
- server device 200 may transmit the message to the member.
- the member may access the message from user device 210 by executing the communication application on user device 210 .
- the member may log into the virtual community using the communication application on user device 210 .
- the member may input a username and a password into the communication application.
- User device 210 may provide the username and password to server device 220 for authentication.
- Server device 220 may authenticate the member by checking that the input password matches a password stored in the data structure associated with the username. Once the member has been authenticated, server device 200 may provide the message to the communication application on user device 210 .
- server device 220 may transmit the message to the member's user device 210 in real time. Additionally, or alternatively, if the member is not executing the communication application on user device 210 when the message was received at block 810 , server device 220 may provide the message to the member's user device 210 upon the member logging into the virtual community. Additionally, or alternatively, server device 220 may send or push a notification to the member's user device 210 indicating there is a message for the member.
- the user may send a message to the member using the communication application by identifying outside contact information and without having to identify contact information unique to the communication application or the virtual community.
- Server device 220 may store the message until the message has been sent to the member and/or for a predetermined time after the message has been sent to the recipient. For example, server device 220 may store messages received from a member and transmitted to the member so that the member may access these messages or conversations on multiple user devices 210 . In other words, server device 220 may provide messages to the communication application on any user device 210 a member uses to access the virtual community. For example, assume a member exchanges messages via the virtual community on a phone. Later, if the member logs into the virtual community using a computer, server device 220 may transmit the stored messages to the computer so that the member can access past conversations on any device.
- FIG. 9 is a diagram of an example implementation 900 relating to process 800 shown in FIG. 8 .
- a user may send a text message to a member of the virtual community via the virtual community by selecting an outside contact name.
- a user is registered as a member in a virtual community.
- a server device stores an account for the user in the virtual community including outside contact information for contacts obtained from devices used by the user (e.g., a contact list from a phone, a computer, and/or a tablet). Also, assume the server device has determined which contacts are members of the virtual community.
- a user device 910 executes a communication application and allows a user to generate a message.
- the server device may send contact information to user device 910 for contacts of the user that are members of the virtual community.
- the communication application may prompt the user to identify a recipient of the message and to enter content for the message. For example, the user may enter “Thanks for picking up the kids” as the content for the message
- the communication application may cause user device 910 to display a list of contact names from which the user can select.
- the contact names are names obtained from address books, contact lists, or the like on user devices used by the user.
- the list may distinguish between contacts that are members and contacts that are not members. For example, as shown in FIG. 9 , contacts that are members may be displayed in a different color and/or font than contacts that are not members. Additionally, or alternatively, the list of contacts may only include members and not include non-members.
- a user may select a contact name from among the members of the virtual community (e.g., “Husband”) as a recipient of the message.
- User device 910 may send the message to the server device with the contact name “Husband” identified as the recipient. Accordingly, the user can use outside contact information to select a recipient of the message instead of having to identify contact information unique to the virtual community.
- the server device may receive the message and search the stored outside contact information for contacts associated with the user's account, and identify a phone number associated with the contact “Husband.” Additionally, or alternatively, the message may include the phone number associated with “Husband” if the phone number was included in the contact information received by user device 910 from the server device. Accordingly, the server device may determine a member associated with the phone number and transmit the message to a user device 920 associated with the member via the virtual community.
- the user may transmit a message to a member of the virtual community using outside contact information (e.g., a contact name “Husband”) rather than using contact information for the member unique to the virtual community.
- outside contact information e.g., a contact name “Husband”
- Implementations described herein may allow a person to join a virtual community and contact friends in the virtual community using outside contact information instead of using contact information unique to the virtual community.
- component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
- satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, etc.
- the user interfaces may be customizable by a user or a device. Additionally, or alternatively, the user interfaces may be pre-configured to a standard configuration, a specific configuration based on a type of device on which the user interfaces are displayed, or a set of configurations based on capabilities and/or specifications associated with a device on which the user interfaces are displayed.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/153,671 US9270631B2 (en) | 2014-01-13 | 2014-01-13 | Communicating via a virtual community using outside contact information |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/153,671 US9270631B2 (en) | 2014-01-13 | 2014-01-13 | Communicating via a virtual community using outside contact information |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20150200904A1 US20150200904A1 (en) | 2015-07-16 |
| US9270631B2 true US9270631B2 (en) | 2016-02-23 |
Family
ID=53522332
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/153,671 Expired - Fee Related US9270631B2 (en) | 2014-01-13 | 2014-01-13 | Communicating via a virtual community using outside contact information |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US9270631B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9756549B2 (en) | 2014-03-14 | 2017-09-05 | goTenna Inc. | System and method for digital communication between computing devices |
| US10609094B1 (en) * | 2016-10-05 | 2020-03-31 | Securus Technologies, Inc. | Controlled-environment facility resident contact tools for intelligent controlled-environment facility resident communication and/or media device interfaces |
| CN109151744B (en) * | 2018-07-13 | 2021-08-27 | 深圳市优克联新技术有限公司 | Communication method, communication device, computer device and computer readable storage medium |
Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060067502A1 (en) * | 2004-06-15 | 2006-03-30 | Orange Personal Communication Services Limited | Provision of group services in a telecommunications network |
| US20060153346A1 (en) * | 2005-01-11 | 2006-07-13 | Metro Enterprises, Inc. | On-line authentication registration system |
| US20060224675A1 (en) * | 2005-03-30 | 2006-10-05 | Fox Kevin D | Methods and systems for providing current email addresses and contact information for members within a social network |
| US20070010265A1 (en) * | 2005-07-05 | 2007-01-11 | Irvin Henderson | Enabling text messaging between a member and non-member of a community based on a common short code |
| US20090100529A1 (en) * | 2007-10-11 | 2009-04-16 | Noam Livnat | Device, system, and method of file-utilization management |
| US20090215476A1 (en) * | 2008-02-27 | 2009-08-27 | Research In Motion Limited | System and method for enabling instant messages to be exchanged between mobile devices |
| US20090327484A1 (en) * | 2008-06-27 | 2009-12-31 | Industrial Technology Research Institute | System and method for establishing personal social network, trusty network and social networking system |
| US20100088753A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Identity and authentication system using aliases |
| US20100128855A1 (en) * | 2008-11-21 | 2010-05-27 | Demo Mark D | Method and apparatus for a messaging system to enable two or more individuals to communicate using a text messaging system and a conventional telephone |
| US20110270926A1 (en) * | 2010-04-28 | 2011-11-03 | John Boyd | Computer-based Methods and Systems for Arranging Meetings Between Users and Methods and Systems for Verifying Background Information of Users |
| US8175522B1 (en) * | 2011-07-18 | 2012-05-08 | Google Inc. | Sending messages from a computing device |
| US20120303652A1 (en) * | 2011-05-25 | 2012-11-29 | Erick Tseng | Synchronous Display of Personal and Contact-Shared Contact Information |
| US20130159443A1 (en) * | 2011-07-21 | 2013-06-20 | Parlant Technology, Inc. | System and method for providing customizable communications |
| US20130311769A1 (en) * | 2010-10-04 | 2013-11-21 | Electronic Shipping Solutions Ltd | Public key encryption of access credentials and content data contained in a message |
| US20130318347A1 (en) * | 2010-10-08 | 2013-11-28 | Brian Lee Moffat | Private data sharing system |
| US20140033327A1 (en) * | 2012-07-26 | 2014-01-30 | Darren Conte | Siftsort |
-
2014
- 2014-01-13 US US14/153,671 patent/US9270631B2/en not_active Expired - Fee Related
Patent Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060067502A1 (en) * | 2004-06-15 | 2006-03-30 | Orange Personal Communication Services Limited | Provision of group services in a telecommunications network |
| US20060153346A1 (en) * | 2005-01-11 | 2006-07-13 | Metro Enterprises, Inc. | On-line authentication registration system |
| US20060224675A1 (en) * | 2005-03-30 | 2006-10-05 | Fox Kevin D | Methods and systems for providing current email addresses and contact information for members within a social network |
| US20070010265A1 (en) * | 2005-07-05 | 2007-01-11 | Irvin Henderson | Enabling text messaging between a member and non-member of a community based on a common short code |
| US20090100529A1 (en) * | 2007-10-11 | 2009-04-16 | Noam Livnat | Device, system, and method of file-utilization management |
| US20090215476A1 (en) * | 2008-02-27 | 2009-08-27 | Research In Motion Limited | System and method for enabling instant messages to be exchanged between mobile devices |
| US20090327484A1 (en) * | 2008-06-27 | 2009-12-31 | Industrial Technology Research Institute | System and method for establishing personal social network, trusty network and social networking system |
| US20100088753A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Identity and authentication system using aliases |
| US20100128855A1 (en) * | 2008-11-21 | 2010-05-27 | Demo Mark D | Method and apparatus for a messaging system to enable two or more individuals to communicate using a text messaging system and a conventional telephone |
| US20110270926A1 (en) * | 2010-04-28 | 2011-11-03 | John Boyd | Computer-based Methods and Systems for Arranging Meetings Between Users and Methods and Systems for Verifying Background Information of Users |
| US20130311769A1 (en) * | 2010-10-04 | 2013-11-21 | Electronic Shipping Solutions Ltd | Public key encryption of access credentials and content data contained in a message |
| US20130318347A1 (en) * | 2010-10-08 | 2013-11-28 | Brian Lee Moffat | Private data sharing system |
| US20120303652A1 (en) * | 2011-05-25 | 2012-11-29 | Erick Tseng | Synchronous Display of Personal and Contact-Shared Contact Information |
| US8175522B1 (en) * | 2011-07-18 | 2012-05-08 | Google Inc. | Sending messages from a computing device |
| US20130159443A1 (en) * | 2011-07-21 | 2013-06-20 | Parlant Technology, Inc. | System and method for providing customizable communications |
| US20140033327A1 (en) * | 2012-07-26 | 2014-01-30 | Darren Conte | Siftsort |
Non-Patent Citations (1)
| Title |
|---|
| Wikipedia, "Instant Messaging", http://en.wikipedia.org/wiki/Instant-messaging#Clients, Dec. 11, 2013, 10 pages. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150200904A1 (en) | 2015-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102396947B1 (en) | Methods and systems for processing temporary content messages | |
| US11595327B2 (en) | Method, apparatus, and computer program product for associating an identifier with one or more message communications within a group-based communication system | |
| US10063547B2 (en) | Authorization authentication method and apparatus | |
| US11539645B2 (en) | Cloud-based spam detection | |
| KR101970123B1 (en) | Dual channel identity authentication | |
| US9633203B2 (en) | Spam notification device | |
| WO2016153824A1 (en) | Method and system for providing private chat within a group chat | |
| US20230362120A1 (en) | System and methods for integrating social network information | |
| JP2022130673A (en) | Methods and apparatuses for managing external approval provisioning and external messaging communication requests in group-based communication system | |
| US9137327B2 (en) | Dynamic consent engine | |
| CN104092596B (en) | A kind of management method, Apparatus and system of music groups of users | |
| US11652807B2 (en) | Device validation apparatus and protocol for a group-based communication system | |
| US10547577B2 (en) | Techniques for templated messages | |
| US10194010B1 (en) | Techniques to manage contact records | |
| US9729483B2 (en) | Anonymous calling and/or texting via content provider web sites and applications | |
| US9270631B2 (en) | Communicating via a virtual community using outside contact information | |
| CN114828000A (en) | Login method, device and computer readable storage medium | |
| US9658750B2 (en) | Private messaging via content provider web sites and applications | |
| KR101379711B1 (en) | Method for file encryption and decryption using telephone number | |
| US9686285B2 (en) | Securely transmitting authentication information | |
| US20170223018A1 (en) | Selectively permitting a receiver device to access a message based on authenticating the receiver device | |
| KR20160086803A (en) | Checking Method for Information about Client's Mobile Phone Number, Information Providing Server, Client Managing Server, and Telecommunications Company Server Used Therein | |
| US11481462B2 (en) | System and method for generating a content network | |
| CN115883634A (en) | Conversation group migration method, device, computer equipment and storage medium | |
| JP5836321B2 (en) | Information display device and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: CELLCO PARTNERSHIP D/B/A VERIZON WIRELESS, NEW JER Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KHANNA, RADHIKA;THARSHANAN, MAHENDRA;REEL/FRAME:031953/0601 Effective date: 20140113 |
|
| ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
| ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240223 |