# Patent

## Title
Mobile communications device

## Abstract

A mobile communications device includes a controller, a connector device configured to couple with a computer system, an interface device, and memory. The interface device is coupled to the controller and configured to communicate an electromagnetic signal. The memory stores instructions performed by the controller to cause the interface device to communicate an electromagnetic signal including information associated with a user of the mobile device or of another mobile device, and to cause the connector device to communicate the information associated with the user to or from the computer system.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 60/600,384, filed Aug. 11, 2004, and titled “Portable Interface Device,” which is incorporated herein by reference.


TECHNICAL FIELD
This description relates to a mobile communications device for use in a communication system.
BACKGROUND
Users of an instant messaging service can communicate virtually and in real time with other instant messaging users. Users may manually create a buddy list of user names or online identifiers of other users of the instant messaging service, and may use such a buddy list to facilitate establishment of instant messaging sessions with those users included in the buddy list or to perceive the availability of those other users, commonly references as “presence.”
SUMMARY
In one general aspect, a mobile communications device includes a controller, a connector device configured to couple with a computer system, an interface device, and memory. The interface device is coupled to the controller and configured to communicate an electromagnetic signal. The memory stores instructions performed by the controller to cause the interface device to communicate an electromagnetic signal including information associated with a user of the mobile device or of another mobile device, and to cause the connector device to communicate the information associated with the user to or from the computer system.
Implementations may include one or more of the following features. For example, the memory may store instructions performed by the controller to cause the interface device to receive an electromagnetic signal including information associated with a user of another mobile device. The memory may also store instructions performed by the controller to cause the connector device to transmit the information associated with the user to the computer system. The memory may store instructions performed by the controller to cause the interface device to transmit an electromagnetic signal including information associated with a user of the mobile device. The memory may also store instructions performed by the controller to cause the connector device to receive the information associated with the user from the computer system. The memory may store instructions performed by the controller to cause the interface device to automatically communicate the electromagnetic signal.
The mobile device may further include an output device coupled to the controller. The mobile device may further include an input device coupled to the controller.
The interface device may be configured to transmit an electromagnetic signal. The interface device may be configured to receive an electromagnetic signal. The connector device may be coupled to the controller. The interface device may include a radio frequency identification (RFID) interface. The connector device may include a Universal Serial Bus (USB) device.
In another general aspect, a method is described for identifying online identifiers that are geographically proximate to a mobile communications device. A geographic proximity is detected between a mobile communications device and one or more mobile counterpart devices with which the mobile communications device communicates. An online identifier associated with each mobile counterpart device for which geographic proximity is detected is identified and information reflective of the detected geographic proximity and the associated online identifier is stored. An indication of at least one associated online identifier associated with a mobile counterpart device for which geographic proximity to the mobile communications device was detected is made perceivable.
Implementations may include one or more of the following features. For example, the storing may include maintaining a list of online identifiers for which geographic proximity has been detected.
The list may correspond to a buddy list maintained for an operator of the mobile communications device. The list may be limited to online identifiers that appear on a buddy list maintained for an operator of the mobile communications device.
Making the indication perceivable may include making the indication perceivable independently of perception of a buddy list. Making the indication perceivable independently of perception of a buddy list may include outputting a sound. Making the indication perceivable may include outputting a beep. Making the indication perceivable may include distinguishing online identifiers for which detected geographic proximity was detected after a buddy list was last made perceivable to an operator of the mobile communications device.
Making the indication perceivable may include downloading, from the mobile communications device to a general purpose computer, the stored information that is reflective of the detected geographic proximity, and enabling a display of the information at the general purpose computer. Making the indication perceivable may include displaying the information using an imaging device at the mobile communications device. Displaying may include enabling display of the indication using a monitor. Displaying may include using a light to display an indication of current geographic proximity by a user-designated online identifier. The user-designated online identifier may be identified through reference to a user-designated buddy list configured for use in an instant messaging communications application.
The indication may distinguish the online identifiers associated with at least two mobile counterpart devices for which geographic proximity to the mobile communications device was detected. The indication may distinguish the online identifiers associated with at least two mobile counterpart devices for which geographic proximity to the mobile communications device was previously detected but is not detected at the time of making the indicator perceivable. The detecting, identifying, and storing may begin upon logical separation of the mobile communications device from a general purpose computer. The detecting may include detecting information stored using an RFID of a mobile counterpart device for which geographic proximity is detected.
In another general aspect, a method of interaction includes receiving information from a first mobile device, and using that information within the instant messaging application. The information relates to a user of a second mobile device and is obtained independently of an instant messaging application.
Implementations may include one or more of the following features. For example, the method may further include running the instant messaging application at a computer system to which the first mobile device is configured to communicate. Using the information within the instant messaging application may include correlating a user identifier and a geographic proximity to the user information. Using the information within the instant messaging application may include displaying the user identifier and the geographic proximity in a buddy list.
Aspects of the methods and systems can include one or more of the following advantages. User information (including online identifiers) can be simply broadcasted, received, and gathered using a radio wave transmitter/receiver and using only a small amount of memory. For example, with less than 8 kilobytes of memory, a user of the portable device can store more than 1000, 10-digit user identification numbers.
The mobile device can be prevented from broadcasting other user's online identifiers with a simple security procedure that links to a database, which procedure can be invoked during the initialization of the mobile device.
The mobile device creates a link between the real (or tangible) world of people that a user encounters throughout the day and the online world that already exists within the network of users of the computer systems.
In one implementation, the mobile device automatically broadcasts or pushes information while simultaneously and also automatically receiving information from other mobile devices in a given area or range, referred to as a geographic proximity. Both of these features (that is, broadcasting and receiving) are implemented within a single mobile device, which is configured to connect to a computer system through a USB port (or otherwise) to enable rapid exchange of information.
Other features will be apparent from the description, the drawings, and the claims.



DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram of a communication system.
FIG. 2 is a block diagram of a computer system within the communication system of FIG. 1.
FIG. 3 is a perspective view of a mobile communications device within the communication system of FIG. 1.
FIG. 4 is a block diagram illustrating aspects of the mobile device of FIG. 3.
FIG. 5 is a block diagram of an electromagnetic interface of the mobile device of FIG. 3.
FIG. 6 is a flow chart of a procedure for setting up and updating presence on a network of computer systems within the communication system of FIG. 1.
FIG. 7 is a flow chart of a procedure for operating the communication system of FIG. 1.
FIG. 8 is a flow chart of a procedure for operating the mobile device of FIG. 3.
FIG. 9 is an illustration of component actions that may be performed incident to the procedure of FIG. 8.



Like reference symbols in the various drawings may indicate like elements.
DETAILED DESCRIPTION
A mobile communications device is configured to operate in connected mode with a computer system and in stand-alone mode, that is, disconnected from the computer system. While in stand-alone mode, the mobile communications device broadcasts information to and receives information from other mobile communications devices that are located within a geographic proximity or range of the mobile communications device. While in connected mode, the mobile communications device uploads information collected during stand-alone mode to the computer system with which it connects, and initiates a process to analyze, utilize, and manipulate the information at the computer system.
Referring to FIG. 1, a communication system 100 includes one or more user computer systems 105 within a multi-user network 110. Each computer system 105 is configured to communicate with a server 115 through a communication link 120 or otherwise. The server 115 accesses a database 117 that stores information relating to users of the computer systems 105. For simplicity, links 120 are shown in FIG. 1 between only three computer systems 105 and the server 115. Nevertheless, any number of computer systems 105 can be communicating with the server 115 at any one moment. Moreover, while any number of computer systems 105 within the network 110 may be communicating with the server 115 at any one moment, any number of computer systems 105 may be operating in stand-alone mode, that is, not communicating with the server 115 (three of such stand-alone computer systems 105 are shown in FIG. 1 for illustrative purposes only).
The computer system 105 may include one or more general-purpose computers (for example, personal computers), one or more special-purpose computers (for example, devices specifically programmed to communication with each other and/or the computer system 105), or a combination of one or more general-purpose computers and one or more special-purpose computers. The computer system 105 may be arranged to operate within or in concert with one or more other systems, such as, for example, one or more LANs and/or one or more WANs.
Each of the computer systems 105 can be linked by a peer-to-peer link 125 to another computer system 105. The peer-to-peer link 125 enables a direct exchange of computer resources and services between the computer systems 105, as discussed in detail below. Thus, each computer system 105 can initiate requests of other computer systems 105 and can respond to requests from other computer systems 105 in the network 110, independently of the communication with the server 115 through the link 120. In this way, users of the computer systems 105 are able to form an autonomous online community.
The server 115 is able to communicate with other servers or devices within an inter-network 130. The inter-network 130 can be, for example, an Internet Protocol-based network (such as, for example, the Internet, the World Wide Web, a Wide Area Network (WAN), a Local Area Networks (LAN), and an analog or digital network); an X-25 protocol-based network; an analog or digital, wired or wireless telephone-based network (such as, for example, plain old telephone service (POTS); an asymmetric digital subscriber line (aDSL); a public switched telephone network (PSTN); an integrated services digital network (ISDN); or a digital subscriber line (DSL)). Each of the communication pathways within the inter-network 130 may include, for example, a wired, wireless, cable, or satellite communication pathway. The server 115 also may enable delivery of messages from other servers within the inter-network 130 to the computer system 105 through the link 120. Each of the computer systems 105 may be configured to communicate with other servers within the inter-network 130.
The communication system 100 includes mobile communications devices (“mobile devices”) 135 that are configured to communicate with one or more computer systems 105. The mobile devices 135 are able to operate in stand-alone mode, that is, without communicating with the computer systems 105. As an example, two such stand-alone mobile devices 135 are shown in FIG. 1. In general, while in stand-alone mode, the mobile device 135 can transmit and receive an electromagnetic signal that includes information associated with a user of the mobile device 135 or a user of another mobile device 135. Furthermore, while communicating with the computer system 105, the mobile device 135 can transmit to and receive from the computer system 105 the information associated with the user of the mobile device 135 or with the user of the other mobile device 135. While communicating with the computer system 105, the mobile device 135 links to an instant messaging program of the computer system 105. In this way, the mobile device 135 encourages users of the computer systems 105 to interact using both the instant messaging program and the mobile device 135.
In one implementation, the communication system 100 includes a location or direction determining apparatus 150 such as a global positioning system (GPS) that is configured to detect locations of each of the mobile devices 135 that are operating in stand-alone mode. Generally, the location or direction determining apparatus 150 can be any satellite that uses a wireless receiver/transmitter.
Referring to FIG. 2, the computer system 105 typically includes one or more devices 200 and/or controllers 205 capable of responding to and executing instructions in a defined manner. The device 200 is any device that is generally capable of executing instructions under the command of the controller 205 by a wired or wireless data interface 210 capable of delivering data. The device 200 and the controller 205 each typically include one or more hardware components and/or software components. An example of a device 200 is a general-purpose computer capable of responding to and executing instructions in a defined manner. Other examples include a special-purpose computer, a workstation, a server, a device, a component, other physical or virtual equipment, or some combination of the above capable of responding to and executing instructions.
In one implementation, the device 200 includes a computer 215 having an internal or external storage 220 for storing data and programs such as an operating system 225 (for example, DOS, WindowsTM, Windows 95TM, Windows 98TM, Windows 2000TM, Windows XPTM, Windows NTTM, OS/2, or Linux) and one or more application programs. Examples of application programs include authoring applications 230 (for example, word processing, database programs, spreadsheet programs, email program, calendar programs, or graphics programs) capable of generating and/or editing documents or other electronic content; client and peer-to-peer applications 235 (for example, AOL client, CompuServe client, AIM client, AOL TV client, ISP client, or ICQ application) capable of communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content; and browser applications 240 (for example, Netscape's Navigator or Microsoft's Internet Explorer) capable of rendering Internet content.
The computer 215 also includes a central processing unit (CPU) 250 for executing instructions in response to commands from the controller 205. In one implementation, the controller 205 includes one or more of the application programs installed on the internal or external storage 220 of the computer 215. In another implementation, the controller 205 includes application programs externally stored in and executed by one or more devices external to the computer 215.
The computer 215 typically includes a communication device 255 for sending and receiving data. One example of the communication device 255 is a modem. Other examples include a transceiver, a set-top box, a communication card, a satellite communications hardware, an antenna, or another network adapter capable of transmitting and receiving data over the communication link 120 through a wired or wireless data pathway. The computer 215 also may include a television (TV) tuner 260 for receiving television programming in the form of broadcast, satellite, and/or cable TV signals. As a result, the device 200 can selectively and/or simultaneously display network content received by the communication device 255 and television programming content received by the TV tuner 260.
The computer 215 typically includes an input/output interface 265 to enable a wired or wireless connection to various peripheral devices 270, 271, 272, 273, 274, 275, and 276. Examples of peripheral devices include, but are not limited to, a mouse 270, a mobile telephone 271, a personal digital assistant (PDA) 272, a keyboard 273, a display monitor 274, a TV remote control 275 for receiving information from and rendering information to subscribers, and a video control system 276. Other examples of peripheral devices include voice recognition and synthesis devices.
Although the peripheral devices in FIG. 2 are illustrated as being peripheral with respect to the computer 215, in another implementation, such devices may themselves include the functionality of the computer 215 and operate as the device 200. For example, the mobile telephone 271 or the PDA 272 may include computing and networking capabilities, and may function as a device 200 by accessing the server 115 through the communication link 120 and by communicating with other computer systems 105 in the network 110.
The computer 215 also includes a general-purpose interface 280 for linking to the portable device 135. The general-purpose interface 280 may be any interface with data rates suitable for data transfer between the computer 215 and the portable device 135. For example, in one implementation, the interface 280 is a Universal Serial Bus (USB) port. In another implementation, the interface 280 is a serial port or a parallel port.
An example of the controller 205 is a software application loaded on the device 200 for commanding and directing communications enabled by the device 200. Other examples include a program, a piece of code, an instruction, a device, a computer, a computer system, or a combination of the above, for independently or collectively instructing the device 200 to interact and operate as described. The controller 205 may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of providing instructions to the device 200.
Additionally, the device 200 includes one or more plug-in applications 245 that are installed and used as a part of the client applications 235. The plug-in applications 245 enable the device 200 to transmit messages to and from the server 115. Plug-in applications 245 include one or more of: a description of internal protocols; a message application that is activated when a message is received through the server 115; an interface application that implements user interface components and business rules; and a status application that establishes the status of the message based on information from the application or the message itself.
Referring also to FIG. 3, the mobile device 135 includes a body 300 that forms a cavity configured to house various components that control operation of the mobile device 135, as discussed in greater detail below. The body 300 is made of any of the various materials that have suitable properties (such as, durability, low weight, rigidity, and safety) for such a device. For example, suitable materials include, but are not limited to, plastics such as resins, polymers, elastomers, or thermoplastics. The body 300 may be formed using any suitable molding technique, such as, for example, injection molding. The size of the body 300 facilitates portability of the device 135. For example, the body 300 may be the size of an object for use on a key-chain, thus enabling a user to carry the mobile device 135 on her person (her clothes, her bags, her hands or wrist, or any other object with the user).
The mobile device 135 may include an attachment device such as a key ring 305 for attaching to the user's person, thus enabling the user to carry the mobile device 135 away from the computer system 105 and out into the public while in stand-alone mode. The mobile device 135 also includes a connector device 310 for coupling with the computer system 105. The connector device 310 is any connector that is able to link with the general-purpose interface 280 of the computer system 105. In the implementation in which the general-purpose interface 280 is a USB port, the connector device 310 is a USB device.
If the interface 280 is a wireless data port, then the connector device 310 may include a device for wireless coupling between the mobile device 135 and the computer system 105. For example, the connector device 310 may enable communication between the mobile device 135 and the computer system 105 without a wired connection.
In one implementation, the connector device 310 is retractable in and out of a region of the body 300 of the mobile device 135.
Referring also to FIG. 4, the body 300 of the mobile device 135 houses a controller 400, a power source 405 such as a battery that provides power to the controller 400, one or more input devices 410 that enable the mobile device 135 to obtain input from a user, and one or more output devices 415, 420, 425.
The output device 415 is an imaging device such as a light (for example, a light emitting diode or LED), a video display (for example, a liquid crystal display or LCD), or a monitor. The output device 420 is a motion producer such as a vibrator or a buzzer and the output device 425 is an audio device such as a speaker. One or more openings may be formed on the body 300 adjacent the audio device 425 to permit audio output (for example, music or speech) to emanate from the audio device 425 without being muffled.
The body 300 may include a compartment (not shown) for housing the power source 405. The compartment may be opened and closed using, for example, a screwdriver or a snap-fit latch.
The controller 400 includes a processor 435 that performs the controller's tasks using additional information obtained from memory 440, a clock 445, and a counter 450. The memory 440 within a particular mobile device 135 stores an identification of a user of that device 135 and a table that includes the online identifiers for one or more owners of mobile devices in the network 110 in the form of a buddy list, and a geographic proximity for each online identifier. The geographic proximity is determined for a particular online identifier while the mobile device 135 is operating in stand-alone mode, as discussed below.
In one implementation, the body 300 of the mobile device 135 houses an electromagnetic interface 430 that is used to detect geographic proximities of mobile counterpart devices 135 within the network 110. In one implementation, the electromagnetic interface 430 is any suitable radio transceiver, that is, a two-way radio that combines both a radio transmitter and a receiver that exchanges information using an electromagnetic signal operating in the radio frequencies. For example, in one implementation, the interface 430 is a Bluetooth interface, which is a short-range radio technology.
In one implementation, the mobile device 135 includes a location or direction determining apparatus such as a GPS that is able to detect a location or direction of the mobile counterpart devices 135 within geographic proximity of the mobile device 135.
In general, the controller 400 receives input from the power source 405, from the input devices 410, from the connector device 310, and from the electromagnetic interface 430 or from the location or direction determining apparatus 150, depending on how geographic proximities are detected within the system 100. The controller 400 performs tasks such as sending output signals to one or more output device 415, 420, 425, and sending information to the computer system 105 through the connector device 310.
If the mobile device 135 houses the interface 430, then the controller 400 also sends signals to the electromagnetic interface 430 to cause the interface 430 to emit electromagnetic radiation, and receives a signal from the interface 430 if the interface 430 has detected electromagnetic radiation.
If the mobile device 135 includes the location or direction determining apparatus, then the controller 400 may store information in the memory 440 relating to the location or direction of a particular user along with the other information stored in the memory 440 for that user. In this way, the user can then determine where that particular user was detected while in stand-alone mode. Additionally, if the mobile device 135 includes the location or direction determining apparatus 150, the controller 400 may be configured to send a signal to the imaging device 415 to display a map of the location or direction of the other mobile device 135.
If the communication system 100 includes the location or direction determining apparatus 150 or satellite, then the mobile device 135 may or may not include its own location or direction determining apparatus. In this way, the satellite of the communication system 100 may be configured to detect the locations of each of the mobile devices 135 within the network 110 using wireless communication. The satellite 150 could be linked to a service for the users of the mobile devices 135. The service monitors the relative positions of each of the mobile devices 135 within the network 110 and reports the positions to a web interface that can be accessed by users either through the mobile devices 135 or through the computer systems 105. In this way, each mobile device 135 need not store information but only need to transmit a signal that can be detected by the satellite 150.
In contrast to the design of FIG. 4, the mobile device 135 may be a relatively simple device that includes only one output device, such as, for example, an audio device 425. For example, the mobile device 135 shown in FIG. 3 lacks an imaging device or a motion producer and is a relatively simple device.
In contrast to the design of FIG. 4, the mobile device 135 may be a more complex computing device and may be designed like the computer system 105 shown in FIG. 2. For example, the mobile device 135 may be a laptop computer or a PDA.
In another implementation, at least one of the mobile devices 135 of the network is configured differently from one or more other mobile devices 135 of the network. For example, one of the mobile devices 135 may be configured as a laptop, one of the mobile devices 135 may be configured as a PDA, and one of the mobile devices 135 may be configured as a dongle. Each of the different configurations of mobile devices 135 may be used, in aggregate, to create the mobile network.
Referring also to FIG. 5, in one implementation in which the mobile device 135 houses the interface 430, the electromagnetic interface 430 is a radio frequency identification (RFID) interface that transmits and receives information in the form of an electromagnetic signal in the radio frequency (RF) portion of the electromagnetic spectrum. The RFID interface includes an interrogator 500 and a transponder 505, or tag. The interrogator 500 includes a reader 510, a writer 515, and an antenna 520. The interrogator 500 directly couples to the controller 400. The tag 505 includes an integrated circuit (IC) or chip and an antenna. The IC includes read/write memory and some form of processing capability. The tag 505 can come in a variety of shapes and it may be embedded, for example, in a glass or an epoxy resin.
The antenna in the tag 505 is the physical interface for the RF signal to be received and transmitted. Its construction varies depending on the configuration of the tag 505 and the frequency at which the tag 505 operates. A low frequency tag 505 can use coils of wire, whereas a high frequency tag 505 can be printed with conducting inks. Any suitable frequency can be used, depending on the design of the tag and the signal to be transmitted and received.
The tag 505 can be passively powered by the interrogator 500, that is, without the use of the power source 405. A passive tag 505 gets all of its power from a radio wave signal sent by the interrogator 500. The tag 505 converts the radio wave signal into power. This radio wave signal may also be used to carry data from the interrogator 500 to the tag 505. In this way, the tag 505 is powered only when it is exposed to the beam of the interrogator 500. The tag 505 uses a technique called backscatter to reply to the interrogator 500. In the backscatter technique, the carrier wave from the interrogator 500 is reflected from the tag 505 without the use of a transmitter within the tag 505.
In another implementation, the tag 505 is powered by the power source 405. The powered tag 505 still uses the backscatter technique, but it receives power to operate the IC from the power source 405. In this way, the tag 505 is not dependent on the strength of the carrier signal from the interrogator 500 to provide the power it needs. Instead, the powered tag 505 can use all the power from the power source 405 and is able to work at a greater distance from the interrogator 500.
In another implementation, the tag 505 is active, that is, it uses not only the power source 405, but also some form of transmitter internal to the tag 505. The signal transmission range of the tag 505 can be increased substantially when compared with range of non-active tags (discussed above).
The tag 505 of a particular mobile device 135 “talks” to the interrogator 500 of an nearby mobile counterpart device 135 using an air interface, which is a specification for how they talk to each other that includes the frequency of the carrier, the bit data rate, the method of encoding and any other parameters that may be needed. ISO 18000 is the standard for the air interface. Additionally, the air interface may include an anti-collision protocol that allows many tags in the field to talk to each other at the same time.
In one implementation, the interface 430 may be a Reader talks first (RTF) interface, in which the tag 505 just sits there until it receives a request from the interrogator 500 of another mobile device 135. Even though the tag 505 may be receiving power from the interrogator 500, the tag 505 does not “talk” until it is “asked a question” by the interrogator 500.
In another implementation, the interface 430 may be a Tag talks first (TTF) interface, in which the tag 505 talks as soon as it gets power, or in the case of a power-assisted tag or an active tag, it talks for short periods of time, all the time.
Once the tag 505 of a particular mobile device 135 is powered up, it can continuously transmit an RF signal by damping the incoming RF power from the interrogator 500 within the particular mobile device 135. For example, the tag 505 may initiate or pulse every five seconds. Or, as discussed above, the tag 505 may only initiate a pulse in response to an incoming RF signal from an interrogator 500 of another mobile device 135.
The tag 505 has a small size and may be formed into any suitable form, thus reducing the size requirements of the mobile device 135. Moreover, the RFID interface 430 does not require contact or line-of-sight between two mobile devices 135. In this way, the RFID interface 430 permits great freedom of movement for a user of the mobile device 135 and enables flexibility in the placement of the tag 505 and the interrogator 500 within the interface 430, thus reducing size requirements of the mobile device 135.
Referring also to FIG. 6, a user who wishes to join the network 110 engages in a procedure 600. The user initially registers at the server 115 (step 605), at which time the user receives a unique identifier. The user is also given the option of providing additional personal information. Once the user registers, the user can define and maintain a buddy list (step 610), that is, a list of other co-users of the network 110 (that is, buddies) that enables the user to perceive presence information for the co-users in a unique graphical user interface (GUI) and to track changes to presence status for the co-users in substantially real-time automatically, where presence indicates the availability of a co-user to presently communicate over the network 110 (for example, logon status of a co-user). The buddy list also provides the user with a mechanism to initiate communications (for example, instant messages (IMs), electronic mail (e-mail), chat, and other communications) with the co-users. The user may create separate buddy lists of co-users, either with intersecting or disjoint lists of users, and label these buddy lists according to the user's preferences or otherwise.
Each user account may have one or more buddy lists. When a user logs on to a network 130 or 110 (step 615), the user's presence may be announced (step 620) to other online users of the network 110 and the user's set of buddy lists is presented to a buddy list system. The buddy list system attempts to match co-users currently logged into the system with the entries on the user's buddy list. Any matches are displayed to the user (step 625). As co-users logon and logoff, a user's buddy list is updated to reflect these changes (step 630). An indication also may be added to show that a co-user just logged on or logged off the system.
Referring to FIG. 7, the communication system 100 performs a procedure 700 for identifying online identifiers that are geographically proximate to a mobile communications device 135. Initially, the system 100 detects a geographic proximity between a mobile device 135 and one or more mobile counterpart devices 135 with which the mobile device 135 communicates (step 705). Any component of the system 100 may be configured to detect the geographic proximity.
For example, if the system 100 includes the location or direction determining apparatus 150, then the location or direction determining apparatus 150 may determine that one or more mobile counterpart devices 135 are geographically proximate to the mobile device 135. The location or direction determining apparatus 150 can send a signal to the mobile device 135 indicating the presence of and information about the geographically proximate counterpart devices 135. The information can then be stored in the memory 440 of the mobile device 135 through a wireless transmission between the location or direction determining apparatus 150 and the mobile device 135.
As another example, if the mobile device 135 includes the interface 430, then the mobile device 135 is configured to detect geographic proximity of mobile counterpart devices 135 in the network 110. If the interface 430 is an RFID interface, then the mobile device 135 detects a geographic proximity of a mobile counterpart device 135 by detecting information stored within the mobile counterpart device 135 and transmitted from the mobile counterpart device 135 using RFID.
Next, the system 100 identifies an online identifier associated with each mobile counterpart device 135 for which geographic proximity is detected (step 710). If the system 100 includes the location or direction determining apparatus 150, then the location or direction determining apparatus 150 identifies the online identifiers for those geographically proximate mobile counterpart devices 135. Or, if the mobile device 135 includes the interface 430, then the interface 430 identifies the online identifiers for those geographically proximate counterpart devices 135.
The online identifier may be a user-designated online identity set up during the registration (step 605) in the procedure 600 of FIG. 6. These online identifiers may be used in the buddy list of an instant messaging communications application. In this case, the user-designated online identity can be identified through reference to a user-designated buddy list.
The indication may distinguish the online identifiers associated with at least two mobile counterpart devices 135 for which geographic proximity to the mobile device 135 was detected.
The system 100 stores information reflective of the detected geographic proximity and the associated online identifier (step 715). The information may be stored within the memory 440 of the mobile device 135 or it may be stored at the location or direction determining apparatus 150 if the system 100 includes the location or direction determining apparatus 150.
The storage of the information can include maintenance of a list of online identifiers for which geographic proximity was detected. Furthermore, the list may correspond to a buddy list maintained for the user of the mobile device 135. The list can be limited to online identifiers that appear on a buddy list maintained for the user of the mobile device 135.
Additionally, the system 100 makes perceivable an indication of at least one associated online identifier associated with a mobile counterpart device 135 for which geographic proximity to the mobile device 135 was detected (step 720).
The indication can be made perceivable in any suitable manner. For example, the information stored at step 715 that is reflective of the detected geographic proximity can be downloaded from the mobile device 135 to the computer system 105. Then, the display of that information is an indication that is enabled at the computer system 105, for example, at the monitor 274. As another example, the information may be displayed as an indication at the imaging device 415 of the mobile device 135.
In one implementation, the indication is made perceivable independently of perception of the table of online identifiers or the buddy list that is stored within memory 440 of the mobile device 135 or within memory 220 of the computer system 105. In this way, the indication is not made perceivable through the display of the table or the buddy list. Rather, the indication is made perceivable through the output of a signal to one or more output devices 415, 420, 425 at the mobile device 135. For example, the indication is made perceivable through the output of an audio signal (such as a beep or any suitable sound or combination of tones) at the audio device 425 of the mobile device 135. As another example, the indication is made perceivable through the output of a flashing light at the imaging device 415 of the mobile device 135. Furthermore, the indication may be made perceivable by distinguishing online identifiers for which the detected geographic proximity was detected after a buddy list or the table was last made perceivable to a user of the mobile device 135.
At step 710, the indication may distinguish the online identifiers associated with at least two mobile counterpart devices 135 for which geographic proximity to the mobile device 135 was previously detected but is not detected at the time of making the indication perceivable (step 720).
The steps of detecting (step 705), identifying (step 710), and storing (step 715) may begin upon logical separation of the mobile communications device 135 from the computer system 105, that is, while the device 135 is operating in stand-alone mode.
Referring to FIG. 8, in one implementation in which the mobile device 135 includes the interface 430, the mobile device 135 performs a procedure 800 for interacting with the computer system 105 and the mobile counterpart devices 135. In the illustration of FIG. 8, reference is made to the implementation of the mobile device 135 of FIG. 4. However, other implementations of the mobile device 135 may alternatively be used. The mobile device 135 performs the procedure 800 under the control of the controller 400. This procedure is represented by the illustration in FIG. 9. Initially, the mobile device 135 is connected to the computer system 105 through the connector device 310 (step 805).
During connection with the computer system 105, the mobile device 135 transmits information through the connector device 310 with the computer system 105 (step 810). As an example (shown by block 900), the mobile device 135 can obtain user information from the computer system 105 such as a user's online identifier (for example, a user identification number, a user's name, or a user's screen name). In this case, the user information may be information relating to the user of the mobile device 135 that the mobile device 135 later transmits while in stand-alone mode. Or, the user information may be information relating to buddies of the user of the mobile device 135. The information relating to buddies would remain stored within the mobile device 135 and then be accessed during stand-alone mode to notify the user of the presence of a nearby buddy. As another example (shown by block 905), the mobile device 135 can transmit user information such as a user's online identifier (for example, a user identification number, a user's name, or a user's screen name) to the computer system 105 through the connector device 310. In this case, the user information may be information relating to one or more users of another mobile device 135.
As mentioned above, the mobile device 135 stores the user information within memory 410. The user information may be stored in a table that correlates each user's online identifier with other information about that user that is detected while the mobile device 135 operates in stand-alone mode. For example, the table may correlate a location or a time with the user's online identifier, with the location or time being detected when the mobile device 135 determines that that user's mobile device 135 is geographically proximate to the mobile device 135.
If the mobile device 135 is connecting for the first time to the computer system 105 at step 805, the mobile device 135 is initialized, that is, it retrieves and stores the user's information such as the user identification number. Moreover, the computer system 105, and in particular, the server 115, may detect the connection and transfer the necessary applications to store within the memory 220 of the computer system 105, without the user being burdened with configuration and execution of the transfer. Thereafter, the computer system 105 uses these applications to interact with the mobile device 135 when the mobile device is connected (step 805).
Next, the mobile device 135 is disconnected from the computer system 105 (step 815). Once disconnected, the mobile device 135 (in particular, the interface 430 within the mobile device 135) broadcasts the user's information (such as the identification number) (step 820). In one implementation, the mobile device 135 is configured to automatically and continuously broadcast the user's information. In another implementation, the mobile device 135 is configured to only activate the interface 430 to broadcast the user information upon manual activation from a user (that is upon receipt of user input through one of the input devices 430).
Additionally, the mobile device 135 receives information about other users through the interface 430 from other mobile devices 135 that are geographically proximate to the mobile device 135 (step 825). One device 135 is geographically proximate to another device 135 if the interface 430 in the device 135 is able to detect a presence of the other device 135. For example, if the interface 430 is an RFID interface (described above), then one mobile device 135 is geographically proximate to another mobile device 135 if the mobile device 135 is within radio frequency range of the other mobile device 135. Block 915 demonstrates the broadcast and receipt of the mobile device 135.
The mobile device 135 stores the received information within its memory 440 (step 830). The mobile device 135 may also output a signal to the user at any time during the procedure 800 (step 835). The output signal may indicate that another user of the network 110 is in range of the mobile device 135. Or, the output signal may indicate that a buddy in the network 110 is within range of the mobile device 135. For example, the controller 400 may send a signal to the imaging device 415 to output a blinking light or an image. As another example, the controller 400 may send a signal to the motion producer 420 to vibrate or buzz. As a further example, the controller 400 may send a signal to the audio device 425 to beep or play another sound or music.
When the mobile device 135 is re-connected to the computer system 105 (step 805), the mobile device 135 uploads all the user information that it has collected (step 810). The computer system 105 may, at this time, open a window 910 (for example, a window that includes features that interact with a program or application of the computer system 105) that shows the user information that it received from the mobile device 135. The application that runs the window 910 may or may not reside on the computer system 105. The computer system 105 automatically retrieves other appropriate user information from the database 117 that correlates with the downloaded information. For example, if the downloaded information includes a user identifier, the computer system 105 may retrieve information about the user's name, address, interests, or other accessible information that the user may have initially provided to the database 117 during registration (step 605). The application that displays the window 910 allows the user to perform all the basic functions for any user that she “met” throughout the day with the mobile device 135, such as, for example, add the other user to her contact list, send a message to the other user, retrieve more information about the other user.
In one implementation, the controller 400 sends a signal to the imaging device 415 to output a list of user information received during stand-alone mode 915. In another implementation, the controller 400 sends a signal to the motion producer 420 to vibrate or buzz while the interface 430 is receiving data from another mobile device 135. In a further implementation, the controller 400 sends a signal to the audio device 425 to beep or play a sound or music while the interface 430 is receiving data from another mobile device 135. In a further implementation, the controller 400 sends a first signal to a first output device if the data received is from a buddy of the user and a second signal to a second output device if the data received is from a user who is not a buddy of the user.
Other implementations are within the scope of the following claims.

