Embodiments of the present invention relate to hand held computer systems. More particularly, embodiments of the present invention provide a method and apparatus for collaborative communication among several wireless computer systems, for example hand held computers.
It is often desirable to communicate or “talk” with others in a quiet or discrete manner. There are many situations in which people may desire to communicate with one another, but actual verbal talking is inappropriate. For reasons of etiquette, security, negotiation strategy or language, it may be required to communicate in a discrete manner.
For example, it is generally not acceptable in an office environment to yell a message to someone 30 feet distant. Such a communication would disrupt everyone in the area. Further, a loud voice is generally disturbing.
One or more parties to a desired communication may already be in a verbal conversation with others, for example on the phone or in a meeting. It is frequently desirable to have a “side conversation” among some, but not all, participants in a meeting. Passing notes is a well known response to that scenario. Another well known technique is to whisper.
Many people, however, find such prior art techniques lacking. Passing notes or whispering are generally considered rude. Further, they may serve to attract unwanted attention to a private conversation. A traditional method may also lack a desired level of privacy or security.
A high tech version of talking among a subset of meeting participants has emerged in recent years. Meeting participants may use two-way pagers or the SMS features of mobile phones to message one another. With the advent of wireless internet connectivity, it is even possible to send email among participants in a meeting.
These high tech methods are also found to be insufficient. They generally rely on wide area infrastructure, which is frequently public. Messages are thus dispersed over geographically dispersed areas, allowing numerous points for interception. Public infrastructures additionally incur costs, often on a per-message or per size of message basis.
What is needed, therefore, is a means for silent communication that is discrete, secure, and has a limited geographic footprint.
Unfortunately, methods for discrete communication with these benefits have not been available in the prior art.
Therefore, it would be advantageous to provide a method and system for collaborative communication among several hand held computer systems. A further need exists for a method to identify the contributions of several collaborators. A still further need exists for a controlling participation in a collaborative chat session.
Embodiments of the present invention provide a method and system for collaborative chatting among several hand held computer systems. Further embodiments implement a method to identify the contributions of several collaborators. Still other embodiments may control participation in a collaborative chat session.
A method and apparatus for collaborative chatting on a plurality of hand held computer systems are disclosed. A Bluetooth communication may be established among several hand held computer systems. A participants list may be cached from previous sessions, eliminating a typical step of discovery. Collaborative chatting software may be automatically initiated on the hand held systems in the group. Information entered by any member of the group may be displayed in substantially real time on all hand held computer systems. Information may be color coded to identify its source. In this novel manner, collaborative chatting on a plurality of hand held computer systems may occur, resulting in richer, more efficient and more secure communication between group members.
In the following detailed description of the present invention, N-WAY INTERACTIVE communication USING HAND HELD COMPUTERS, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Some portions of the detailed descriptions which follow (e.g., processes 700 and 800) are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “indexing” or “processing” or “computing” or “translating” or “calculating” or “determining” or “scrolling” or “displaying” or “recognizing” or “generating” or “erasing” or “transferring” or “establishing” or “chat” or “updating” or “initiating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention is described in the context of a hand held computer system. However, it is appreciated that the present invention may be utilized in other types of portable electronic devices where it may be desirable to share information in a graphical form.
Bluetooth is the trade name for a technology specification for small form factor, low-cost, short-range radio links between personal computers (PCs), hand held computers, mobile phones and other devices and appliances. However, it is appreciated that the present invention may be utilized with devices and systems compliant with standards different from Bluetooth, such as the IEEE (Institute of Electronic and Electrical Engineering) 802.11 standard.
The Bluetooth technology allows cables that typically connect one device to another to be replaced with short-range radio links. Bluetooth is targeted at mobile and business users who need to establish a link, or small network, between their computer, cellular phone and other peripherals. The required and nominal range of Bluetooth is thus set to approximately ten (10) meters. To support other uses, for example the home environment, Bluetooth can be augmented to extend the range to up to 100 meters.
The Bluetooth technology is based on a high-performance, yet low-cost, integrated radio transceiver. For instance, Bluetooth transceivers built into both a cellular telephone and a hand held computer system would replace the cables used today to connect a hand held to a cellular telephone. Bluetooth radio technology can also provide a universal bridge to existing data networks, a peripheral interface, and a mechanism to form small private ad hoc groupings of connected devices away from fixed network infrastructures.
A Bluetooth system supports both point-to-point and point-to-multi-point connections. Several piconets can be established and linked together in a “scatternet,” where each piconet is identified by a different frequency hopping sequence. All devices participating on the same piconet are synchronized to their respective hopping sequence.
Accordingly, devices 10, 20, 30 and 40 are coupled in piconet 1 using wireless connections 80a-c. Similarly, devices 50, 60 and 70 are coupled in piconet 2 using wireless connections 80e-f. Piconet 1 and piconet 2 are coupled using connection 80d, which may be wireless or carried over another type of network. Devices 10-70 can be printers, personal digital assistants (PDAs), desktop computer systems, laptop computer systems, cell phones, fax machines, keyboards, and joysticks equipped with a Bluetooth radio transceiver or adapted to communicate with Bluetooth devices (“Bluetooth-enabled”). In accordance with the present invention, devices 10-70 can also be virtually any type of device, including mechanical devices and appliances, equipped with a Bluetooth radio transceiver or Bluetooth-enabled. The Bluetooth radio transceiver may be integrated into the device, or it may be coupled to the device.
Computer system 100 also contains a display device 105 coupled to the bus 110 for displaying information to the computer user. The display device 105 utilized with computer system 100 may be a liquid crystal display device, a cathode ray tube (CRT), a field emission display device (also called a flat panel CRT) or other display device suitable for generating graphic images and alphanumeric characters recognizable to the user. In the preferred embodiment, display device 105 is a flat panel display.
Computer system 100 also includes a cursor control or directing device (on-screen cursor control 107) coupled to bus 110 for communicating user input information and command selections to processor 101. In one implementation, on-screen cursor control device 107 is a touch-screen device incorporated with display device 105. On-screen cursor control device 107 is capable of registering a position on display device 105 where a stylus makes contact.
Also included in computer system 100 of
In accordance with the present invention, in one embodiment, a stylus can be used for making a stroke or inscribing a character on the surface of input device 106. The stroke or character information is then fed to a processor 101 for automatic character recognition. Once the stroke or character information is recognized, it can be displayed on display device 105 for verification and/or modification.
With reference still to
In the present embodiment, the top-side face 100a contains a display device 105 typically surrounded by a bezel or cover. A removable stylus element 90 is also shown. The display device 105 is a touch screen capable of registering contact between the screen and the tip of the stylus element 90. The top-side face 100a also contains an input device 106 that in one implementation is a stroke or character recognition pad. Input device 106 is a touch screen type of device capable of registering contact with a tip of stylus element 90, and also can register movements of the stylus element. The stylus element 90 can be of any shape and material to make contact with the display device 105 and input device 106.
With reference to both
In the Bluetooth embodiment, RF module 210 is a Bluetooth radio. Bluetooth radios operate in the ISM (Industrial, Scientific Medical) band at 2.4 GHz. A frequency hop transceiver is applied to combat interference and fading. Bluetooth uses a packet-switching protocol based on a frequency hop scheme with 1600 hops/second. Slots can be reserved for synchronous packets. A packet nominally covers a single slot, but can be extended to cover up to five slots. Each packet is transmitted in a different hop frequency. The entire available frequency spectrum is used with 79 hops of one (1) MHz bandwidth, defined analogous to the IEEE 802.11 standard. The frequency-hopping scheme is combined with fast ARQ (Automatic Repeat Request), cyclic redundancy check (CRC) and Forward Error Correction (FEC) for data.
In the present embodiment, link controller 220 is a hardware digital signal processor for performing baseband processing as well as other functions such as Quality-of-Service, asynchronous transfers, synchronous transfers, audio coding, and encryption.
In one embodiment, microcontroller 230 is an application specific integrated circuit (ASIC). In the Bluetooth embodiment, microcontroller 230 is a separate central processing unit (CPU) core for managing transceiver 108 and for handling some inquiries and requests without having to involve the host device. In the Bluetooth embodiment, microcontroller 230 runs software that discovers and communicates with other Bluetooth devices via the Link Manager Protocol (LMP). The LMP provides a number of services including sending and receiving of data, inquiring of and reporting a name or device identifier, making and responding to link address inquiries, connection setup, authentication, and link mode negotiation and setup. The LMP also can be used to place transceiver 108 in “sniff” mode, “hold” mode, “park” mode or “standby” mode (refer to
With reference still to
A connection between devices is made by a “page” message (506) if the address is already known, or by an “inquiry” message (504) followed by a subsequent page message if the address is unknown. When connected (510), data can be transmitted (508) between devices.
As compliant devices, hand held computers 610-630 respond to broadcast message 640 via responses 650a, 650b and 650c, respectively. In the present embodiment, responses 650a-c include the Medium Access Control (MAC) address for remote devices 610-630. Typically, each remote device is assigned a temporary MAC address for the duration of the connection. All communications between portable computer system 100 and a remote device carry the MAC address of the remote device. Responses 650a-c can also include information characterizing, for example, the type and capabilities of each remote device. This information may include an identifier that can be used by portable computer system 100 to characterize the other devices based on information stored in a database or lookup table.
In the present embodiment, when a connection between portable computer system 100 and another hand held computer, for example hand held A 610, has already been established, or when the MAC address of the remote device is known, broadcast message 640 may be a page message 506 (
In step 710, a Bluetooth device identification is stored in a hand held computer system. The identification may have been determined automatically in a previous communication, as discussed above in relation to
In step 720, the device identification previously stored is accessed. It is appreciated that other steps and other processes, not associated with process 700 may take place between steps 710 and 720.
In optional step 730, the device id, or a representation of the id, e. g., a “friendly name” which may be associated with a device identification by a user, may be displayed. In optional step 740, a user may be able to select whether to include a particular device identification (or representation thereof) in a Bluetooth communication. The selection may take the form of checking a box drawn on the display, as shown in
In step 750, the Bluetooth connection may be established without using an inquiry message, for example inquiry 504 of
Importantly, the Bluetooth connection may not be a part of a piconet, but rather a point to point connection, according to an embodiment of the present invention. A point to point connection has an advantage in this application in that a first user may join or leave a communication without affecting other users not involved in communication with the first user. In a typical Bluetooth piconet, if one user leaves, the piconet may be disrupted, thereby interrupting communication between remaining members that may have desired to remain in communication.
In step 810, a collaborative chat session may be started on a first hand held computer system, for example by a host user. The host user may be determined by being the first to press a share button.
Herein, chat or chat information includes a communication of textual or other descriptive or symbolic expression for communication ideas or description. One such example is text based information, e.g., in ASCII coded text, being alphanumeric in nature. Chat may also include emoticons or other graphical symbols used similarly to characters, for example the graphical characters described in relation to
In step 820, a Bluetooth communication may be established between the first hand held computer system and other hand held computer systems.
In step optional step 830, a message may be sent to the several hand held computers comprising the communication to automatically initiate a collaborative chat software.
In optional step 840, an error message may be displayed if one of the hand held computer systems does not have the proper software. In addition, a message may be displayed instructing a user how to get the proper software, for example to download it from a website, or to have another member of the group “beam” (transfer via infrared signals) the software.
In step 850, a color may be automatically assigned to each hand held computer system comprising the communication.
In step 860, information, for example a communication element, from each hand held computer system is displayed in the color assigned to that hand held computer system. For example, if the host is assigned black, then all other hand held computer systems may display communication elements entered by the host in black. Likewise, if a second hand held computer system is assigned red, its communication contributions will be displayed in red.
In optional step 870, a user may change the color assignment, for example via color palette 2110 of
Importantly, a hand held computer system with a monochrome display may not display color palette 2110.
According to an embodiment of the present invention, when collaborative chat software is initialized, users may be presented with the blank chat area illustrated in
The first user to select the Chat button 910 may be assigned the role of host. The host may invite other chat software users or “partners” to join in separate conversations. According to embodiments of the present invention, a single user may be limited to communication with a maximum of three other users.
According to embodiments of the present invention, if chat software is being run for the first time and/or there is no stored list of recent contributors, tapping Chat button 910 may cause hand held system 100 to discover all handhelds within range. The potential partners discovered are displayed in
If the host has previously collaborated using chat software, a Connect dialog may display a list of their recent partners from previous chat sessions. This speeds the setup process when a user is consistently working with a small group, as the Bluetooth discovery process is not needed.
If the host device has previously participated in a collaborative communication session using embodiments of the present invention, connect dialog 1000 may display a list of their recent partners 1030. This speeds the setup process when consistently working with a small group, as the Bluetooth discovery process is not needed.
Tapping on any user on the list 1030, and then tapping OK button 1020 may begin the Bluetooth connection process.
Tapping Cancel button 1040 may return the user to the main screen (
After the OK button 1020 is tapped, embodiments of the present invention may attempt to connect to the selected partner. If the host selects a partner that does not have chat software installed on their hand held computer, an error dialog 1100 illustrated in
Assuming that the potential partner has the proper software installed on their handheld, a connecting dialog 1200 as shown in
If the host taps the Cancel button 1210, the connection process to that partner may be aborted and the host may be returned to the main screen illustrated in
If the invited partner taps the No button 1320, the dialog is dismissed and they return to the application they were previously using. The host may receive a message letting them know that the invited partner has declined.
If the invited partner has blocking enabled or their chat partner list is already full, the host unit may display a dialog informing the user that the partner is not currently accepting chat requests.
Once connected to a partner, the text “<Connected>” 1610 as shown in
In accordance with embodiments of the present invention, <Connected> text 1610 and other text messages may disappear from the screen 100 as additional chat messages are added and the messages are scrolled up. Each user also may see their chat partner's Bluetooth friendly name 1620 in the upper right-hand corner. The name 1620 may appear in a unique color associated with that specific partner to visually tie it to the text that appears in the active area.
Active area 1720 may display the text messages and graphics that are being sent between the host and a partner. When the host and partner exchange text messages, these messages appear on individual lines with line breaks separating them. If the number of text lines exceeds the size of the visible active area, a vertical scroll bar may appear. The chat text in the active area may automatically scroll so that the last line always sits at the bottom of the active area. This scrolling permits the maximum view of the chat history.
Depending on the user preferences, a descriptive name will appear in front of the text that the host's partner types. By default, embodiments of the present invention do not display this information. If displayed, the format “<user>:<message>” may be used.
Regardless of how a chat is disconnected (End versus communications break), the text of the chat may remain available until the user switches to another partner (if any) in the chat application.
Embodiments of the present invention may send the connection information presenting in Table 1 to both the host and the chat partner via the active area. Each message may be bracketed with the characters “<>”.
Input area 930 displays text messages and graphics that are being entered before they are sent to the other user and displayed in the Active Area 1720. Text input received from Graffiti stroke recognition, an on-screen keyboard, or external input devices may be displayed here. Graphics added to the text message by the user may be added to the end of the currently displayed message in the input area.
The Send button 1730 may take the current text/graphic message in the input area and send it to communications partner. The message may then be displayed in the active area of both devices.
When either one of the users taps the End button 1740 or the connection is dropped, the Send button 1730 may be changed to a Chat button 910.
Tapping on any of the available graphical symbols 1810-1840 may append them to the end of the text message currently typing being entered in the input area. Tapping the Cancel button 1850 may dismiss the dialog without adding any graphics to the input area.
Tapping on any of the phrases, for example phrase 1910, in the pull down menu may dismiss the menu and immediately adds the selected phrase to the input area 930.
Tapping the OK button 2010 may dismiss the Phrases dialog 2000 and update the pull down menu 1900 data structure with any changes made while the user was in the Phrases dialog 2000.
Tapping the Delete button 2020 may remove the selected phrase from the list. If a user has not selected a phrase, this button may not perform an action.
Tapping the New button 2030 may display a New Phrase dialog.
If a new chat message is sent from another partner besides the current partner, a flashing indicator (not shown) may be displayed which shows that a new message awaits. An indicator (not shown) may be added to the area to the left of the current chat partner. A communication partner symbol (not shown) may be indicated next to the partner name in chat partner pull down display 2210. The user may select the partner with the new message indicator to make that chat session the current session, see the message and respond.
According to embodiments of the present invention, the graphics of flashing indicator 2230 and communication partner symbol 2220 may be identical, to aid user recognition of the event reporting.
Blocking allows a user to prevent other collaborative chat software users from sending unsolicited collaborative chat software partnering requests to them.
Communication information entered on any device, for example Bluetooth-enabled hand held computer system 100 may be wirelessly communicated to other members of the group. Wireless communication 2410 is depicted between system 100 and system 610. Wireless communication 2430 is depicted between system 100 and system 620. Wireless communication 2420 is depicted between system 100 and system 630. In this manner, wireless hand held system 100 may chat with other wireless capable hand held computer systems.
The preferred embodiment of the present invention a system and method for N-way interactive communication using hand held computers is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5010547 | Johnson | Apr 1991 | A |
| 5012219 | Henry | Apr 1991 | A |
| 5075684 | DeLuca | Dec 1991 | A |
| 5359317 | Gomez | Oct 1994 | A |
| 5394140 | Wong | Feb 1995 | A |
| 5430436 | Fennell | Jul 1995 | A |
| 5612682 | DeLuca | Mar 1997 | A |
| 5650776 | Mitchell | Jul 1997 | A |
| 5705995 | Laflin | Jan 1998 | A |
| 5903852 | Schaupp, Jr. | May 1999 | A |
| 5958006 | Eggleston | Sep 1999 | A |
| 5978835 | Ludwig et al. | Nov 1999 | A |
| 5999208 | McNerney et al. | Dec 1999 | A |
| 6157630 | Adler | Dec 2000 | A |
| 6192395 | Lerner et al. | Feb 2001 | B1 |
| 6219698 | Iannucci et al. | Apr 2001 | B1 |
| 6476825 | Croy et al. | Nov 2002 | B1 |
| 6484196 | Maurille | Nov 2002 | B1 |
| 6609147 | Matsuda et al. | Aug 2003 | B1 |
| 6654790 | Ogle et al. | Nov 2003 | B2 |
| 6690918 | Evans et al. | Feb 2004 | B2 |
| 6713308 | Lu et al. | Mar 2004 | B1 |
| 6714793 | Carey et al. | Mar 2004 | B1 |
| 6741856 | McKenna et al. | May 2004 | B2 |
| 7974260 | Kuhl et al. | Jul 2011 | B2 |
| 20020025839 | Usui | Feb 2002 | A1 |
| 20020122410 | Kulikov et al. | Sep 2002 | A1 |
| 20020174248 | Morriss | Nov 2002 | A1 |
| 20020184391 | Phillips | Dec 2002 | A1 |
| 20030208541 | Musa | Nov 2003 | A1 |
| 20050101338 | Kraft | May 2005 | A1 |
| 20070282733 | May | Dec 2007 | A1 |