`US 20030039340Al
`
`(19) United States
`(12) Patent Application Publication
`Deshpande et al.
`
`(10) Pub. No.: US 2003/0039340 Al
`Feb. 27, 2003
`(43) Pub. Date:
`
`(54) ADAPTIVE INSTANT MESSAGING
`
`(21) Appl. No.:
`
`09/938,778
`
`(75)
`
`Inventors: Nikhil M. Deshpande, Beaverton, OR
`(US); Jay G. Gilbert, Portland, OR
`(US); Todd D. Harrison, Beaverton,
`OR (US)
`
`Correspondence Address:
`Schwegman, Lundberg,
`Woessner & Kluth, P.A.
`P.O. Box 2938
`Minneapolis, MN 55402 (US)
`
`(73) Assignee: Intel Corporation
`
`(22) Filed:
`
`Aug. 24, 2001
`
`Publication Classification
`
`Int. Cl.7 .................................................... H04M 11/00
`(51)
`(52) U.S. Cl. .......................................................... 379/88.16
`
`ABSTRACT
`(57)
`A method, apparatus, and system for communicating an
`instant message where the destination of the instant message
`may select whether to receive the instant message as text or
`speech independent of the origin of the instant message.
`
`110
`,.,
`I INSTANT MESSAGING SERVER I
`
`100
`
`/
`
`120-1
`
`NEIWORK
`
`ORIGIN
`CLIENT DEVICE
`
`130-1
`,.,
`135-1
`...,
`
`PROCESSOR
`
`>-
`
`140-1
`'--
`STORAGE
`160_ 1 TEXT-TO-SPEECH
`~ CONVERTER
`
`1_§5-1
`
`L.:::J
`
`170-1
`
`SPEECH;O-TEXT
`CONVERTER
`
`180-1-.r
`...,145-1
`
`120-2
`
`NETWORK
`
`DESTINATION
`CLIENT DEVICE
`
`)30-2
`)35-2
`
`PROCESSOR
`
`-
`
`140-2
`
`'--.
`STORAGE
`160_2 TEXT-TO-SPEECH
`
`165-2
`
`.../
`
`L:-1 CONVERTER
`
`~ ·110-2
`SPEECH-TO-TEXT
`CONVERTER
`
`180-2..,.
`145-2
`...,
`
`150-1
`,.,
`
`NETWORK
`ADAPTER
`
`_
`
`150-2
`
`.../
`
`NE1WORK
`ADAPTER
`
`INPUT DEVICE
`
`155-1
`...,
`
`OUTPUT DEVICE ._
`
`INPUT DEVICE
`
`)55-2
`
`OUTPUT DEVICE .-
`
`Page 1 of 9
`
`
`
`Patent Application Publication Feb. 27, 2003 Sheet 1 of 3
`
`US 2003/0039340 Al
`
`110
`
`INSTANT MESSAGING SERVER
`
`100
`
`/
`
`120-2
`
`NETWORK
`
`DESTINATION
`CUENT DEVICE
`
`140-2
`'--
`STORAGE
`
`130-2
`135-2
`
`,J
`
`PROCESSOR
`
`, -
`
`165-2
`
`,J
`
`160-2
`
`,J
`
`TEXT-TO-SPEECH
`CONVERTER
`
`CONTROLLER
`
`. 1J0-2
`
`SPEECH-TO-TEXT
`CONVERTER
`
`180-2_,
`145-2
`
`,J
`
`ORIGIN
`CLIENT DEVICE
`
`130-1
`135-1
`
`, J
`
`PROCESSOR
`
`,_
`
`140-1
`' -
`135-1
`STORAGE
`L=7 CONVERTER
`160_ 1 TEXT-TO-SPEECH
`L:::_j
`
`170-1
`
`SPEECH-;0-TEXT
`CONVERTER
`
`180-1..r
`145-1
`
`,J
`
`150-1
`
`,J
`
`NETWORK
`ADAPTER
`
`-
`
`150-2
`
`, . /
`
`NETWORK
`ADAPTER
`
`-
`
`INPUT DEVICE 1 - - - - - - - - 1
`155-1
`
`,J
`
`INPUT DEVICE
`
`OUTPUT DEVICE
`
`,__
`
`155-2
`
`,J
`
`OUTPUT DEVICE , -
`
`FIG. 1
`
`Page 2 of 9
`
`
`
`Patent Application Publication Feb. 27, 2003 Sheet 2 of 3
`
`US 2003/0039340 Al
`
`START
`
`200
`
`NO
`
`215
`
`CONVERT THE INPUT .,_._YE_S-<..
`SPEECH TO TEXT
`
`220
`
`SEND THE TEXT
`INSTANT MESSAGE
`
`RETURN
`
`299
`
`FIG. 2
`
`Page 3 of 9
`
`
`
`Patent Application Publication Feb. 27, 2003 Sheet 3 of 3
`
`US 2003/0039340 Al
`
`START
`
`300
`
`305
`
`RECEIVE A TEXT
`INSTANT MESSAGE
`
`NO
`
`YES
`
`320
`
`330
`
`CONVERT
`TEXT-TO-SPEECH
`
`DISPLAY THE
`TEXT MESSAGE
`
`325
`
`PLAY THE
`SPEECH MESSAGE
`
`RETURN
`
`399
`
`FIG. 3
`
`Page 4 of 9
`
`
`
`US 2003/0039340 Al
`
`Feb.27,2003
`
`1
`
`ADAPTIVE INSTANT MESSAGING
`
`FIELD
`
`[0001] This invention relates generally to communication
`between computing devices and more particularly to instant
`messaging between computing devices in a network.
`
`COPYRIGHT NOTICE/PERMISSION
`
`[0002] A portion of the disclosure of this patent document
`contains material that is subject to copyright protection. The
`copyright owner has no objection to the facsimile reproduc(cid:173)
`tion by anyone of the patent document or the patent disclo(cid:173)
`sure as it appears in the Patent and Trademark Office patent
`file or records, but otherwise reserves all copyright rights
`whatsoever. The following notice applies to the software and
`data as described below and in the drawings hereto: Copy(cid:173)
`right© Intel, Incorporated, 2001. All Rights Reserved.
`
`BACKGROUND
`
`[0003] When computer networks, such as the Internet, first
`began, users sent electronic mail ( email) to each other. Email
`is passed between nodes in a network using a "store-and(cid:173)
`forward" technique where an email is stored at a node in a
`network until a short-lived connection is established to the
`next node, at which time the email is passed along. Even(cid:173)
`tually, after traveling through possibly multiple nodes, the
`email arrives at the destination node.
`[0004] But, users wanted a faster way to communicate
`more akin to talking, so now instant messaging services are
`available that deliver messages faster than email and allow
`text-based communication to occur in a rapid, conversa(cid:173)
`tional fashion. Whereas email is a store-and-forward system
`based on short-lived connections, recipients listening for
`instant messages remain connected to their server on a
`long-lived connection. This long-lived connection allows
`instant messages to be delivered in close to real time.
`[0005] Another difference of some instant messaging sys(cid:173)
`tems from email systems is that instant messages are deliv(cid:173)
`ered to a recipient if the recipient is listening for messages
`and there are no obstacles to delivery. Otherwise, the mes(cid:173)
`sage is dropped, and the sender is informed of the delivery
`failure. Thus, in some instant messaging systems, messages
`are not queued or saved.
`[0006] A still further difference of instant messaging from
`email is that email is fundamentally built on one-way
`message passing, while instant messaging systems are typi(cid:173)
`cally built on request-reply pairs. Many instant messaging
`services also include a presence function, which enables the
`instant messaging system (and also other users) to know
`when a particular user is online.
`[0007] Yet another difference of instant messaging from
`email is that many instant messaging services have the
`concept of presence information. That is, the instant mes(cid:173)
`saging service and a user know when other users are
`connected. An example of an instant messaging service that
`does not have presence information is SMS (Short Message
`Service), which provides the capability to send short mes(cid:173)
`sages to mobile digital phones.
`[0008] Users may send and receive instant messages from
`and to a wide variety of client computing devices. For
`
`example, laptop or notebook computers, desktop computers,
`mainframe computers, handheld computers, and PDAs (Per(cid:173)
`sonal Digital Assistants) are a few of the possible client
`computing devices.
`[0009] Also, users may operate the client devices in a wide
`variety of locations and circumstances. For example, one
`user might be in a meeting in a physical conference room
`and wish to have a side conversation via instant messaging
`without disturbing the other meeting participants. Another
`user might be alone in an automobile and wish to have
`hands-free operation of instant messaging, with no concern
`for the instant messages bothering others.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0010] FIG. 1 depicts a block diagram of an embodiment
`of the invention.
`[0011] FIG. 2 depicts a flowchart of processing for a
`transmit instant-message function at an origin-client device,
`according to an embodiment of the invention.
`[0012] FIG. 3 depicts a flowchart of processing for a
`receive instant-message function at a destination-client
`device, according to an embodiment of the invention.
`
`DETAILED DESCRIPTION
`
`[0013]
`In the following detailed description of exemplary
`embodiments of the invention, reference is made to the
`accompanying drawings (where like numbers represent like
`elements), which form a part hereof, and in which is shown
`by way of illustration specific exemplary embodiments in
`which the invention may be practiced. These embodiments
`are described in sufficient detail to enable those skilled in the
`art to practice the invention, but other embodiments may be
`utilized and logical, mechanical, electrical, and other
`changes may be made without departing from the scope of
`the present invention. The following detailed description is,
`therefore, not to be taken in a limiting sense, and the scope
`of the present invention is defined only by the appended
`claims.
`[0014]
`In the following description, numerous specific
`details are set forth to provide a thorough understanding of
`the invention. However, it is understood that the invention
`may be practiced without these specific details. In other
`instances, well-known circuits, structures and techniques
`have not been shown in detail in order not to obscure the
`invention.
`[0015] FIG. 1 depicts a block diagram of instant messag(cid:173)
`ing system 100, according to an embodiment of the inven(cid:173)
`tion. Instant messaging system 100 includes instant-messag(cid:173)
`ing server 110, networks 120-1 and 120-2, origin-client
`device 130-1, and destination-client device 130-2. Although
`two client devices (130-1 and 130-2) are shown, in other
`embodiments any number of client devices may be present.
`[0016]
`Instant-messaging server 110 receives text mes(cid:173)
`sages across network 120-1 from origin-client devices, such
`as origin-client device 130-1, and forwards the text mes(cid:173)
`sages across network 120-2 to the appropriate destination(cid:173)
`client device, such as destination-client device 130-2.
`Instant-messaging server 110 may be a server computer.
`Instant-messaging server 110 may use any suitable instant
`messaging functions. Examples of instant-messaging serv-
`
`Page 5 of 9
`
`
`
`US 2003/0039340 Al
`
`Feb.27,2003
`
`2
`
`ers are those provided by AOL (America Online), Yahoo!,
`and Microsoft MSN Messenger Service, but any suitable
`instant-messaging server may be used. In another embodi(cid:173)
`ment, instant-messaging server 110 may be provided by a
`paging service. Instant-messaging server 110 may be imple(cid:173)
`mented using any suitable hardware and/or software, such as
`a personal computer available from a number of vendors.
`But, other examples may be portable computers, laptop
`computers, mainframe computers, or any other suitable type
`of hardware and/or software. The invention is not so limited.
`Instant-messaging server 110 may support any suitable
`instant messaging protocol. In an embodiment, instant(cid:173)
`messaging server 110 supports the Internet Engineering Task
`Force's (IETF) Instant Messaging and Presence Protocol.
`
`[0017] Networks 120-1 and 120-2 can be any suitable
`network capable of supporting instant messaging. Although
`two networks (120-1 and 120-2) are shown, in other embodi(cid:173)
`ments any number of networks may be present and client
`devices may use the same network or different networks. In
`an embodiment, networks 120-1 and 120-2 may support
`wireless communications. In another embodiment, networks
`120-1 and 120-2 may support hard-wired communications,
`such as a telephone line or cable. Networks 120-1 and 120-2
`may support any appropriate protocol suitable for instant
`message. In an embodiment networks 120-1 and 120-2 are
`the Internet and support IP (Internet Protocol). In other
`embodiments, networks 120-1 and 120-2 may be a local area
`network (LAN) or a wide area network (WAN).
`[0018] Origin-client device 130-1 includes processor 135-
`1, storage device 140-1, network adapter 145-1, input device
`150-1, and output device 155-1, all communicatively
`coupled via bus 180-1. Origin-client device 130-1 may be an
`electronic computing device. Although origin-client device
`130-1 is shown and described as being the origin of instant
`messages, in another embodiment it may also be the desti(cid:173)
`nation of instant messages.
`
`[0019] Processor 135-1 represents a central processing
`unit of any type of architecture, such as a CISC (Complex
`Instruction Set Computing), RISC (Reduced Instruction Set
`Computing), VLIW (Very Long Instruction Word), or a
`hybrid architecture, although any appropriate processor may
`be used. Processor 135-1 executes instructions and includes
`that portion of client device 130-1 that controls the operation
`of the entire client device. Although not depicted in FIG. 1,
`processor 135-1 typically includes a control unit that orga(cid:173)
`nizes data and program storage in computer memory and
`transfers data and other information between the various
`parts of the client device. Processor 135-1 may receive input
`data from input device 150-1 and network adapter 145-1,
`read and store code and data in storage device 140-1, and
`may present output data to a user via output device 155-1.
`Processor 135-1 also may transmit and receive packets of
`information across network 120-1 using network adapter
`145-1.
`
`[0020] Although origin-client device 130-1 is shown to
`contain only a single processor and a single bus, the present
`invention applies equally to client devices that may have
`multiple processors and to client devices that may have
`multiple buses with some or all performing different func(cid:173)
`tions in different ways.
`
`[0021] Storage device 140-1 represents one or more
`mechanisms for storing data. For example, storage device
`
`140-1 may include read only memory (ROM), random
`access memory (RAM), magnetic disk storage mediums,
`optical storage mediums, flash memory devices, and/or other
`machine-readable mediums. Although only one storage
`device 140-1 is shown, multiple storage devices and mul(cid:173)
`tiple types of storage devices may be present. Further,
`although origin-client device 130-1 is drawn to contain
`storage device 140-1, the storage device may be distributed
`across other electronic devices.
`
`[0022] Storage device 140-1 contains controller 160-1,
`text-to-speech converter 165-1, and speech-to-text converter
`170-1, which may include instructions capable of being
`executed on processor 135-1 to carry out the functions of the
`present invention. In another embodiment, some or all of the
`functions of the present invention may be carried out via
`hardware in lieu of a processor-based system. Of course,
`storage device 140-1 may also contain additional software
`and data (not shown), which is not necessary to understand(cid:173)
`ing the invention.
`
`[0023] Examples of text-to-speech converters and speech(cid:173)
`to-text converters that may be used in embodiments of the
`invention include IBM Via Voice, Dragon Systems Naturally
`Speaking, and Lucent Technologies Compact PCI (Periph(cid:173)
`eral Component Interconnect) Speech Processing Board.
`But, any suitable speech-to-text and text-to-speech convert(cid:173)
`ers may be used, and the invention is not so limited.
`
`[0024] Bus 180-1 represents one or more busses ( e.g., PCI,
`ISA (Industry Standard Architecture), X-Bus, EISA
`(Extended Industry Standard Architecture), or any other
`appropriate bus) and bridges ( also termed bus controllers).
`
`Input device 150-1 is that part of origin-client
`[0025]
`device 130-1 that accepts input from a user. In an embodi(cid:173)
`ment, input device 150-1 may be a keyboard, but in other
`embodiments, input device 150-1 may be a pointing device,
`mouse, trackball, keypad, touchpad, touch screen, pointing
`stick, microphone, or any other appropriate input device.
`Although only one input device 150-1 is shown, in other
`embodiments any number of input devices of the same or of
`a variety of types may be present.
`
`[0026] Output device 155-1 communicates information to
`the user of origin-client device 130-1. Output device 155-1
`may be a cathode-ray tube (CR1) based video display well
`known in the art of computer hardware. But, in other
`embodiments output device 155-1 may be replaced with a
`liquid crystal display (LCD) based or gas, plasma-based,
`flat-panel display. In still other embodiments, any appropri(cid:173)
`ate display device is used. In yet embodiments, a speaker
`that produces audio output may be used. Although only one
`output device 155-1 is shown, in other embodiments, any
`number of output devices of different types or of the same
`type may be present. In other embodiments, output device
`155-1 might not be present.
`
`[0027] Network adapter 145-1 facilitates communication
`between origin-client device 130-1 and network 120-1.
`Network adapter 145-1 provides a user of origin-client
`device 130-1 with a means of electronically communicating
`information, such as instant messages, with a remote com(cid:173)
`puter, such as instant-messaging server 110. In addition, in
`another embodiment, network adapter 145-1 may support
`distributed processing, which enables origin-client device
`130-1 to share a task with other devices linked to network
`
`Page 6 of 9
`
`
`
`US 2003/0039340 Al
`
`Feb.27,2003
`
`3
`
`120-1. Although network adapter 145-1 is shown as part of
`origin-client device 130-1, in another embodiment they may
`be packaged separately. Although only one network adapter
`145-1 is shown, in other embodiments, multiple network
`adapters of the same or of a variety of types may be present.
`[0028] Origin-client device 130-1 may be implemented
`using any suitable hardware and/or software, such as a
`personal computer or other electronic computing device.
`Portable computers, laptop or notebook computers, main(cid:173)
`frame computers, handheld devices, PDAs (Personal Digital
`Assistants), telephones, cellular telephones, smart phones,
`two-way alphanumeric pagers, and network computers or
`Internet appliances are examples of other possible configu(cid:173)
`rations of electronic computing devices. The hardware and
`software depicted in FIG. 1 may vary for specific applica(cid:173)
`tions and may include more or fewer elements than those
`depicted. For example, other peripheral devices such as
`audio adapters, or chip programming devices, such as
`EPROM (Erasable Programmable Read-Only Memory) pro(cid:173)
`gramming devices may be used in addition to or in place of
`the hardware already depicted. Thus, an embodiment of the
`invention may apply to any hardware configuration that
`supports instant messaging.
`[0029] Destination-client device 130-2 includes processor
`135-2, storage device 140-2, network adapter 145-2, input
`device 150-2, and output device 155-2, all communicatively
`coupled via bus 180-2. Destination-client device 130-1 may
`be an electronic computing device. Although destination(cid:173)
`client device 130-2 is shown and described as being the
`destination of instant messages, in another embodiment it
`may also be the origin of instant messages.
`
`[0030] Processor 135-2 represents a central processing
`unit of any type of architecture, such as a CISC (Complex
`Instruction Set Computing), RISC (Reduced Instruction Set
`Computing), VLIW (Very Long Instruction Word), or a
`hybrid architecture, although any appropriate processor may
`be used. Processor 135-2 executes instructions and includes
`that portion of client device 130-2 that controls the operation
`of the entire client device. Although not depicted in FIG. 1,
`processor 135-2 typically includes a control unit that orga(cid:173)
`nizes data and program storage in computer memory and
`transfers data and other information between the various
`parts of the client device. Processor 135-2 may receive input
`data from input device 150-2 and network adapter 145-2,
`read and store code and data in storage device 140-2, and
`may present output data to a user via output device 155-2.
`Processor 135-2 also may transmit and receive packets of
`information across network 120-2 using network adapter
`145-2.
`
`[0031] Although destination-client device 130-2 is shown
`to contain only a single processor and a single bus, the
`present invention applies equally to client devices that may
`have multiple processors and to client devices that may have
`multiple buses with some or all performing different func(cid:173)
`tions in different ways.
`
`[0032] Storage device 140-2 represents one or more
`mechanisms for storing data. For example, storage device
`140-2 may include read only memory (ROM), random
`access memory (RAM), magnetic disk storage mediums,
`optical storage mediums, flash memory devices, and/or other
`machine-readable mediums. Although only one storage
`device 140-2 is shown, multiple storage devices and mul-
`
`tiple types of storage devices may be present. Further,
`although destination-client device 130-2 is drawn to contain
`storage device 140-2, in other embodiments storage device
`140-2 may be distributed across other electronic devices.
`
`[0033] Storage device 140-2 contains controller 160-2,
`text-to-speech converter 165-2, and speech-to-text converter
`170-2, which may include instructions capable of being
`executed on processor 135-2 to carry out the functions of the
`present invention. In another embodiment, some or all of the
`functions of the present invention may be carried out via
`hardware in lieu of a processor-based system. Of course,
`storage device 140-2 may also contain additional software
`and data (not shown), which is not necessary to understand(cid:173)
`ing the invention.
`
`[0034] Examples of text-to-speech converters and speech(cid:173)
`to-text converters that may be used in embodiments of the
`invention include IBM Via Voice, Dragon Systems Naturally
`Speaking, and Lucent Technologies Compact PCI (Periph(cid:173)
`eral Component Interconnect) Speech Processing Board.
`But, any suitable speech-to-text and text-to-speech convert(cid:173)
`ers may be used, and the invention is not so limited.
`
`[0035] Bus 180-2 represents one or more busses ( e.g., PCI,
`ISA (Industry Standard Architecture), X-Bus, EISA
`(Extended Industry Standard Architecture), or any other
`appropriate bus) and bridges ( also termed bus controllers).
`
`Input device 150-2 is that part of destination-client
`[0036]
`device 130-2 that accepts input from a user. In an embodi(cid:173)
`ment, input device 150-2 may be a keyboard, but in other
`embodiments, input device 150-2 may be a pointing device,
`mouse, trackball, keypad, touchpad, touch screen, pointing
`stick, microphone, or any other appropriate input device.
`Although only one input device 150-2 is shown, in other
`embodiments any number of input devices of the same or of
`a variety of types may be present.
`
`[0037] Output device 155-2 communicates information to
`the user of destination-client device 130-2. Output device
`155-2 may be a cathode-ray tube (CRT) based video display
`well known in the art of computer hardware. But, in other
`embodiments output device 155-2 may be replaced with a
`liquid crystal display (LCD) based or gas, plasma-based,
`flat-panel display. In still other embodiments, any appropri(cid:173)
`ate display device is used. In yet embodiments, a speaker
`that produces audio output may be used. Although only one
`output device 155-2 is shown, in other embodiments, any
`number of output devices of different types or of the same
`type may be present.
`
`[0038] Network adapter 145-2 facilitates communication
`between destination-client device 130-2 and network 120-2.
`Network adapter 145-2 provides a user of destination-client
`device 130-2 with a means of electronically communicating
`information, such as instant messages, with a remote com(cid:173)
`puter, such as instant-messaging server 110. In addition, in
`another embodiment, network adapter 145-2 may support
`distributed processing, which enables destination-client
`device 130-2 to share a task with other devices linked to
`network 120-2. Although network adapter 145-2 is shown as
`part of destination-client device 130-2, in another embodi(cid:173)
`ment they may be packaged separately. Although only one
`network adapter 145-2 is shown, in other embodiments,
`multiple network adapters of the same or of a variety of
`types may be present.
`
`Page 7 of 9
`
`
`
`US 2003/0039340 Al
`
`Feb.27,2003
`
`4
`
`[0039] Destination-client device 130-2 may be imple(cid:173)
`mented using any suitable hardware and/or software, such as
`a personal computer or other electronic computing device.
`Portable computers, laptop or notebook computers, main(cid:173)
`frame computers, handheld devices, PDAs (Personal Digital
`Assistants), telephones, cellular telephones, smart phones,
`two-way alphanumeric pagers, and network computers or
`Internet appliances are examples of other possible configu(cid:173)
`rations of electronic computing devices. The hardware and
`software depicted in FIG. 1 may vary for specific applica(cid:173)
`tions and may include more or fewer elements than those
`depicted. For example, other peripheral devices such as
`audio adapters, or chip programming devices, such as
`EPROM (Erasable Programmable Read-Only Memory) pro(cid:173)
`gramming devices may be used in addition to or in place of
`the hardware already depicted. Thus, an embodiment of the
`invention may apply to any hardware configuration that
`supports instant messaging.
`
`[0040] As will be described in detail below, aspects of an
`embodiment pertain to specific apparatus and method ele(cid:173)
`ments implementable on client devices. In another embodi(cid:173)
`ment, the invention may be implemented as a program
`product for use with a client device. The programs defining
`the functions of this embodiment may be delivered to a
`client device via a variety of signal-bearing media, which
`include, but are not limited to:
`
`[0041]
`(1) information permanently stored on a non(cid:173)
`rewriteable storage medium (e.g., read only memory
`devices within a client device such as CD-ROM
`readable by a CD-ROM drive;
`
`[0042]
`(2) alterable information stored on a rewrite(cid:173)
`able storage medium (e.g., a hard disk drive or
`diskette); or
`
`[0043]
`(3) information conveyed to a client device by
`a communications medium, such as through a com(cid:173)
`puter or telephone network accessed via network
`adapter 145-1 or 145-2, including wireless commu(cid:173)
`nications.
`
`[0044] Such signal-bearing media, when carrying proces(cid:173)
`sor-readable instructions that direct the functions of the
`present invention, represent embodiments of the present
`invention.
`
`[0045] FIG. 2 depicts a flowchart of processing for a
`transmit instant-message function at origin-client device
`130-1, according to an embodiment of the invention. Control
`begins at block 200. Control then continues to block 210
`where controller 160-1 determines whether the speech
`option in origin-client device 130-1 is selected. When the
`speech option is selected, the user is to input speech via input
`device 150-1. If the determination at block 210 is true, then
`control continues to block 215 where origin-client device
`130-1 converts the speech input to text using speech-to-text
`converter 170-1. Control then continues to block 220 where
`the origin-client device 130-1 transmits the text to instant(cid:173)
`messaging server 110 over network 120-1 using network
`adapter 145-1. Control then continues to block 299 where
`the function returns.
`
`server 110 over network 120-1 using network adapter 145-1.
`Control then continues to block 299 where the function
`returns.
`[0047] FIG. 3 depicts a flowchart of the processing for a
`receive instant-message function at destination-client device
`130-2, according to an embodiment of the invention. Control
`begins at block 300. Control then continues to block 305
`where destination-client device 130-2 receives a text instant
`message from instant-messaging server 110 across network
`120-2 via network adapter 145-2.
`[0048] Control then continues to block 315 where con(cid:173)
`troller 160-2 determines whether the speech option in des(cid:173)
`tination-client device 130-2 is selected. The speech option in
`destination-client device 130-2 is independent of the speech
`option in origin-client device 130-1, so that the origin user
`and the destination user may use different, or the same,
`speech options. If the determination at block 315 is true, then
`control continues to block 320 where destination-client
`device 130-2 converts the received text message to speech
`using text-to-speech converter 165-2. Control then continues
`to block 325 where controller 160-2 sends speech to output
`device 155-2, which plays the speech for the user. Control
`then continues to block 399 where the function returns.
`[0049]
`If the determination at block 315 is false, then
`control continues to block 330 where controller 160-2 sends
`the text message to output device 155-2, which displays the
`text message. Control then continues to block 399 where the
`function returns.
`
`What is claimed is:
`1. A method, comprising:
`determining whether a speech option 1s selected at an
`origin device; and
`
`when the speech option is selected, converting input
`speech to text and transmitting an instant message
`comprising the text.
`2. The method of claim 1, farther comprising:
`
`when speech is not selected at the origin device, receiving
`input text and transmitting the instant message, wherein
`the instant message comprises the input text.
`3. The method of claim 2, further comprising:
`
`receiving the instant message;
`
`determining whether a speech option 1s selected at a
`destination device; and
`
`when the speech option is selected at the destination
`device, converting the input text to speech.
`4. The method of claim 1, further comprising:
`
`receiving the instant message;
`
`determining whether a speech option 1s selected at a
`destination device; and
`
`when the speech option is selected at the destination
`device, converting the text to speech.
`5. The method of claim 4, wherein the speech option at the
`destination device is independent of the speech option at the
`origin device.
`6. A method, comprising:
`
`If the determination at block 210 is false, then
`[0046]
`control continues directly to block 220 where controller
`160-1 transmits the input-text message to instant-messaging
`
`instant message at a destination-client
`rece1vmg an
`device, wherein the instant message comprises text;
`and
`
`Page 8 of 9
`
`
`
`US 2003/0039340 Al
`
`Feb.27,2003
`
`5
`
`determining whether a speech option at the destination(cid:173)
`client device is selected and if true converting the text
`to speech.
`7. The method of claim 6, wherein when the determining
`operation is false, displaying the text.
`8. The method of claim 6, wherein the speech option at the
`destination-client device is independent of a speech option at
`an origin-client device, wherein the origin-client device
`originated the instant message.
`9. The method of claim 6, wherein the instant message is
`received across a long-lived connection.
`10. A computing device, comprising:
`a text-to-speech converter to convert text in a received
`instant message to speech when a speech option is
`selected, independent of whether a sender of the instant
`message performed speech input.
`11. The computing device of claim 10, further compris(cid:173)
`ing:
`
`a speech-to-text converter to convert speech to text in an
`instant message to be transmitted when the speech
`option is selected.
`12. The computing device of claim 9, wherein the
`received instant message is received across a long-lived
`connection.
`13. The computing device of claim 9, wherein the
`received instant message is received via a request-reply pair.
`14. An instant-messaging system, comprising:
`
`an instant-messaging server;
`
`a controller to determine whether a speech option is
`selected at an origin-client device and to send an instant
`message to the instant-messaging server; and
`
`a speech-to-text converter to convert speech to text when
`the speech option is selected, wherein the instant mes(cid:173)
`sage comprises the text.
`15. The instant-messaging system of claim 14, wherein
`the instant-messaging server is to receive the instant mes(cid:173)
`sage on a long-lived connection.
`16. The instant-messaging system of claim 14, wherein
`the instant-messaging server is to send the instant message
`to a destination-client device.
`17. The instant-messaging system of claim 14, wherein
`the instant-messaging server is to drop the instant message
`when a destination-client device is not connected.
`18. The instant-messaging system of claim 14, further
`comprising:
`
`a destination controller to determine whether a speech
`option is selected at a destination-client device; and
`
`a text-to-speech converter to convert text to speech when
`the speech option at the destination-client device is
`selected independent of the speech option at an the
`origin-client device.
`19. An instant-messaging system, comprising:
`
`an instant messaging server;
`
`an origin-client device, comprising:
`
`an origin controller to determine whether an ongm(cid:173)
`speech option is selected at the origin-client device
`and to send an instant message to the instant-mes(cid:173)
`saging server,
`
`a speech-to-text converter to convert speech to text
`when the origin-speec