## Claims

1. A method for identifying an online identifier associated with a mobile counterpart device that is geographically proximate to a mobile communications device associated with a user, the method comprising:
detecting, while in a mode disconnected from a computer system associated with the user, a geographic proximity between the mobile communications device and a mobile counterpart device based on an RFD signal received at the mobile communications device from the mobile counterpart device, the RFID signal identifying an online identifier associated with the mobile counterpart device;
identifying, based on the RFID signal received at the mobile communications device and from the mobile counterpart device, the online identifier associated with the mobile counterpart device for which geographic proximity is detected;
identifying, using a processor, a time associated with the receipt of the RFID signal;
storing, in a memory device of the mobile communications device while in the mode disconnected from the computer system, information reflective of the detected geographic proximity, the associated online identifier, and the time associated with the receipt of the RFID signal;
making perceivable an indication of the online identifier associated with the mobile counterpart device for which geographic proximity to the mobile communications device was detected;
uploading, from the memory device of the mobile communications device to the computer system, while in a mode connected to the computer system, the stored information reflective of the detected geographic proximity, the associated online identifier, and the time associated with the receipt of the RFID signal:
accessing, by the computer system, additional information corresponding to the uploaded online identifier, the additional information retrieved from a server configured to manage information corresponding to a plurality of online identifiers;
providing the additional information to the user at the computer system; and
enabling, by the computer system, the user to add the uploaded online identifier to a list of online identifiers designated by the user.

