The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:
The following discussion is presented to enable a person skilled in the art to make and use the present teachings. Various modifications to the illustrated embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the present teachings. Thus, the present teachings are not intended to be limited to embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein. The following detailed description is to be read with reference to the figures, in which like elements in different figures have like reference numerals. The figures, which are not necessarily to scale, depict selected embodiments and are not intended to limit the scope of the present teachings. Skilled artisans will recognize the examples provided herein have many useful alternatives and fall within the scope of the present teachings.
Instant messaging is a form of real-time communication between two or more people based on typed text. This is in direct contrast to email which is not real time. The text is conveyed via computers connected over a network such as the Internet. Instant messaging requires the use of a client program that connects to an instant messaging service and differs from e-mail in that conversations are then able to happen in realtime. Most services offer a presence information feature, indicating whether people on one's list of contacts are currently online and available to chat. This may be called a contact list.
An embodiment of the present invention allows a user to avoid IM errors by giving them extra time to detect the errors and prevent the transmission of the IM. This embodiment allows a user to effectively “take back” an IM that has already been sent by deferring the transmittal of the IM with a configurable delay. Between the time the “send” button on the original IM has been pressed and the actual sending of the IM to the other user(s), the originator has enough time to cancel the final delivery of the IM.
The idea is to add a delay buffer to the sequence of sending an IM.
The user types the IM as usual and presses the send key. The normal user experience for the IM is followed (e.g., in most IM sessions, the IM is copied to the upper section of the IM conversation indicating that it has been sent). However, although it appears as if it has been sent, the message is actually copied to a buffer and is not actually transmitted until after a user configured number of seconds, for example five seconds.
This delay gives the user a second chance to look at what has been typed to ensure that it is correct and being sent to the right party. If it is OK, then the message will arrive at the destination. The users on both sides will not see or feel any difference in the way IM works today, since typing an IM usually takes longer than five seconds. If the user desires, then the delay can be configured (for example between 1 and 10 seconds) to match their personal preferences and typing speeds. If, however, the user has made an error then they can click on the problematic text in the upper section and this will cancel the message transmission. The message text will be copied back to the input area for subsequent modification. Further, a delay buffer can be added as a patch to all the existing IM applications.
With reference to
Computing devices 10 and 12 can be computer systems or similar devices capable of participating in a data session using an instant messaging application such as MSN Messenger™. The IM session 40 is initiated by a user either on computing device 10, computing device 12, or associated devices 30 and 32 and may include definitions/locations of the participants and nicknames. This may include parties 1 and 2 utilizing an associated device (shown as devices 30 and 32) such as a cellular telephone. The establishment of a messaging or collaboration session is well-known in the art and not discussed in further detail.
In some embodiments, IM session 40 can make use of an application such as OpenScape™ (a communications suite developed by Siemens AG) service which configures and manages IM session 40. The secondary application communicates with mobile application server 230 such as an IMS Server (IP Multimedia Subsystem) or other similar mobile application server. The IMS Server is an application server developed by Siemens AG for transacting data with mobile communication devices. The maintenance of the list of parties can also be handled by such applications running on either computing device 10 or 12, mobile application server 230 or even on associated devices 30 and 32
Associated devices 30 and 32 can be an analog cellular telephone and/or a digital cellular telephone, or satellite-based mobile phone or any wireless communication device which has IM capability. In some embodiments, the associated device 30 may be a 2G, 2.5G, 3G, or 3gPP enabled device.
Mobile application server 230 is an application server which may be present in or accessible by a base station of a cellular network or other communications relaying and networking center. One example is IMS (see description above) which allows inter-working and communication amongst IP-based networks, cellular technologies (such as GSM/GPRS) and wired telephony technologies (such as PSTN) and thus enables a rich variety of data (such as instant messages). The mobile application server 230 may also be available to computing device 10 or 12 via a data network such as the Internet.
In accordance with various embodiments of the invention, computing device 10 would be utilized by a party to participate in IM session 40. IM session 40 may present or make available to either party 1 or 2 a list of all of parties. Included in this list may be the name of each.
In accordance with at least some embodiments of the invention, the originating party 1 is presented via computing device 10 or via associated device with a list or selection toggle which includes an identifier for destination party 2. The identifier could be any combination of a name, email, or nickname. For example, in
With reference to
With reference to
This system allows a user to effectively “take back” an IM that has already been sent. It also keeps the real time benefits of instant messaging for the user.
Computing device 10 may comprise a single device or computer, a networked set or group of devices or computers, such as a workstation, laptop etc. Computing device 10 is typical of a data session-capable machine. Computing device 10 includes microprocessor 530 in communication with communication bus 540. Microprocessor 530 is used to execute processor-executable process steps so as to control the components computing device 10 to provide functionality according to embodiments of the present invention. Microprocessor 530 may comprise a Pentium™, or Itanium™ microprocessor manufactured by Intel Corporation. Other suitable processors may be available from Motorola, Inc., AMD, or Sun Microsystems, Inc. Microprocessor 530 also may comprise one or more microprocessors, controllers, memories, caches and the like.
Input device 560 and display 570 are also in communication with communication bus 540. Any known input device may be used as input device 560, including a keyboard, mouse, touch pad, voice-recognition system, or any combination of these devices. Input device 560 may be used by a user to input information and commands and select a destination party (parties) to initiate instant messaging.
Display 570 may be an integral or separate CRT display, a flat-panel display or the like. Display 550 is generally used to output graphics and text to an operator in response to commands issued by microprocessor 530.
Display 570 may display presentation data and the like which is used during the instant messaging session.
RAM (Random Access Memory) 580 is connected to communication bus 540 to provide microprocessor 530 with fast data storage and retrieval. In this regard, processor-executable process steps being executed by microprocessor 530 are typically stored temporarily in RAM 580 and executed therefrom by microprocessor 530. ROM (Read Only Memory) 590, in contrast, may provide storage from which data can be retrieved but to which data cannot be stored. Accordingly, ROM 590 may be used to store invariant process steps and other data, such as basic input/output instructions and data used during system boot-up or to control input device 560. One or both of RAM 580 and ROM 590 may communicate directly with microprocessor 530 instead of over communication bus 540, or on separate dedicated busses.
Data storage device 595 stores, among other data, processor-executable process steps of instant messaging session management application discussed with respect to
Also illustrated is a network interface 550 which may be a wired or wireless Ethernet interface, a modem interface, and so on. In utilizing the various embodiments of the invention, the network interface 550 may be connected to or to provide or access a high-speed connection to the Internet or an Intranet providing access to the Internet or similar networks. Using such a network or networks, computing device 10 can communicate identifiers of destination parties to mobile application server 230.
Stored in data storage device 595 may also be other elements that may be necessary for operation of computing device 10, such as other applications, other data files, a network server, an operating system, a database management system and “device drivers” for allowing microprocessor 530 to interface with external devices. These elements are known to those skilled in the art, and are therefore not described in detail herein.
The particular arrangements of process steps described above are not meant to imply a fixed order; embodiments can be practiced in any order that is practicable. The processes described herein may be embodied as program code developed using an object-oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, embodiments may be implemented in many different ways using a wide range of programming techniques as well as hardwired in hardware systems or dedicated controllers. In addition, in some embodiments, many, if not all, of the elements described above are optional or can be combined into single elements.
Thus, embodiments of the DELAYED INSTANT MESSAGING FOR ASSURED COMMUNICATION are disclosed. One skilled in the art will appreciate that the present teachings can be practiced with embodiments other than those disclosed. The disclosed embodiments are presented for purposes of illustration and not limitation, and the present teachings are limited only by the claims that follow.