METHOD AND APPARATUS FOR SHARING USER INFORMATION IN A GROUP COMMUNICATION NETWORK FIELD 5 The present invention relates to point-to-point or point-to-multipoint communications systems. More specifically, the present invention relates to methods and apparatus for detecting, sharing, and/or announcing user presence and/or location information in a group wireless communication network. BACKGROUND 0 A class of wireless services intended for quick, efficient, one-to-one or one-to-many (group) communication has existed in various forms for many years. In general, these services have been half duplex, where a user presses a "push-to-talk" (PTT) button on a phone/radio to initiate a group communication. If granted the floor, the talker then generally speaks for a few seconds. After the talker releases the PTT button, other users who are available may request the floor. These services 5 have traditionally been used in applications where one person needs to communicate with a group of people, such as field service personnel or taxi drivers, generally known as group communication services. There is a need, therefore, for mechanisms that allow a user or a group of users to efficiently detect or announce information, such as user presence and/or location information, to other user or D group of users. SUMMARY According to a first aspect of the present invention there is provided a method for sharing user information in a wireless communication network, the method including: sending an alert from an originator to a group communication server , the alert including !5 information about the originator and requesting information about a target; transmitting an alert from the group communication server to the target; registering at the group communication server that no response was received from the target; receiving information at the originator from the group communication server containing information about the target in response to the alert ; and 0 updating information in the originator about the target, based on the received information. According to a second aspect of the present invention there is provided a computer-readable medium including at least one instruction, which, when executed by a machine, causes the machine to perform operations, the instructions including: a set of the instructions to send an alert from an originator to a group communication server, the 5 alert including information about the originator and requesting information about the target; a set of the instructions to transmit an alert from the server to the target; 2 a set of the instructions to register at the group communication server that no response was received from the target; a set of the instructions to receive information at the originator from the group communication server containing information about the target in response to the alert, and 5 a set of the instructions to update information in the originator about the target, based on the received information. According to a third aspect of the present invention there is provided an apparatus for sharing user information in a wireless communication network, including: means for sending an alert from an originator to a group communication server , the alert 0 including information about the originator and requesting information about the target; means for transmitting an alert from the server to the target; means for registering at the group communication server that no response was received from the target; means for receiving information at the originator from the group communication server 5 containing information about the target in response to the alert, and means for updating information in the originator about the target, based on the received information. According to a fourth aspect of the present invention there is provided a system for sharing user information in a wireless communication network, including: ) a group communication server; a memory unit; a transmitter capable to send an alert from an originator to the group communication server, the alert including information about the originator and requesting information about the target; a receiver capable to receive information at the originator from the group communication server 5 containing information that no response was received from the target in response to the alert; and processor communicatively coupled to the memory unit, the receiver, and the transmitter, the processor being capable to update information in the originator about the target, based on the received information. According to a fifth aspect of the present invention there is provided a method for sharing user 0 information in a wireless communication network, the method including: sending at least one alert from an originator to a group communication server requesting information about at least one target user; transmitting an alert from the group communication server to the target; receiving information by the originator from the group communication server containing 5 information that no response was received in response to the alert, and updating information at the originator about the target user, based on information received.
2a According to a sixth aspect of the present invention there is provided a computer-readable medium including at least one instruction, which, when executed by a machine, causes the machine to perform operations, the instructions including: a set of the instructions to send at least one alert from an originator requesting information about 5 at least one target user; a set of the instructions to receive information by the originator from a group communication server containing information that no response was received in response to the alert, and a set of the instructions to update information at the originator about the target user, based on information received. 0 According to a seventh aspect of the present invention there is provided an apparatus for sharing user information in a wireless communication network, including: means for sending at least one alert from an originator to a group communication server requesting information about at least one target user; means for transmitting an alert from the group communication server to the at least one target 5 user; means for receiving information by the originator from the group communication server containing information that no response was received in response to the alert; and means for updating information at the originator about the target user, based on information received. 3 According to an eighth aspect of the present invention there is provided a system for sharing user information in a wireless communication network, including: a group communication server, a memory unit; a transmitter capable to send at least one alert from an originator to the group communication 5 server requesting information about at least one target user; a receiver capable to receive information by the originator from the group communication server containing information that no response was received in response to the alert; and a processor communicatively coupled to the memory unit, the receiver, and the transmitter, the processor being capable to update information about the target user, based on information received. 0 A detailed description of one or more preferred embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment. On the contrary, the scope of the invention is limited only by the appended claims and the invention encompasses numerous alternatives, modifications, and 5 equivalents. For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. The present invention may be practiced according to the claims without some or all of these specific details. For 2b the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured. BRIEF DESCRIPTION OF THE DRAWINGS 5 The features and advantages of the present invention will become more apparent from the detailed description of the embodiments set forth below: FIG. I illustrates a group communications system; FIG. 2 illustrates how several communication devices interact with a group communication server; 0 FIG. 3 illustrates one embodiment for an infrastructure for implementing various disclosed embodiments; FIGS. 4 (A) and 4 (B) illustrate flow diagrams for detecting and/or announcing presence and/or location information; and FIG. 5 illustrates a flow diagram for determining status information about a group of users. 5 DETAILED DESCRIPTION Before several embodiments are explained in detail, it is to be understood that the scope of the invention should not be limited to the details of the construction and the arrangement of the components set forth in the following description or illustrated in the drawings. Also, it is to be D understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. FIG. I illustrates a functional block diagram of a group communication system 100, for implementing one embodiment. Group communication system 100 is also known as a push-to-talk (PTT) system, a net broadcast service (NBS), a dispatch system, or a point-to-multi-point 5 communication system. In one embodiment, group communication system 100 includes a group communication server (GCS) 102, which may be deployed in either a centralized deployment or a regionalized deployment. Group communication server 102 may be implemented as known in the art, including WO 2005/069774 PCT/US2004/040920 3 one or more processor, one or more memory units, and input/out hardware and software modules for various media communications, e.g., IP media communication. [0015] Group communication devices (CDs) 104 and 106, which may be deployed such as CDMA (e.g., cdma2000) handsets, for example, may request packet data sessions using a data service option. Each CD may use the session to register its Internet protocol (IP) address with the group communication server to perform group communication initiations. In one embodiment, group communication server 102 is connected to the service provider's packet data service nodes (PDSNs) through service provider's network 116. CDs 104 and 106, upon requesting packet data sessions from the wireless infrastructure, may have IP connectivity to group communication server 102 through the PDSNs 114. Each PDSN may interface to a base station controller (BSC) through a packet control function (PCF) 108 and a network 112. The PCF may be co-located with the BSC within a base station (BS) 110. [0016] A packet data service node may fall in one of several states, e.g., active or connected state, donnant state, and null or inactive state. In the active or connected state, a active traffic channel exists between the participating CD and the BS or BSC, and either side may send data. In the dormant state, no active traffic channel exists between the participating CD and the BSC, but a point-to-point protocol (PPP) link is maintained between the participating CD and the PDSN. In the null or inactive state, there is no active traffic channel between the participating CD and the BSC, and no PPP link is maintained between the participating CD and the PDSN. [0017] Each one of CDs 104 and 106 may request packet data sessions. As part of establishing a packet data session, each CD may be assigned an IP address. Each CD may perform a registration process to notify group communication server 102 of the CD's IP address. Registration may be performed using an IP protocol, such as session initiation protocol (SIP) over user datagram protocol (IDP). The IP address of a CD may be used to contact the CD when the corresponding user is invited into or informed of a group communication. [0018] Once a group communication is established, CDs 104 and 106 and group communication server 102 may exchange media and signaling messages. In one embodiment, media may be exchanged between the participating CDs and the group communication server by using real-time protocol (RTP) over UDP. The signaling messages may also be exchanged by using a signaling protocol over UIDP.
WO 2005/069774 PCT/US2004/040920 4 [0019] Group communication system 100 performs several different functions in order to operate group communication services. The functions that relate to the user side include user registration, group communication initiation, group communication termination, sending messages to group participants, late join to a group communication, talker arbitration, adding members to a group, removing members from a group, un-registering a member, and user authentication. The functions that relate to system preparation and operation include administration and provisioning, scalability, and reliability. [0020] FIG. 2 illustrates a group communication arrangement 200 for showing how CDs 202, 204, and 206 interact with a group communication server 208. Multiple group communication servers may be deployed as desired for large-scale groups. A user may input her desire to a CD 202, 204, 206 to initiate a communication session for exchanging communication media, e.g., data, voice, image, and/or video, with one or more CDs. In one embodiment, the user may first invite the target users(s) before starting to communicate media, by pushing an "invite" or a PTT button on a CD. [0021] In FIG. 2, when CD 202 has permission to transmit media to other members of the group, CD 202 is known as the originator and may transmit media over an established channel. When CD 202 is designated as the originator, the remaining participants, CD 204 and CD 206, may not be permitted to transmit media to the group. Accordingly, CD 204 and CD 206 are designated as targets. As described above, CDs 202, 204, and 206 are connected to group communication server 208, using at least one channel. In one embodiment, channels 210, 212, and 214 may include a session initiation protocol (SIP) channel, a media-signaling channel, and a media traffic channel. [0022] FIG. 3 is a simplified block diagram of one embodiment of an infrastructure including a base station/base station controller (BS/BSC) 304 and a communication device 306, which are capable of implementing various disclosed embodiments. For a particular media communication, voice, data, packet data, and/or alert messages may be exchanged between BS/BSC 304 and communication device 306, via an air interface 308. Various types of messages may be transmitted, such as messages used to establish a communication session between the base station and the communication device, registration and paging messages, and messages used to control a data transmission (e.g., power control, data rate information, acknowledgment, and so on). Some of these message types are described in further detail below.
WO 2005/069774 PCT/US2004/040920 5 [0023] For the reverse link, at communication device 306, voice and/or packet data (e.g., from a data source 310) and messages (e.g., from a controller 330) are provided to a transmit (TX) data processor 312, which formats and encodes the data and messages with one or more coding schemes to generate coded data. Each coding scheme may include any combination of cyclic redundancy check (CRC), convolutional, turbo, block, and other coding, or no coding at all. The voice, packet data, and messages may be coded using different schemes, and different types of messages may be coded differently. [0024] The coded data is then provided to a modulator (MOD) 314 and further processed (e.g., covered, spread with short PN sequences, and scrambled with a long PN sequence assigned to the communication device). The modulated data is then provided to a transmitter unit (TMTR) 316 and conditioned (e.g., converted to one or more analog signals, amplified, filtered, and quadrature modulated) to generate a reverse link signal. The reverse link signal is routed through a duplexer (D) 318 and transmitted via an antenna 320 to BS/BSC 304. [0025] At BS/BSC 304, the reverse link signal is received by an antenna 350, routed through a duplexer 352, and provided to a receiver unit (RCVR) 354. Alternatively, the antenna may be part of the wireless operator network, and the connection between the antenna and the BS/BSC may be routed through the Internet. BS/BSC 304 may receive media information and alert messages from communication device 306. Receiver unit 354 conditions (e.g., filters, amplifies, down converts, and digitizes) the received signal and provides samples. A demodulator (DEMOD) 356 receives and processes (e.g., despreads, decovers, and pilot demodulates) the samples to provide recovered symbols. Demodulator 356 may implement a rake receiver that processes multiple instances of the received signal and generates combined symbols. A receive (RX) data processor 358 then decodes the symbols to recover the data and messages transmitted on the reverse link. The recovered voice/packet data is provided to a data sink 360 and the recovered messages may be provided to a controller 370. Controller 370 may include instructions for receiving and sending alerts, and receiving and sending responses to alerts. The processing by demodulator 356 and RX data processor 358 are complementary to that performed at remote access device 306. Demodulator 356 and RX data processor 358 may further be operated to process multiple transmissions received via multiple channels, e.g., a reverse fundamental channel (R-FCH) and a reverse supplemental channel (R-SCH). Also, transmissions may be simultaneously WO 2005/069774 PCT/US2004/040920 6 from multiple communication devices, each of which may be transmitting on a reverse fundamental channel, a reverse supplemental channel, or both. [0026] On the forward link, at BS/BSC 304, voice and/or packet data (e.g., from a data source 362) and messages (e.g., from controller 370) are processed (e.g., formatted and encoded) by a transmit (TX) data processor 364, further processed (e.g., covered and spread) by a modulator (MOD) 366, and conditioned (e.g., converted to analog signals, amplified, filtered, and quadrature modulated) by a transmitter unit (TMTR) 368 to generate a forward link signal. The forward link signal is routed through duplexer 352 and transmitted via antenna 350 to remote access device 306. Forward link signals include paging signals. [0027] At communication device 306, the forward link signal is received by antenna 320, routed through duplexer 318, and provided to a receiver unit 322. Receiver unit 322 conditions (e.g., down converts, filters, amplifies, quadrature modulates, and digitizes) the received signal and provides samples. The samples are processed (e.g., despreaded, decovered, and pilot demodulated) by a demodulator 324 to provide symbols, and the symbols are further processed (e.g., decoded and checked) by a receive data processor 326 to recover the data and messages transmitted on the forward link. The recovered data is provided to a data sink 328, and the recovered messages may be provided to controller 330. Controller 330 may include instructions for receiving and sending alerts, receiving and sending responses to alerts, keeping status information about other users in a designated group of users, and updating status information. [0028] A user or a group of users may detect or announce user information, such as user-presence, user availability, and/or user-location information, to other user or group of users, without placing a call, establishing a communication session, or burdening the server. In one embodiment, each user may alert members of a designated group when the user becomes available, e.g., the user goes online. This would eliminate the configuration problems associated with server-based solutions. Users may configure their group lists, as users may belong to multiple groups, and switch between groups, without requiring configuration changes at the server, according to one embodiment. [0029] In one embodiment, user presence and/or location detection is announced through point-to-point alerts or group alerts (point-to-multipoint) on power up (Hello) and shutdown (Bye). Additional alerts may be sent periodically to detect if a user has has become unavailable without sending a "Bye" (e.g., to detect power or coverage loss).
WO 2005/069774 PCT/US2004/040920 7 [0030] For example, using user-initiated point-to-point alerts, user A sends a "Hello" alert, on power up, to the rest of members in a designated group (e.g., A, B, and C). If a point-to-point guaranteed delivery alert is used, user A receives an "Ack" alert if the alert is successfully delivered, or a "Nak" alert if it isn't. If an Ack alert is received from user B and a Nak alert is received from user C, user A figures out that user B is already online and user C is not. When user B, who is already online, receives a Hello alert from user A, user B determines that user A has come online. Later, when user A goes offline, user A sends a "Bye" message to users B and C. When user B receives the "Bye" message from user A, user B determines that user A is no longer online. [0031] FIGS. 4(A) and 4(B) illustrate flow diagrams for announcing and/or sharing presence and/or location information, according to one embodiment. User A may select a member list from a directory of stored individual and/or group member lists, and presses a button (e.g., the PTT button) on his or her CD, to announce his or her presence and/or location information to the selected group. User A may also create an ad-hoc group list, or designate a default group list for this purpose. For example, the designated group may include users B, C, and D, as shown by user A's "buddy list." [0032] Upon activation by user A, user A's CD sends group alerts to target users B, C, and D, e.g., through the group communication server, as shown in step 402. The group message may include information such as user A's presence (e.g., "on," "off," "away," etc.), user A's location (e.g., "at work," "in meeting," "at lunch," etc.), and/or user A's availability (e.g., "busy," "on phone," etc.). In one embodiment, the group communication server sends an alert to each target user in the designated group (e.g., B, C, and D), as shown in step 404. [0033] Each target user in the designated group that receives an alert may respond with a message, e.g., an alert, indicating the target user's status, as shown in step 406. For example, target user B may respond with an "ACK" response, indicating that user B is ON or available, user C may respond with a "NAK" response, indicating that user C is OFF or unavailable, user D may respond with a "in meeting" or "at airport" response. [0034] In one embodiment, the group communication server receives the responses from the target group members (e.g., user B, C, and D), and forwards a group response to user A, as shown in step 408. Upon receiving the group response, user A may update the status of his or her buddy list to include information that user B is "ON," user C is "OFF," and user D is "in meeting" or "at airport." WO 2005/069774 PCT/US2004/040920 8 [0035] In one embodiment, some or all of the target users (e.g., B, C, and D) may also update status information of their buddy list members. When such target users receive an alert from user A, in step 404, indicating that user A is ON, such target users may update their buddy lists to include information that user A is ON, if user A appears in buddy lists of such target users. As recognized in FIG. 4(A), user may have different personalized buddy lists to preserve their privacy. For better privacy, a user may block any number of other users from contacting the blocking user. So that no information about the blocking user may be shared with other blocked users. [0036] In one embodiment, when any one of target users sends a status response to the GCS to be forwarded to user A, in step 406, the GCS may also send such responses to other ones of such target users to update their buddy list accordingly. For example when user B sends an "ACK" response, in step 406, indicating that user B is ON, the GCS may send the ACK response received from user B to target users C and D to update the status of user B to ON in their buddy lists, if user B appears in their buddy lists. FIG. 4(B) shows the final state of the user presence and/or location information exchange after user A sends the group alerts in step 402. [0037] In one embodiment, a user may request the GCS to determine the status of a designated user or a group of users, determine the group members that are currently registered, and/or determine the group members who are participating in a group communication session. The user may choose an existing group name or create an ad hoc group, and send the request for information about the group to the GCS, as shown in step 502. The GCS may provide status information about the designated group, e.g., whether the designated group is active or inactive, as shown in step 504, provide information about the members of the designated group who are registered, as shown in step 506, provide information about the members of the designated group who are participating in a current communication session, as shown in step 508, and/or provide information, e.g., location information, about the group members, as shown in step 510. [0038] For example, when user A requests information about a group of users that includes seven members (e.g., A, B, C, D, E, F, and G), the server's response, in step 508, may include information that the designated group is active with five participants (e.g., A, B, C, F, and G), and the nonparticipating members of the designated group are either registered (e.g., user D) or not (e.g., user E).
WO 2005/069774 PCT/US2004/040920 9 [0039] In one embodiment, the presence and/or location information may be shared among the members of a designated group without establishing a communication session, e.g., without talking; thus, providing better privacy for the group members. [0040] In one embodiment, the presence and/or location information may be shared among the members of a designated group without burdening the group communication server with group configuration; thus, providing the service providers easy ways of billing each user based on their activity. [0041] Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and protocols. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. [0042] Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. [0043] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of 10 microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. The steps of a method or algorithm described in connection with the embodiments 5 disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, such that the processor can read 0 information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal. Throughout this specification and the claims that follow unless the context requires 5 otherwise, the words 'comprise' and 'include' and variations such as 'comprising' and 'including' will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers. The reference to any prior art in this specification is not, and should not be taken as, an acknowledgment or any form of suggestion that such prior art forms part of the common 0 general knowledge of the technical field.