2. The method of claim 1 wherein storing includes maintaining a list of online identifiers for which geographic proximity has been detected.

3. The method of claim 2 wherein the list corresponds to a buddy list maintained for the user of the mobile communications device.

4. The method of claim 2 wherein the list is limited to online identifiers that appear on a buddy list maintained for the user of the mobile communications device.

5. The method of claim 1 wherein making the indication perceivable includes making the indication perceivable independently of perception of a buddy list.

6. The method of claim 5 wherein making the indication perceivable independently of perception of a buddy list includes outputting a sound.

7. The method of claim 1 wherein making the indication perceivable includes outputting a beep.

8. The method of claim 1 wherein making the indication perceivable includes distinguishing online identifiers for which detected geographic proximity was detected after a buddy list was last made perceivable to an operator of the mobile communications device.

9. The method of claim 1 wherein making the indication perceivable includes displaying the information using an imaging device at the mobile communications device.

10. The method of claim 9 wherein displaying includes enabling display of the indication using a monitor.

11. The method of claim 9 wherein displaying includes using a light to display an indication of current geographic proximity by a user-designated online identifier.

12. The method of claim 11 wherein the user-designated online identifier is identified through reference to a user-designated buddy list configured for use in an instant messaging communications application, and wherein the user-designated buddy list is stored on the mobile communications device while in a mode connected to the computer system.

13. The method of claim 1 wherein the indication distinguishes the online identifiers associated with at least two mobile counterpart devices for which geographic proximity to the mobile communications device was detected.

14. The method of claim 1 wherein the indication distinguishes the online identifiers associated with at least two mobile counterpart devices for which geographic proximity to the mobile communications device was previously detected but is not detected at the time of making the indicator perceivable.

15. The method of claim 1 wherein the detecting, identifying, and storing begin upon logical separation of the mobile communications device from the computer system.

16. A method for alerting a user associated with a mobile communications device of online identifiers associated with a mobile counterpart device in geographic proximity to the user, the method comprising:
detecting, using a processor and while in a mode disconnected from a computer system associated with the user, a geographic proximity between the user's mobile communications device and a mobile counterpart device based on an RFID signal received at the user's mobile communications device from the mobile counterpart device, the RFID signal identifying an online identifier associated with the mobile counterpart device;
distinguishing the mobile counterpart device, from at least one other device, as being geographically proximate to the user's mobile communications device;
determining, based on the RFID signal, the online identifier associated with the mobile counterpart device that is distinguished as being geographically proximate to the user's mobile communications device;
identifying, in a memory device of the user's mobile communications device, a list of online identities maintained for the user, the list being stored in the memory device while in a mode connected to the computer system;
identifying a time associated with the receipt of the RFID signal;
storing, in the memory device of the user's mobile communications device, information reflective of the detected geographic proximity, the associated online identifier, and the time associated with the receipt of the RFID signal;
comparing the determined online identifier with the online identifiers included within the list of online identifiers maintained for the user;
alerting the user of the mobile communications device of the online identifier associated with the mobile counterpart device that is deemed geographically proximate to the users mobile communication device based on whether the online identifier associated with the mobile counterpart device corresponds to one of the online identifiers included within the list of online identifiers maintained for the user;
uploading from the memory device of the mobile communications device to the computer system associated with the user, while in a mode connected to the computer system, the stored information reflective of the detected geographic proximity, the associated online identifier, and the time associated with the receipt of the RFID signal;
accessing, by the computer system, additional information for presentation to the user corresponding to the uploaded online identifier, the additional information retrieved from a server configured to manage information corresponding to a plurality of online identifiers; and
enabling, by the computer system, the user to add the uploaded online identifier to a list of online identifiers designated by the user.

