`
`US 2{)[)3()2I91(}4/\1
`
`(19) United States
`(12) Patent Application PllI)IICfltIOIl
`Malik
`
`(10) Pub. No.: US 2003/0219104 A1
`(43) Pub. Date:
`NOV. 27, 2003
`
`(54) VOICE MESSAGE I)ICI.IVlCRY OVER
`INSTANT MESSAGING
`
`Related U.S. Application Data
`
`(75)
`
`Inventor: Dale W. Malik, Dunwuody, GA (US)
`
`(60)
`
`1‘rovisiona| application No. (3(J,r’382,l(I(:, filed on May
`21, 3002.
`
`Correspondence Address:
`THOMAS, KAYl)I‘}N, H()RS'[‘EMI‘lYl'lR 8:
`RISLICY, LLI‘
`I00 GALLERIA PARKWAY, NW
`STE I750
`ATLANTA, GA 30339-5943 (US)
`
`(73) Aggjgngg;
`
`]_3,e]]§ou1|I [m9||9¢mfl] pmpm-gy Cm-Im.
`ration, wjlmingmn, D13;
`
`(21) Appl. No.:
`
`10,923,903
`
`(22
`
`Filed:
`
`Aug. 19, 2002
`
`Pllblication Classification
`
`I-[0-’-IM 1164; GOISF ISIIG
`Int. Cl.7 .......................... ..
`(51)
`(52) U.S. CI.
`....................................... ,. 379,383.11; 7(I9,-'2U6
`_
`.
`(37)
`ABSTRACT
`Ono prclbrrod cmbotlirnent of the present invention provides
`a system and method for sending voice instant messages.
`Brielly (Inscribed.
`in arehileclllre. one embodiment of [he
`syslcm. among others. includes a con1munieali0ns client ol'
`a user that is configured to generate a. voice instant message
`and send a voice instant n1c.-usage to another user. Methods.
`and other systems are also provided.
`
`A FIRST USER AUTHORIZES A
`SECOND USER TO BE ABLE TO SEND
`A VOICE INSTANT MESSAGE TO THE
`FIRST USER
`E
`
`THE vr_v1 CLIENT or THE SECOND
`USER GENERATES VOICE
`RECORDING
`
`
`Q
`
`‘.1319
`
`PROVIDE DESCRIPTIVE
`CAPTION
`fig:
`
`
`
`
`
`
`GE)-IERATE VOICE
`INSTANT MESSAGE
`{E
`
`THE VIM CLIENT OF THE SECOND
`
`USER RECEIVES A REQUEST FROM
`THE SECOND USER TO SEND AN
`INSTANT MESSAGE TO THE FIRST
`
`USER WHO IS NOT PRESENT 420
` TI-I'E V"T.'\*I CLIENT OF THE SECOND
`STORE VOICE INSTANT
`
`USER INVITES THE SECOND USER
`MESSAGE U.\1'I'IL FIRST
`TO SEND A VOICE INSTANT
`
`THE V [M CLIIENT OF THE SECOND
`MESSAGE TO THE FIRST USER 450
`USER DETECTS THAT THE FIRST
`
`USER IS NOT PRESENT AND
`ONLINE PRESENCE OF
`425
`AVAILABLE
`THE FIRST USER IS
` DETECTED 480
`
`AUTHORIZED?
`THE VIM CLIENT or THE SECOND
`E
`USER CHECKS TO SEE [F TI‘ IS
`
`CAPABLE or GI-2t\”ER.ATlNG A VOICE
`VOICE I:\ISTA.\IT
`RECORDING
`:13_o '
`MESSAGE 1S
`
`THE VIM CLIENT OF THE SECOND
`
`DELIVERED TO VIM
`
`USER CHECKS TO SEE IF THE
`
`CLIENT OF THE FIRST
`SECOND usap. 1s AUTHORIZED TO
`CAPABLE‘?
`LEAVE A VOICE MESSAGE FOR THE
`
`
`USER.
`
`Q
`
`FIRST USER
`E
`
`
`
`
`
`
`
`
`
`
`
`
`E-8::
`
`
`
`
`
`001
`001
`
`Apple 1019
`Apple 1019
`U.S. Pat. 8,243,723
`U.S. Pat. 8,243,723
`
`
`
`
`
`
`
`
`
`ussa IS PRESENT475
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 1 of 9
`
`US 2003/0219104 A1
`
`FIG.1 (PRIORART)
`
`
`
`ca(‘'1I?‘
`
`'- Cd
`
`In
`c:P.‘
`
`Z-
`
`—I
`
`-n
`11
`
`<:>
`
`U1‘
`
`§ 3
`
`002
`002
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 2 of 9
`
`1AH(10112M.3002SU
`
`mom.0“
`
`
`
`Hzmbummmmi
`
`
`
`HZNEUxmmmfi
`
`
`
`mmmmimmmmfi.
`
`ENEN
`
`EN
`
`
`
`mmzémmmmzémmHZMEOmmmmui.
`
`
`
`
`
`SN
`
`
`
`,_.Zm:1_Ummmmfi
`
`
`
`.HZmEUmmmmflI
`
`ENEN
`
`5?MOEANCE
`
`HZBAUEmmi
`
`om
`
`003
`003
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 3 of 9
`
`US 2003/0219104 Al
`
`mzoumm<LO,_.Zm_3U25
`mmm:
`
`m.UE
`
`_._.mME<moHZHAUEH>
`mmm:
`
`Sm
`
`E.
`
`Rm
`
`ea
`
`A1\\\mamboES
`
`9%
`
`004
`004
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 4 of 9
`
`Us 2003/0219104 A1
`
`am
`
`§zorE<o
`
`
`mabuxommomQ>oE
`§ozfimoomm
`
`a
`
`
`
`mUHO>m:<mmzmo
`
`
`
`moémmz_.z§mz_
`
`
`9252.mo_o>BBS
`ozoommmoo.moEmdo2?BE.
`
`
`Ema:.575mo<mmm:
`
`
`mmmomzoommmmpmm:>z_mom:
`
`Ewzmmmmmmoammo
`9:.mum:SE;mooopmofimmfi.
`
`
`
`E.:.mzomoB>4EmaOH
`
`Q
`
`v.03
`
`mum:
`
`ammom:5m:
`
`woemommoémmz55>¢m>¢.m.H
`
`
`HmmumNEHm0PZBAUOHDmNmmOED<momum:ozoumm
`3.?OHQm.Mm>:mDWEBEmumOhWMUWIUmmmp
`wflmU<mwmEmzoommNIPLOHZMEU39>min.
`
`
`
`.,_omozmmmumMZHHZO
`
`
`
`moammoSyn...m:.:.
`
`Qm._m<d<><
`
`Q72HzmmmmmHOZm_mmmo
`
`
`
`ca.omeompmoozmomma
`
`EmMEom.S<
`
`.:e§mz_mu_o>
`
`wfl
`
`
`
`nzoumm....D.E.no.3530Su>mi
`
`
`
`m..5EmumOHmmommoammo
`
`mDHO><ozgdmzmonomom<m<o
`
`
`
`
`
`mo_o>mm.:..;mmzmommmo
`
`DzoommNIHmo.H.ZmHAUEH2map
`Qzoomm<mmflmo:.5< moso...moémmzHZ<HmZH88><ozmmopmoodmmOHmom:
`
`ammoSE»4
`
`
`
`
`
`Slwmum:Sam
`
`ozoomwmmenoezmdo25BE
`
`
`
`EOMEHmwoomm<mmamummmmmb
`
`
`
`7%ozmmopammoozoommmo;
`
`
`
`3.ezmmmmmeoz2oz;mum:
`
`mzoommE?“.0HZBAOEH>moi
`
`
`
`
`
`Emamayoo.moémmzpzfima
`
`
`
`
`
`5.5MEHH<H.E.maomemoammo
`
`005
`005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 5 of 9
`
`Us 2003/0219104 A1
`
`500
`
`W
`
`PRESENCE STATUS OF VIM CLIENT OF
`
`FIRST USER CHANGES FROM OFFLINE TO
`ONLINE
`510
`
`STORED VOICE INSTANT MESSAGE [S
`
`DELIVERED TO VIM CLIENT OF FIRST USER
`
`E
`
`VOICE RECORDING IN VOICE INSTANT
`
`MESSAGE 1S PLAYED
`
`530
`
`FIG. 5
`
`006
`006
`
`
`
` PatentApplicationPublicationNov.27,2003Sheet6of9
`
`Hzmfiu25
`
`mm.ala
`
`oaemmmao
`
`zmemwm
`
`3Q9
`
`mommmuomm
`
`we
`
`US 2003/0219104 A1
`
`0GE
`
`fimuzfio
`
`83
`
`ma
`
`SEDQEEE
`
`
`
`acmu$Em,_.z_$604
`
`007
`007
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 7 of 9
`
`US 2003/0219104 A1
`
`Sm
`
`#284023
`
`
`
`Ezommmdmozv
`
`QZOUWM4m0#2540$1.;
`mmm:
`
`m.03
`
`swam¢moHZHAU25
`mmm:
`
`oz
`
`008
`008
`
`
`
`
`
`
`
`m)3
`
`M.
`
`m
`
`mm
`
`H
`
`m
`
`flD»hS3
`
`.m
`
`9
`
`2NM02SU
`
`MH
`
`mm.05
`
`8mzommmqmhEma
`
`mcow|\\
`
`m.2M
`
`P....mmm:Em:m<no92840SH?
`
`
`
`.mmm><.E0534
`
`Nomm
`
`MJDHDOE;
`
`
`...,.._,All!AI\\\own
`
`009
`009
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 9 of 9
`
`Us 2003/0219104 A1
`
`
`
`
`
`A FIRST USER SUESCRIEES TO A VOICE MESSAGING SYSTEM 910
`
`THE FIRST USER DESIGNATES THAT NEW VOICEM AIL RECORDINGS
`
`ARE TO BE FORWARDED TO A VIM CLIENT
`9_1§
`
`
`
`
`
`NEW VOICEMAIL RECORDING FOR THE FIRST USER IS GENERATE9I.'%0
`
`TELEPHONE NUMBER OF ORIGINATOR OF VOICEMAIL RECORDING
`IS OBTAINED AND ASSOCIATED WITH THE VOICEMAIL RECORDING
`
`fi
`
`A VOICE MESSAGING INSTANT MESSAGE CONTAINING A
`REFERENCE LINK IS GENERATEDAND FORWARDED TO VIM SERVSI3313
`
`
`A VOICE MESSAGING INSTANT MESSAGE IS SENT TO THE VIM
`CLIENT OF THE FIRST USER AND DELIVERED TO THE FIRST USER AS
`
`SOON AS THE FIRST USER IS PRESENT
`241)"
`
`
`
`
`
`INSTANT MESSAGE
`
`gfl
`
`VIM‘-CLIENT OF THE FIRST USER RECEIVES THE VOICE MESSAGING
`
`
`
`REFERENCE LINK IS ACTIVATED
`
`960
`
`ASSOCIATED VOICE RECORDING IS INCLUDED IN A VOICE INSTANT
`MESSAGE AND SENT TO VIIVI CLIENT OF THE FIRST USER gfl
`
`
`
`
`
`
`
`VOICE INSTANT MESSAGE IS RECEIVED AND VOICE RECORDING IS
`PLAYED
`990
`
`
`
`VOICE RECORDING IS DELETED FROM VOICE MESSAGING SYSTE9I\éI0
`
`
`
`FIG. 9
`
`010
`010
`
`
`
`US 2003/0219104 A1
`
`Nov. 27, 2003
`
`VOICE MESSAGE DELIVERY OVER INSTANT
`MESSAGING
`
`CROSS—REFERENCE TO RELATED
`APPLICATION
`
`[0001] This application claims priority to copcnding U.S.
`provisional application entitled, "Integration of Instant Mes-
`saging and Computer ()perating Systems," having ser. No.
`60;’382,l06, filed May, 2], 2002, which is entirely incorpo-
`rated herein by reference.
`
`TECHNICAL FIELD
`
`[0002] The present invention is generally related to com-
`munications and, more particularly, is related to a system
`and method for relaying voice messages over a communi-
`cation network.
`
`BACKGROUND OF THE INVENTION
`
`Presence and availability are terms used to describe
`[0003]
`a present ability of an individual to communicate. Presence
`is an ability of an individual to communicate in real time,
`and availability is the willingness of an individual to com-
`municate in real time. In communications, it is advantageous
`to know whether a potential recipient of a communication
`message is present and available, i.c., available to receive
`and respond to the message before initiating the transmis-
`sion ofthe message. By making the presence and availability
`of individual users known before any communication is
`attempted, a realtime communications environment is facili-
`tated that is more elfective and less obtrusive than conven-
`tional communication mediums. Clearly, the communication
`message that is sent to an addressee that is known to be
`present and available is more likely to be received promptly
`than a conventional message. For example, often times,
`conventional
`telephone calls are forwarded to a person's
`voicemail and are never returned.
`
`Instant messaging GM} is one communication
`[0004]
`medium that employs presence and availability technology.
`An instant messaging network recognizes when a user is
`present" on the network. Accordingly. the network sends
`notification to other users {usually members of a “buddy
`list" or "contact list") that are also logged on the network
`that the user is "present." Further, instant messaging lets a
`user display custom status messages to his “buddies” online
`about
`the user's “availability.” For example, a user can
`specify his availability status as being "busy, not
`taking
`messages." Therefore another user on the "buddy list" that
`is connected to the instant messaging network will be
`notified that although the user is present on the network, he
`is not available for receiving messages. Presence and avail-
`ability information is most useful when an individual shares
`his or her online status with a trusted group of users. A
`communication message sent to someone who is readily
`present and available is less obtrusive, when the addressee
`has made himselfor herself available to the communication.
`
`[0005] An example of a traditional "closed" instant mes-
`saging [lM) architecture is shown in FIG. I. The traditional
`IM architecture consists of a central IM server 105 con-
`nected to a number of individual clients (110, 115, 120, 125,
`I30, and 145) in a closed network. For example, to send an
`instant message from client 110 to client 145, IM client I10
`first connects with an IM server .105 using a proprietary
`
`protocol. For example, AOL® and Yahoo!® use ICO. Once
`the IM client 110 is connected to the IM server 105, the user
`logs on by entering a user name and password. The IM client
`110 then sends the IM server 105 the connection informa-
`
`tion, such as the II’ address and the number of the port
`assigned to the IM client and the name and IP address of
`everyone in the IM contact list associated with the IM client
`110. Art IM client may communicate directly with other IM
`clients if the IP addresses of these IM clients are known to
`the transmitting IM client. For convenience, the lines of
`communication between individual IM clients are not shown
`in FIG. I.
`
`[0006] The IM server 105 then creates a temporary file
`that contains the connection information for the IM client
`110 and for each IM client 115, 120, 125, 130, 145. Once the
`temporary tiles have been created, the IM server 105 checks
`the network to determine whether any IM client identified by
`the contact list associated with IM client 110 is currently
`logged into the system. Ifthe IM server 105 finds any ofthc
`contacts logged onto the network, the IM server 105 sends
`a message back to the IM client 1.10 with the connection
`information for each IM client 115, I20, 125, 130, 145
`currently logged onto the network. When the IM client 110
`receives the connection inferrnation, the presence status of
`that particular IM client I15, 120, 125, 130, 145 is updated
`to "0nline,” for example. The presence status is displayed to
`the user. At this point the user may select any IM client 115,
`I20, 125, 130, 145 that is registered “0nline," at which point
`a dialog box will appear in which the user may enter text.
`Because the IM client 110 knows the IE’ address and port
`number of the IM client 145, the message is sent directly to
`the recipient IM client 145. The IM client 145 then receives
`the instant message and can respond. Once the [M session is
`complete the dialog box is closed, and the IM client 110 goes
`olIline and sends a message to the [M server 105 temiinating
`the session. The IM server 105, in response to acknowledg-
`ing that
`the IM client 110 has logged olT, generates a
`message to each of the IM clients 115, 120, 145 on the client
`list of IM client 110 indicating that IM client 110 is logged
`off the network.
`
`Jabber is an example of an “open” instant messag-
`[0007]
`ing architecture. Jabber, available from Jabber, Inc. of Den-
`ver, Co., includes an IM system focusing on providing IM
`access to a user. Jabber includes an Extensible Markup
`Language (XML) open source server software that was
`developed by a community of developers over the Internet.
`Jabber allows communication among applications and sys-
`tems across platforms. Developers write additional modules
`to submit
`them back for possible incorporation into the
`Jabber software.
`
`[0008] A block diagram illustrating a prior art 1M network
`that uses Jabber interoperable XML-based network archi-
`tecture is shown in FIG. 2. Jabber is a real-time communi-
`cations platform based on open protocols whose architecture
`is based on the wcll—known electronic mail system. Because
`J abbcr is based on the entail system, the Jabber architecture
`contains distributed network servers, called Jabber servers
`215-217 and clients, known as Jabber clients 200-205 that
`receive and send messages to Jabber clients 200-205 con-
`nected to other Jabber server 215-217 on the Internet.
`Ilowever, unlike typical email systems, which are store and
`forward systems, Jabber delivers messages in real
`time
`
`011
`011
`
`
`
`US 2003/0219104 A1
`
`Nov. 27, 2003
`
`because the Jabber server 215-217 knows when a particular
`J abher client 200-205 is online and available.
`
`[0009] The Jabber architecture is based on client-server
`architecture and not on a client-to-client architecture, as are
`most IM systems. Messages from Jabber client 200 to Jabber
`client 201 must pass through the Jabber server 215. Each
`Jabber client 200-205 is attached to a local Jabber server
`215-217. Each local Jabber server 215-21".-' receives infor-
`mation from one Jabber client 200-205 and transfers the
`information to another .Iabber client 200-205 along with
`presence and availability information. Each local Jabber
`server 215-217 functions independently from one another,
`and can communicate with any other Jabber server 215-217
`that
`is connected to the Internet as long as it has been
`identified, and predisposed to do so ahead of time. Each
`local Jabber server 215-21".-' performs two functions: listen-
`ing for and communicating directly with Jabber client appli-
`cations 200-205, and communicating with other Jabber
`sewers 215-217. Each local Jabber server 215-217 consists
`of multiple components that separately handle individual
`functions with the Jabber system.
`
`In many instant messaging communications, if a
`[0010]
`user is not present to receive an instant message, the instant
`message can still be sent and queued in the [M server 105 or
`Jabber server 215-217 that is servicing the IM client of the
`user. The M1 server will hold the message until the user is
`present again on the instant messaging network.
`In this
`manner, the instant message is delivered to the user as soon
`as the user is present on the instant messaging network.
`
`[0011] Today’s instant messaging services mostly focus
`on the storing of text instant messages in a queue for later
`delivery to the user once the user becomes present on the
`network. However, today's service typically does not allow
`for non-text instant messages to be stored in a queue for later
`immediate delivery. Thus, a heretofore unaddresscd need
`exists in the industry to address the aforementioned deli-
`ciencies and inadequacies.
`SUMMARY OF THE INVENTION
`
`invention
`Preferred embodiments of the present
`[0012]
`provide systems and methods for sending voice instant
`messages. Briefly described,
`in architecture, one embodi-
`ment of the system, among others, can be implemented as
`1'ollows. A communications client of a user is configured to:
`generate a voice instant message and send a voice instant
`message to another user.
`
`[0013] The present invention can also be viewed as pro-
`viding methods for sending voice instant messages. In this
`regard, one embodiment of such a method, among others,
`can be broadly summarized by the following steps: gencrv
`ating a voice instant message; and sending a voice instant
`message.
`
`[0014] Other systems, methods, features, and advantages
`of the present invention will be or become apparent to one
`with skill
`in the art upon examination of the following
`drawings and detailed description. It is intended that all such
`additional systems, methods, features, and advantages be
`included within this description and be within the scope of
`the present invention.
`BRIEF D1iSCRlP’I'I(JN 01'' T1111 DRAWINGS
`
`[0015] Many aspects of the invention can be better under-
`stood with reference to the following drawings. The com-
`
`ponents in the drawings are not necessarily to scale. empha-
`sis
`instead hcing placed upon clearly illustrating the
`principles of the present invention. Moreover, in the draw
`ings, like reference numerals designate corresponding parts
`throughout the several views.
`
`[0016] FIG. 1 is a block diagram of a closed instant
`messaging architecture of the prior art.
`
`[0017] FIG. 2 is a block diagram of an open instant
`messaging architecture of the prior art.
`
`[0018] FIG. 3 is a block diagram of a voice message
`delivery system of one preferred embodiment of the present
`invention.
`
`[0019] FIG. 4 is a flowchart describing the functionality
`of a representative implementation of the voice message
`delivery system of FIG. 3.
`
`[0020] FIG. 5 is a flowchart describing the functionality
`of a representative implementation of the voice message
`delivery system of FIG. 3.
`
`[0021] FIG. 6 is a block diagram of an implementation of
`the VIM client in FIG. 3 using a general computer system.
`
`[0022] FIG. 7 is a block diagram of a voice message
`delivery system of one preferred embodiment of the present
`invention.
`
`[0023] FIG. 8 is a block diagram of a voice message
`delivery system of one preferred embodiment of the present
`invention.
`
`[0024] FIG. 9 is a llowchart describing the functionality
`of a representative implementation of the voice message
`delivery system of FIG. 8.
`
`DI.-‘.'l'AILl;-ID DESCRIP'I'lON 01"‘ 'I‘l-IE
`l’REFERRl3.D l:‘.MBODIMI:'.N’I'S
`
`[0025] Depicted in FIG. 3 is a block diagram of one
`representative embodiment, among others, of a voice mes-
`sage delivery system 300. The voice message delivery
`system 300 includes a voice instant messaging (VIM) client
`310 of a first user, wherein the VIM client 310 is configured
`to receive and play a voice recording in a voice instant
`message it receives from other users, such as a second user.
`Accordingly, a VIM client 320 of the second user is con-
`figured to generate a voice recording of the second user and
`include the voice recording in an instant message upon
`accepting a VIM invitation. A VIM invitation is a message
`that is transmitted by the VIM client 310 of the first user to
`the VIM client 320 of the second user, wherein the message
`invites or prompts the VIM client 320 of the second user to
`generate a voice recording for the first user.
`
`[0026] Each VIM client 310, 320 communicates with and
`receives presence status information from a VIM server 330
`via the Internet or some other communication network 325.
`The VIM server 330 may act as a single IM server 105 of
`FIG. 1 or a local IM server, such as a Jabber Server 215 of
`FIG. 2. The VIM server 330 monitors the presence infor-
`mation of the VIM clients. such as the VIM client of the first
`user3l0, and notifies a VIM client 310 of the presence status
`information of other VIM clients 320 and their associated
`users. Accordingly. the VIM server 330 includes the capa-
`bilities of conventional IM servers and the additional capa-
`bilities for handling VIM message delivery and storage.
`
`012
`012
`
`
`
`US 2003/0219104 A1
`
`Nov. 27, 2003
`
`DJ
`
`For example, in one preferred embodiment of the
`[0027]
`invention, the first user designates contact parameters. The
`contact parameters are criteria on (a) whom a user wants to
`receive presence information about and (b) how a user wants
`to receive the presence information. Within the contact
`parameters, the first user may name the second user as a
`person about whom the lirst user wants to receive presence
`information about. Other information may also be contained
`in the contact parameters such as the instant messaging
`addresses ofthe people named in the contact list. The contact
`parameters are then stored in a centralized storage medium
`340 that is accessible by the VIM client 310 of the first user
`or the VIM server 330 depending upon the architecture of
`the instant messaging network.
`
`In a closed system {FIG. 1), the contact parameters
`[0028]
`are typically stored in a storage medium (not shown} that is
`accessible by the VIM client 310, 320, such as an internal
`disk drive ofa general purpose computer or the memory of
`a mobile device. Then, a copy of the contact parameters are
`given to the VIM server 330. In an open system (FIG. 2),
`however,
`the contact parameters are stored in a storage
`medium (not shown) accessible by the VIM server 330, such
`as an internal disk drive or a separate storage medium, such
`as a database. The VIM server 330 then forwards a copy of
`the contact parameters to the VIM client 310. Typically, the
`VIM client 310 knows from the contact parameters the
`names of the people that
`the first user wants to receive
`presence status information about. Accordingly, the voice
`message delivery system can be incorporated over many
`instant mcmaging configurations, such as peer-to-peer, with
`the VIM server 330 providing primarily passive directory
`services, and cl ients-to-clients. with a single VIM server 330
`providing directory services as well as message queuing and
`delivery.
`
`In one preferred embodiment of the invention,
`[0029]
`whenever a user is not present and available to receive an
`instant message, a voice instant message may be stored in a
`queue 340 of the VIM server 330 for the user. Accordingly,
`the voice instant message is delivered to the user the next
`time that the user connects to the instant messaging network
`via his or her IM client. In an alternative preferred embodi-
`ment of the present
`invention, a user (“first user”) may
`designate or authorize the people named on his or her
`contact parameters from whom the user will accept voice
`instant messages. Accordingly. a VIM client of an autho-
`rized user ("second user”) can check to see if the second user
`is authorized by the first user to generate a voice instant
`message for the first user. These designations are specified in
`a set of voice contact parameters that may be a subset of the
`contact parameters, or the voice contact parameters may be
`stored separately [mm the contact parameters. Preferably,
`the voice contact parameters of a Iirsl user are readily
`accessible by the VIM clients of other users, such as the
`second user, so that the VIM clients of other users can verify
`if the Iirst user has authorized the other users to send a voice
`
`instant message to the first user.
`
`[0030] The flowchart of FIG. 4 shows the functionality of
`a representative implementation of the voice message deliv-
`ery system 300 of the present invention. It should also be
`noted that in some alternative implementations the functions
`noted in the various blocks may occur out of the order
`depicted in the llovvchart ol‘FlG. 4. For example, two blocks
`shown in succession in FIG. 4 may.
`in fact, be executed
`
`the blocks may
`substantially concurrently. Alternatively.
`sometimes be executed in the reverse order depending upon
`the functionality involved.
`In other embodiments, some
`blocks shown in FIG. 4 are omitted.
`
`the functionality of a
`[0031] As depicted in FIG. 4,
`representative embodiment oi‘ the voice message delivery
`system 300 or method 400 may be construed as beginning at
`block 410. In block 410, a lirst user designates in voice
`contact parameters that
`the first user will accept voice
`messages from a second user. For example, a first user may
`specify in his or her contact list the persons that the first user
`would like to provide voice instant messaging capability to,
`via checking a box by that pcrson’s name in the person’s
`contact list, lior example. The contact parameters are stored
`in a centralized storage medium 340 that is accessible by the
`VIM client 319 of the first user or the VIM server 330
`depending upon the architecture of the instant messaging
`network. Therefore, at a later time, when an authorized user
`attempts to send an instant message to the first user and the:
`first user is not present andlor available, the authorized user
`may be given the opportunity to generate a voice instant
`message for the first user. In alternative embodiments, the
`authorized user may generate a voice instant message
`regardless of the presence andfor availability state of the first
`I.lSEl'.
`
`In block 420, the VIM client 320 of the second user
`[0032]
`receives a request or prompt by the second user to send an
`instant message to the first user. Typically, the request is
`generated after the second uscr attempts to initiate the
`transmission of the instant message. The VIM client 320 of
`the second user, however, detects that the first user is not
`present andior available and, therefore, does not initiate the
`sending of the instant message, as shown in block 425.
`Accordingly, in blocks 430-435, the VIM client 3220 of the
`second user checks to see if the computing device of the
`VIM client 320 is capable of generating a voice recording.
`Typically, the voice recording capabilities of the computing
`device are specified in settings of the VIM client by the
`second user. In blocks4-10-445, the VIM client of the second
`user also checks the voice contact parameters of the first user
`to see if the second user is authorized by the first user to
`leave a voice instant message for the first user. If the second
`user is not authorized to leave a voice instant message or if
`the VIM client 320 of the second user cannot generate a
`voice recording, the second user is then given the option of
`sending a textual instant message and having the message
`placed in a queue of the VIM server 330. Alternatively, the
`second user may not be able to store the instant message in
`a queue.
`
`If the second user is authorized to leave a voice
`[0033]
`instant message and the VIM client 320 of the second user
`has the capability to leave a voice instant message, then the
`VIM client 320 of the second user invites or prompts the
`second user to leave a voice message, as depicted in block
`450. Ifthe second user declinesthe VIM invitation, then the
`second user again is given the option of sending a textual
`instant message and having the message placed in the queue
`of the VIM server 330, as shown in block 455. However, in
`block 460, if the second user accepts the VIM invitation,
`then the VIM client 320 of the second user starts a voice
`recorder. Accordingly, the second user speaks into a micro-
`phone that is coupled to the computing device of the VIM
`
`013
`013
`
`
`
`US 2tll33/0219104 A1
`
`Nov. 27, 2003
`
`client 320 of the second user, and the VIM client 320 of the
`second user generates a voice recording for the first user.
`
`In block 465, after the voice recording has been
`[0034]
`generated, the VIM client 320 of the second user prompts the
`second user to type a descriptive caption for the voice
`recording. Then in block 470, a voice instant message is
`generated by including the descriptive caption and the voice
`recording in an instant message. The descriptive caption
`may be marked by XMI. tags so that it can subsequently be
`identified by the VIM client 310 of the first user. If a
`descriptive caption is not provided by the second user, the
`voice instant message may be sent without the caption.
`
`[0035] The voice instant message is sent to the VIM server
`330 and stored in a VIM queue 340 of the VIM server 350,
`as depicted in block 475. Next, in block 480, the VIM server
`350 detects when the first user is present andior available to
`receive instant messages again by monitoring the presence
`status of the first user. Then, the VIM server 330 delivers the
`voice instant message from the VIM queue 340 to the VIM
`client 310 of the first user, as depicted in block 485.
`
`[0036] FIG. 5 is a flowchart depicting a method 500 for
`receiving and playing a voice instant message at the VIM
`client 310 of the first user for one preferred embodiment of
`the invention. In block 510, the VIM client 310 of the first
`user changes front an offline presenoe status to an online
`presence status. In block 520, the voice instant messages
`stored in the VIM queue 340 for the first user are delivered
`to the VIM client 310 of the first user. Each voice instant
`message contains a descriptive caption and a voice recording
`that was provided by the originator of the voice instant
`message. As depicted in block 530, the first user via the VIM
`client 310 plays the voice recording by activating the
`recording using a mouse click or a keystroke from a key-
`board or keypad,
`for example. Alternatively,
`the voice
`instant message may not be delivered to the lirst user, until
`the first user specifically requests for the voice instant
`message to be sent from the queue.
`
`In some embodiments of the present invention, the
`[0037]
`voice instant message is distinctively marked with XML tags
`so that a VIM client 310 that receives a voice instant
`message will recognize the instant message as a voice
`instant message. Additionally, the descriptive caption may
`be marked so that the VIM client may display the caption
`without opening the voice instant message. After a VIM
`client 310 recognizes a marked voice instant message, the
`VIM client 310 may prompt the recipient of the voice instant
`message to send a voice instant message in reply. The reply
`voice instant message would then be delivered immediately
`to the addressee if the addressee is presently online. Else, the
`voice instant message would be stored in a VIM queue 340.
`
`in some embodiments of the inven-
`[0038] Additionally,
`tion where the voice instant message is not automatically
`delivered to the lirst user, the VIM server 340 sends the VIM
`client 310 of the first user a list of the voice instant messages
`contained in the VIM queue 340 for the first user so that the
`first user can selectively choose which voice instant mes-
`sages that
`the lirst user listens to. The list contains the
`identity of the originator of each voice instant message and
`the descriptive caption for each voice instant message.
`
`for each voice instant message
`[0039] Alternatively,
`placed in the VIM queue for the first user, the VIM server
`
`340 may send an update message to the VIM client 310 of
`the first user. The update message may contain an identifier
`or tracking number for the VIM message it pertains to, the
`identity of the originator of the voice instant message, and
`the descriptive caption from the voice instant message.
`Accordingly, the VIM client 310 of the first user may track
`and update the number of voice instant messages that are
`currently awaiting to be received by the first user. Addition-
`ally,
`the VIM client 3l0 can track the identities of the
`originators of these messages. For example, the VIM client
`310 may display the contact list of the first user, and next to
`each user’s name on the contact list, the number of unre-
`ceived voice messages that users have left the first user may
`be shown. Also, additional information, such as the date and
`time, may be shown.
`
`[0040] The VIM client 310, 320 or the VIM server 330 of
`a representative embodiment ofthe present invention can be
`implemented in software, firmware, hardware, or a combi-
`nation thereof. Preferably, the VIM client 3l0, 320 or VIM
`server 330 are implemented in software, as an executable
`program, and are executed by special or general purpose
`digital computers, such as a personal computer, workstation,
`minicomputer, or mainframe Computer. An example of a
`general purpose computer that can implement
`the VIM
`client 310, 320 or VIM server 330 (although not shown) of
`one preferred embodiment of the present invention is shown
`in FIG. 6.
`
`in terms of hardware architecture, as
`[0041] Generally,
`shown in FIG. 6, the computer 600 includes a processor
`602, memory 604, and one or more input artdmr output (U0)
`devices 606 (or peripherals)
`that are communicatively
`coupled via a local interface 608. The local interface 608 can
`be, for example but not limited to, one or more buses or other
`wired or wireless connections, as is known in the art. The
`local interface 608 may have additional elements, which are
`omitted for simplicity, such as controllers, bttflers (caches),
`drivers, repeaters, and receivers, to enable communications.
`Further,
`the local
`interface may include address, control,
`andior data connections to enable appropriate communica-
`tions among the aforementioned components.
`
`[0042] The processor 602 may be a hardware device for
`executing software that can be stored in memory 604. The
`processor 602 can be any custom made or commercially
`available processor, a central processing unit (CPU) or an
`auxiliary processor among several processors associated
`with the computer 400, and a semicondu