Supporting communication among endpoints in a geographical area

In one embodiment, a method includes receiving a request message from a requesting endpoint, where the request message requests a communication session corresponding to an area. An area-based group comprising one or more endpoints associated with the area is identified. The area-based group allows the endpoints to communicate with each other in the communication session. The requesting endpoint is added to the area-based group to allow the requesting endpoint to communicate with the one or more endpoints in the communication session.

TECHNICAL FIELD

The present disclosure relates generally to communication networks.

BACKGROUND

Endpoints may be placed into groups that allow communication among the endpoints. For example, endpoints may be placed into groups for conference calls, chat rooms, or instant messaging (IM) sessions. The groups may allow the endpoints to communicate via voice, text, or instant messages. In certain circumstances, however, the groups do not satisfactorily organize the endpoints.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

In one embodiment, a method includes receiving a request message from a requesting endpoint, where the request message requests a communication session corresponding to an area. An area-based group comprising one or more endpoints associated with the area is identified. The area-based group allows the endpoints to communicate with each other in the communication session. The requesting endpoint is added to the area-based group to allow the requesting endpoint to communicate with the one or more endpoints in the communication session.

Description

FIG. 1illustrates an example system10for supporting communication among endpoints24in an area28. According to the embodiment, system10includes group manager20, endpoints24, and a network26coupled as shown.

In the embodiment, a requesting endpoint24amay request from group manager20a communication session with an area-based group that includes endpoints24bin an area28. The area-based group may be selected for requesting endpoint24ain any suitable manner. For example, the area-based group may be selected according to the location of requesting endpoint24a. As another example, requesting endpoint24amay request the area-based group associated with a landmark30such as a highway, restaurant, or theater.

According to the illustrated embodiment, system10provides communication sessions to endpoints24. A communication session refers to an active communication of information between endpoints24. Information may refer to voice, data, text, audio, video, multimedia, control, signaling, and/or other information. Information may be communicated via telephone call, user messages, and/or other conveyance. Examples of user messages include instant messages, email messages, web log messages, multimedia messages, text messages (such as Short Message Service (SMS) messages), and voicemail messages.

System10may utilize communication protocols and technologies to provide the communication sessions. Examples of communication protocols and technologies include those set by the Institute of Electrical and Electronics Engineers, Inc. (IEEE) 802.xx standards, the International Telecommunications Union (ITU-T) standards, the European Telecommunications Standards Institute (ETSI) standards, the Internet Engineering Task Force (IETF) standards, and/or other standards.

Endpoint24represents any suitable device operable to communicate with system10. Examples of endpoints24include telephones (such as cellular telephones), personal digital assistants, computers, mobile handsets, or any other device operable to communicate with system10.

In the illustrated embodiment, endpoints24include requesting endpoint24aand endpoints24bof an area-based group. Requesting endpoint24asends a request message requesting a communication session with the group to group manager20. Requesting endpoint24amay be inside of area28or outside of area28.

Endpoints24bof an area-based group are associated with area24. Endpoints24bmay be inside of area28or may have some other connection with area28. For example, an endpoint24bmay be moving towards or away from area28. The group may be preconfigured or dynamic. For example, the group may have generally the same endpoints24or may have different endpoints24as endpoints24move in and out of area28. An endpoint24cthat is not a member of the area-based group does not participate in communication sessions of the group.

Area28represents any suitable geographical area with any suitable size or shape. An area28may be designated in a suitable manner. Area28may be designated by a location, for example, geographical coordinates, an address (includes a street number, street name, city, state, and/or postal code), and/or other location. Area28may be designated by a landmark30, for example, a business (such as a restaurant, theater, or store), a street (such as a highway), a building (such as a government building or historical site), and/or other landmark.

Area28may be given by a center point or line (such as a location or landmark30) and a distance away from the center point or line. For example, area28may be given by “the United States Capitol and a one mile radius away from the Capitol.” An area-based group identifier uniquely identifies an area-based group, and may comprise a location or landmark. For example, “the United States Capitol group” may identify the group in the previous example.

Area-based groups allow requesting endpoint24ato communicate with endpoints24bin a particular area28. For example, requesting endpoint24amay communicate with endpoints24bin area28designated by a highway to ask about traffic conditions on the highway. As another example, requesting endpoint24amay communicate with endpoints24bat a restaurant to ask about the waiting time for the restaurant. As another example, requesting endpoint24amay communicate with endpoints24bat a theater to ask about a movie showing at the theater.

Group manager20manages area-based groups, identifies a group requested by requesting endpoint24a, and allows requesting endpoint24ato join the requested group. Group manager20is described in more detail with reference toFIG. 2.