17. The method of claim 16, wherein identifying the list includes permitting the user to designate a buddy list.

18. A method for identifying an online identifier associated with a mobile counterpart device in geographic proximity to a mobile communications device associated with a user, the method comprising:
detecting, using a processor and while in a mode disconnected from a computer system associated with the user, a geographic proximity between the users mobile communications device and a mobile counterpart device based on an RFID signal received at the user's mobile communications device from the mobile counterpart device, the RFID signal identifying an online identifier associated with the mobile counterpart device;
distinguishing the mobile counterpart device, from at least one other device, as being geographically proximate to the user's mobile communications device while the user's mobile communications device is in the mode disconnected from the computer system;
determining, while in the mode disconnected from the computer system, based on the RFID signal, the online identifier associated with the mobile counterpart device that is distinguished as being geographically proximate to the user's mobile communications device;
identifying a time associated with the receipt of the RFID signal;
uploading, from a memory device of the mobile communications device to the computer system, while in a mode connected to the computer system, information stored in a memory device of the mobile communications unit relating to the mobile counterpart device that was determined to be geographically proximate to the user's mobile communications device, information relating to the determined online identifier, and information relating to the identified time;
accessing, by the computer system, additional information corresponding to the uploaded online identifier, the additional information retrieved from a server configured to manage information corresponding to a plurality of online identifiers;
providing the additional information to the user at the computer system; and
enabling, by the computer system, the user to add the uploaded online identifier to a list of online identifiers designated by the user.

19. The method of claim 18, wherein the retrieved additional information includes another user's name address, interests, or other accessible information provided to the server by the another user of the determined geographically proximate mobile counterpart device.