`
`US ZIXBUZIQIIMAI
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2003/0219104 A1
`Malik NOV. 27, 2003 (43) Pub. Date:
`
`
`
`(54) VOICE MESSAGE DELIVERY ()VICR
`INSTANT MESSAGING
`
`Related U.S. Application Data
`
`(75)
`
`Inventor: Dale W. Malik, Dunwoody, GA (US)
`
`(60)
`
`Provisional application No‘ (10,882,106. filed on May
`21. 3002.
`
`Correspondence Address:
`THOMAS, KAYIHCN, HORS’I‘EMI‘ZYI‘ZR 8:
`klsuw, LLP
`100 GALLERIA PARKWAY, NW
`STE 1750
`ATLANTA, GA 30339-5943 (US)
`
`(73) ANS-Sigma Bensomh [meuecmfl] propel-1y Cal-[10.
`ration, Wilmingmn, DE
`
`(21) Appl. No.:
`
`101223303
`
`(22
`
`Filed:
`
`Aug. 19, 2002
`
`Publication Classification
`
`Int. (:1.7 .......................... .. H04M 1164; (10617 15:16
`(51)
`(52) U.S. CI.
`....................................... .. 379,183.11; 709.:‘206
`-
`.
`‘
`(a?)
`ABSTRACT
`One prelerred embodiment of the present invention provides
`a system and method for sending voice inslanl messages.
`Briefly described. in architecture. one embodiment of [he
`system. among others. includes a communications client ol'
`a user that is configured to generate a. voice instant message
`and send a voice instant message to another user. Methods.
`and olher systems are also provided.
`
`A FIRST USER AUTHORIZES A
`SECOND USER TO BE ABLE TO SEND
`A VOICE INSTANT MESSAGE TO THE
`FIRST USER
`fl
`
`THE VIM CLIENT OF THE SECOND
`USER GENERATES VOICE
`RECORDING
`
`fl
`
`199
`
`
`
`PROVIDE DESCRIPTIVE
`CAPTION
`fig:
`
`
`
`
`
`
`GENERATE VOICE
`INSTANT MESSAGE
`£10
`
`
`
`
`
`
`
`
`
`USER IS PRESENTMS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 4m
` Tl-IE VIM CLIENT OF THE SECOND
`STORE VOICE INSTANT
`
`USER INVITES THE SECOND USER
`MESSAGE UNTIL FIRST
`TO SEND A VOICE INSTANT
`
`THE V [M CLIENT OF THE SECOND
`
`MESSAGE TO THE FIRST USER 450
`USER DETECTS THAT THE FIRST
`
`USER IS NOT PRESENT AND
`ONLIN'E PRESENCE OF
`425
`AVAILABLE
`THE FIRST USER IS
` DETECTED 480
`
`AUTHORIZED?
`THE VIM CLIENT or THE SECOND
`fl
`USER CHECKS TO SEE [F IT IS
`
`CAPABLE or GENERATING A VOICE
`VOICE INSTANT
`RECORDING
`:t3_o '
`MESSAGE IS
`
`THE VIM CLIENT or THE SECOND
`
`DELIVERED TO VIM
`
`USER CHECKS TO SEE IF THE
`CLIENT OF THE FIRST
`SECOND USER lS AUTHORIZED TO
`CAPABLE?
`LEAVE A VOICE MESSAGE FOR THE
`USER
`
`fl
`FIRST USER
`fl
`
`
`
`
`
`
`485
`
`
`
`
`
`
`001
`001
`
`Facebook Ex. 1019
`Facebook EX. 1019
`U.S. Pat. 8,243,723
`U.S. Pat. 8,243,723
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 1 of 9
`
`US 2003/0219104 Al
`
`FIG.1 (PRIORART)
`
`N
`
`I!)
`C)p—
`
`OmI—I
`
`O-
`
`—|
`
`1]
`
`g",
`
`In
`
`D
`
`to
`u—I
`
`002
`002
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 2 of 9
`
`1AHI!l9120run!3002SU
`
`men
`
`
`
`9251—0mmmmdg.
`
`
`
`.5550Mummaa.I
`
`ENEN
`
`EmamoanN.OE
`
`
`
`EmmquMummxé
`
`om
`
`
`
`HZEQUMmmmfii
`
`mom.om
`2m2m PZBAU
`
`mmmmimmmmfi
`
`
`
`amt/mamgammaHZMEQmummui.
`
`Mmmmfi.
`
`EN
`
`003
`003
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 3 of 9
`
`US 2003/0219104 A1
`
`omm
`
`9200mm<m0P75302H>
`Mmmb
`
`m.03
`
`Eman—<m0HZHAUE;
`MMmD
`
`Sm
`
`mmm
`
`0mm
`
`A\.\\mambo23
`
`can
`
`004
`004
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 4 of 9
`
`US 2003/0219104 A1
`
`a
`
`g29,35
`
`mafia“.me359:
`§mammoumm
`
`a
`
`
`
`mUHO>mbéerm—O
`
`
`
`mo<mmmzSim:—
`
`552.86>mmon
`880%m3m0Sad23m5
`
`
`Sm:.Ez:moimm;
`
`
`ammo928%m5mmFaéammo
`
`EBmemEayawn
`03.Mum:~35miB@333.
`
`
`
`Efima58><9mmoh
`
`a
`
`v.03
`
`Mum—4
`
`
`
`bfikmzfimUHO>
`
`%mmmbSm:
`
`m5m8mo<mmm285>¢52%
`
`
`
`o5.85mme02mamuo
`
`mflmNHMOEHwa
`
`m0mUZMmmammad/HO
`
`
`
`m“mmmDEmmiEnd.
`
`amafidSE
`
`
`
`Q7?HZMmmamHOZflMmmD
`
`fl
`
`DZOUMMmap.m0Hr/HmmquEH5mih
`
`
`
`m...tEmmmOHmMOmmUdwme
`
`mDHO><OEHEWZm—Om0mqmfimmdu
`
`
`Ema:NIHm0F2540OHDMNEOED<mmMum:0200mm
`
`3.?OHgun—2quNIHEmumOhWMUMIUmmmD
`mHm0<mme9200mmat.LOPZMEUEH?mEH
`
`
`
`
`
`m0~0>mmhfimmZm—OmmmD
`
`DZOUMmm—IHm0thHAUENSmmk
` mi0H$3532243%85><mzmaEmam?mmOH«mg928%<$305525m:
`Emmi¢
`
`
`
`amum:~35
`
`
`
`3.Emma:822or;$3
`
`928%m5“5Sad25m5
`
`20%Rambo?<mmamommmmmb
`
`
`
`7%92mm09ammo950mmB:
`
`
`
`Sadm52.moémmz525%
`
`QZOUMmNEHm0HZBAUEH>MHZ.
`
`
`
`
`
`HmyumNEH.32.?mkumfinmommmD
`
`005
`005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 5 of 9
`
`US 2003/0219104 A1
`
`500
`
`'/
`
`
`
`PRESENCE STATUS OF VIM CLIENT OF
`
`
`FIRST USER CHANGES FROM OFFLINE TO
`
`ONLINE
` 510
`
`
`
`
`STORED VOICE INSTANT MESSAGE [S
`DELIVERED TO VIM CLLENT OF FIRST USER
`
`fl
`
`
`
`
`
`
`VOICE RECORDING 1N VOICE INSTANT
`
`MESSAGE lS PLAYED
`
`
`
` fl
`
`FIG. 5
`
`006
`006
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 6 of 9
`
`US 2003/0219104 A1
`
`mm.QIR
`
`H.285ES we
`
`memmmuofi
`
`ozfififimo
`
`355%
`
`$9
`
`9d
`
`gomuimmté453
`
`0.0E
`
`5&9?ng
`
`@553
`
`83
`
`80
`
`007
`007
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 7 of 9
`
`US 2003/0219104 A1
`
`ovm
`
`fined25
`
`
`
`E205mdmozv
`
`QZOUmm4no#2515$1.;
`mmmb
`
`h.03
`
`Emma<LO.54quSE?
`MHme
`
`on
`
`008
`008
`
`
`
`
`
`
`
`
`
`m)a
`
`pm.
`
`m
`
`0mmu
`
`aehS3
`
`9nm
`
`2m.m02SU
`
`MH
`
`mm.05
`
`8mzommmdhE?
`
`m25|\\
`
`n2m
`
`P....Mmm:ENEm<no28525
`
`n2w
`
`.mmgfim0534
`
`
`v.3329._..9%Memm
`mmamas2;mfl,5555Al\\\
`
`009
`
`
`
`
`
`
`Patent Application Publication Nov. 27, 2003 Sheet 9 of 9
`
`US 2003/0219104 A1
`
`
`
`
`
`A FIRST USER SUBSCRIBES TO A VOICE MESSAGING SYSTEM 910
`
`THE FIRST USER DESIGNATES THAT NEW VOICEM AIL RECORDINGS
`
`ARE TO BE FORWARDED TO A VIIVI CLIENT
`9_1§
`
`
`
`
`NEW VOICEMAIL RECORDING FOR THE FIRST USER IS GENERATEgIg0
`
`TELEPHONE NUMBER OF ORIGINATOR OF VOICEMAIL RECORDING
`IS OBTAINED AND ASSOCIATED WITH THE VOICEMAIL RECORDING
`
`%
`
`
`
`A VOICE MESSAGING INSTANT MESSAGE CONTAINING A
`REFERENCE LINK IS GENERATEDAND FORWARDED TO VIM SERV9E3R0
`
`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
`Z42
`
`
`
`
`
`VIM‘CLIENT OF THE FIRST USER RECEIVES THE VOICE MESSAGING
`
`INSTANT MESSAGE
`
`m
`
`
`
`
`
`REFERENCE LINK IS ACTIVATED
`
`960
`
`ASSOCIATED VOICE RECORDING IS INCLUDED IN A VOICE INSTANT
`MESSAGE AND SENT TO VIIVI CLIENT OF THE FIRST USER m
`
`
`VOICE RECORDING IS DELETED FROM VOICE MESSAGING SYSTEgbéIO
`
`
`
`
`
`
`
`
`
`VOICE INSTANT MESSAGE IS RECEIVED AND VOICE RECORDING IS
`PLAYED
`990
`
`
`
`
`
`FIG. 9
`
`010
`010
`
`
`
`
`
`US 2003/0219104 A1
`
`VOICE MESSAGE DELIVERY OVER INSTANT
`MESSAGING
`
`CROSS—REFERENCE TO RELATED
`APPLICATION
`
`[0001] This application claims priority to copending US.
`provisional application entitled, "Integration of Instant Mes.-
`saging and Computer Operating Systems," having ser. No.
`$882,106, 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 INVENTlON
`
`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 corn-
`municale in real time. In communications, it is advantageous
`to know whether a potential recipient of a communication
`message is present and available, i.e., available to receive
`and respond to the message before initiating the transmis-
`sion ot'the 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 elIective 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.
`
`is one communication
`Instant messaging (1M)
`[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." liu rther, 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 UM) architecture is shown in FIG. 1. The traditional
`1M architecture consists of a central IM server 105 con—
`nected to a number of individual clients (110, 115, 120, 125.
`130, and 145) in a closed network. For example, to send an
`instant message from client 110 to client 145,1M client 110
`first connects with an IM server .105 using a proprietary
`
`011
`011
`
`Nov. 27, 2003
`
`protocol. For example, AOL® and Yahoot® use 1C0. Once
`the IM client 110 is connected to the 1M 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 IP 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. An IM client may communicate directly with other IM
`clients if the IP addresses of these 1M clients are known to
`the transmitting IM client. For convenience, the lines of
`communication between individual IM clients are not shown
`in FIG. I.
`
`time
`
`[0006] The [M 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 files have been created, the IM server 105 checks
`the networho 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 ofthe
`contacts logged onto the network, the 1M server 105 sends
`a message back to the IM client 110 with the connection
`information for each IM client 115, 120, 125, 130, 145
`currently logged onto the network. When the IM client 110
`receives the connection information, the presence status of
`that particular IM client 115, 120, 125, 130, 145 is updated
`to "Online,” for example. The presence status is displayed to
`the user. At this point the user may select any IM client 115,
`120, 125. 130, 145 that is registered “Onlinc,” at which point
`a dialog box will appear in which the user may enter text.
`Because the IM client 110 knows the IP 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
`offline and sends a message to the [M server 105 terminating
`the session. The IM server 105, in response to acknowledg-
`ing that
`the IM client 110 has logged 011, generates a
`message to each of the IM clients 115, 120, 145 on the client
`list of 1M 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, (10., 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 Intemet.
`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 well—known electronic mail system. Because
`Jabber is based on the email 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.
`However, unlike typical email systems, which are store and
`forward systems, Jabber delivers messages in real
`
`
`
`
`
`US 2003/0219104 A1
`
`Nov. 27, 2003
`
`because the Jabber server 215—21'?r knows when a particular
`Jabber 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 [M 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 Jabber client 200-205 along with
`presence and availability information. Each local Jabber
`server 215-21'?r 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-217 performs two functions: listen-
`ing for and communicating directly with Jabber client appli-
`cations 200-205, and communicating with other Jabber
`servers 215—217. Each local Jabber server 215—21'?r 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 MI 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
`follows. 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: generw
`aling 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 DESCRIPTION OF THE 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. emphan
`sis
`instead being 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 flowchart describing the functionality
`of a representative implementation of the voice message
`delivery system of FIG. 8.
`
`DETAILED DESCRIP'I'ION 01-" THE
`PREFERRED EMBODIMENTS
`
`[0025] Depicted in FIG. 3 is a block diagram of one
`representative embodiment, among others, of a voice mes
`sage delivery system 300. The voiee 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
`user310, 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
`
`LA
`
`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 first user wants to receive presence
`information about. Other information may also be contained
`in the contact parameters such as the instant messaging
`addresses 0fthe 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 messaging configurations, such as peer-to-peer, with
`the VIM server 330 providing primarily passive directory
`services, and clients-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 from the contact parameters. Preferably,
`the voice contact parameters of a first 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 first 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 flowchart ot‘FlG. 4. For example, two blocks
`shown in succession in FIG. 4 may,
`in fact, be executed
`
`013
`013
`
`Nov. 27, 2003
`
`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 of the voice message delivery
`system 300 or method 400 may be construed as beginning at
`block 410. In block 410, a first 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 person’s name in the person’s
`contact list, for 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 andtor 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 presance andr’or availability state of the first
`user.
`
`phone that is coupled to the computing device of the VIM
`
`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 user 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 blocks440-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 utter 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-
`
`
`
`
`
`US 2003/0219104 A1
`
`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 presence 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 Iirst 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 first 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 Iirst 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
`
`014
`014
`
`Nov. 27, 2003
`
`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 310 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 310, 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 andfior output (HO)
`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, buflers (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 semiconductor based micro-
`processor (in the form of a microchip} or a macroprocessor.
`
`operating system (DIS) 610.