Network26allows components such as endpoint24to communicate with other endpoints24. A communication network may comprise all or a portion of one or more of the following: a mobile communication network (for example, a cellular network), a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network such as the Internet, a wireline or wireless network, an enterprise intranet, and/or other suitable communication link.

A component of system10may include an interface, logic, memory, and/or other suitable element. An interface receives input, sends output, processes the input and/or output, and/or performs other suitable operation. An interface may comprise hardware and/or software.

Logic performs the operations of the component, for example, executes instructions to generate output from input. Logic may include hardware, software, and/or other logic. Certain logic, such as a processor, may manage the operation of a component. Examples of a processor include one or more computers, one or more microprocessors, one or more applications, and/or other logic.

A memory stores information. A memory may comprise computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), database and/or network storage (for example, a server) and/or other computer-readable medium.

Modifications, additions, or omissions may be made to system10without departing from the scope of the invention. The components of system10may be integrated or separated. Moreover, the operations of system10may be performed by more, fewer, or other components. For example, the operations of group manager20may be performed by more than one component. Additionally, operations of system10may be performed using any suitable logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.

FIG. 2illustrates one embodiment of group manager20that may be used with system10ofFIG. 1. Group manager20manages area-based groups, identifies a group requested by requesting endpoint24a, and allows requesting endpoint24ato join the requested group.

In the illustrated embodiment, group manager20includes an interface50, logic52, and a memory54coupled as shown. Logic52includes one or more processors60, a location identifier64, a group controller68, and a call manager72coupled as shown. Memory54stores area-based group data76.

Location identifier64identifies the location of requesting endpoint24a. The location may be identified in any suitable manner. As an example, the location may be identified by a Global Positioning System (GPS). As another example, the location may be identified according to a base station used by requesting endpoint24a. As another example, the location may be identified subscriber information (such as address) of requesting endpoint24a.

Group controller68manages area-based groups. The operation of group controller68depends on the type of communication. For example, group controller68may operate as a chat room controller for a chat room, a message depository for a messaging system, or a conference call controller for a conference call.

Group controller68also identifies a group requested by requesting endpoint24a. The group may be identified in any suitable manner. As an example, the request message includes a group identifier (such as a location and/or landmark) that group controller68uses to identify the area-based group. As another example, location identifier64determines the location of the requesting endpoint, and group controller68identifies the area-based group associated with the location.

Group controller68determines whether requesting endpoint24acan join the requested group. The determination may be made according to policies of the group. The policies may designate that only certain endpoints24(for example, only endpoints24in area28), only a certain number (for example, no more than ten endpoints24), or only certain types of endpoints (for example, only cell phones) may join. Group controller68notifies call manager72that requesting endpoint24acan join the group.

Call manager72adds requesting endpoint24ato join the requested group. Requesting endpoint24amay be added in any suitable manner. As an example, endpoint24amay be added to access messages of the communication session. As another example, endpoint24amay be added to access a conference call of the communication session.

Modifications, additions, or omissions may be made to group manager20without departing from the scope of the invention. The components of group manager20may be integrated or separated. Moreover, the operations of group manager20may be performed by more, fewer, or other components. For example, the operations of location identifier64and group controller68may be performed by one component, or the operations of group controller68may be performed by more than one component. Additionally, operations of group manager20may be performed using any suitable logic.

FIG. 3illustrates one embodiment of a method for supporting communication among endpoints24in area28. The method may be performed by system10ofFIG. 1. The method begins at step110, where group manager20exchanges requests and responses with endpoints24bin area28. Endpoints24brequest to join the area-based group corresponding to area28, and group manager20responds to the requests. Endpoints24bare joined to the group at step114.

Requesting endpoint24asends a request message to join an area-based group to group manager20at step118. The requested group is identified at step122. For example, location identifier64identifies the location of requesting endpoint24a, and group controller68identifies the group associated with the location. Requesting endpoint24ais added to the group at step124. For example, call manager72adds requesting endpoint24ato the group. After adding the requesting endpoint24a, the method ends.

Modifications, additions, or omissions may be made to the method without departing from the scope of the invention. The method may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. For example, location identifier64may detect that endpoint24ahas entered area28. Group manager20may then send an invitation to endpoint24ainviting endpoint24ato join the group. Endpoint24amay then send the request message to join the group in response to the invitation.

Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that a requesting endpoint requests a communication session with an area-based group that includes endpoints in a particular area. Accordingly, the endpoint may readily communicate with other endpoints that are in the area.

Another technical advantage of one embodiment may be that the area-based group may be selected for the requesting endpoint in any suitable manner. For example, the area-based group may be selected according to the location of the requesting endpoint. As another example, the requesting endpoint may request the area-based group associated with a landmark such as a highway, restaurant, or theater.

The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend.