`
`(12) United States Patent
`Malik
`
`(10) Patent N0.2
`(45) Date of Patent:
`
`US 7,123,695 B2
`Oct. 17, 2006
`
`(54) VOICE MESSAGE DELIVERY OVER
`INSTANT MESSAGING
`(75) Inventor: Dale W. Malik, DunWoody, GA (US)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`
`
`(73) Assignee: Bellsouth Intellectual Property - - -
`
`
`
`
`
`,
`
`,
`
`$1:
`
`
`
`gasper ettal'l """""" " Owens e a. ............. ..
`
`6,483,898 Bl* 11/2002 Lew et a1. ............. .. 379/88.12
`6,553,100 B1 *
`4/2003 Chen et a1. ................. .. 379/37
`6,564,261 B1 *
`5/2003 Gudjonsson et a1. .
`709/227
`6,629,793 Bl* 10/2003 Miller ............... ..
`400/472
`6,674,725 B1* 1/2004 Nabkel et a1.
`.... .. 370/252
`6,865,384 B1* 3/2005 Sagi et a1. ............. .. 455/412.1
`2002/0130904 A1* 9/2002 Becker et a1.
`
`(
`
`*
`
`_
`) Nome?
`
`“WWW”, W?mlngwn’ DE (Us) _
`SubJECUO any dlsclalmeritheteml Ofthls
`patent 15 extended or adiusted under 35
`U.S.C. 154(b) by 0 days.
`(21) App1_ NO; 10/223903
`
`(22) Filed;
`
`Aug_ 19, 2002
`
`(65)
`
`Prior Publication Data
`
`* cited by examiner
`
`Us 2003/0219104 A1
`
`NOV- 27, 2003
`_
`_
`Related US. Application Data
`(60) Provisional application No. 60/382,106, ?led on May
`21’ 2002'
`
`(51) Int. Cl.
`(
`)
`2006.01
`H04M 11/06
`(52) US. Cl. ............................. .. 379/88.13; 379/9309;
`455/412_1; 455/414_1; 455M221; 455/433
`(58) Field of Classi?cation Search ................ .. 379/52,
`379/8814, 9315, 10009’ 20101, 20501,
`379/88.13, 88.19; 348/14, 15, 16, 17; 455/417;
`704/258, 260
`See application ?le for complete search history.
`
`Primary Examiner4Gerald Gauthier
`(74) Attorney, Agent, or FirmiThomas, Kayden,
`Horstemeyer & Risleya LLp
`
`(57)
`
`ABSTRACT
`
`One preferred embodiment of the present invention provides
`y
`8
`8
`a s stem and method for sendin voice instant messa es.
`Brie?y described, in architecture, one embodiment of the
`system, among others, includes a communications client of
`a user that is Con?gured to generate a voice instant message
`and send a voice instant message to another user. Methods
`and other Systems are also PrOVlded
`
`42 Claims, 9 Drawing Sheets
`
`A FIRST USER 2315x5511??? s1’; ND
`ER T
`785581211? ILNSSTANCT MESSAGE To THE
`FIRST USER
`m
`
`THE VIM CLIENT OF THE SECOND
`USER
`VOICE 460
`—
`
`i
`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
`—
`
`QT‘???
`‘M,’
`456
`—
`
`ACCEPT?
`@
`
`i
`
`400
`—
`
`PROVlDE DESCRIPTIVE
`CAPTION @
`
`1
`GENERATE VOICE
`INSTANT MESSAGE
`SE
`
`I
`
`THE VIM CLIENT OE THE SECOND
`USER INVITES THE SECOND USER
`TO SEND A VOICE INSTANT
`MESSAGE T0 THE FIRST USER 450
`—
`
`STORE VOICE INSTANT
`MESSAGE UNTIL FIRST
`USER IS PRESENT
`@
`
`1
`
`THE VIM CLIENT OF THE SECOND
`USER DETECTS THAT THE FIRST
`USER IS NOT PRESENT AND
`AVAILABLE
`425
`+
`
`THE VIM CLIENT OF THE SECOND
`USER CHECKS T0 SEE IF IT IS
`CAPABLE OF GENERATING A VOICE
`RECORDING
`@
`+
`
`QUEUE
`TEXT
`M?
`%
`
`AUTHORIZED?
`&
`
`QUEUE
`TEXT
`TM,
`‘5L6
`
`CAPABLE?
`E
`YES
`
`THE VlM CLIENT OF THE SECOND
`USER CHECKS TO SEE IF THE
`SECOND USER 1S AUTHORIZED TO
`LEAVE A VOICE MESSAGE FOR THE
`FIRST USER
`440
`
`I
`
`v
`ONLINE PRESENCE OF
`THE FIRST USER IS
`DETECTED 5%
`
`V
`
`VOICE INSTANT
`MESSAGE IS 7
`DELIVERED TOFVIMT
`CLIENT OF THE 1R5
`USER
`485
`—
`
`Page 1 of 18
`
`Samsung Exhibit 1012
`
`
`
`U.S. Patent
`U.S. Patent
`
`0a. 17, 2006
`Oct. 17, 2006
`
`Sheet 1 0f 9
`Sheet 1 of 9
`
`US 7,123,695 B2
`US 7,123,695 B2
`
`O—
`2
`’—
`
`o
`V
`.._,
`
`o:
`
`In.—
`.—
`
`In
`N
`
`In
`D.—
`2:
`
`2
`‘—
`
`omF—
`
`8
`—
`
`m
`V.—
`
`_ .05
`
`FIG.1 (PRIORART)
`52 M02“:
`
`Page 2 of 18
`
`Page 2 of 18
`
`
`
`U.S. Patent
`
`0a. 17, 2006
`
`Sheet 2 0f 9
`
`US 7,123,695 B2
`
`mom
`
`
`
`HZEAU mmmmwi
`
`mmmmaé
`
`MP/Mmw
`
`mom
`
`
`
`H7550 mmmmzh I
`
`
`
`HZEQU mmmmzg
`
`mom
`
`
`
`HM< MOUE N .UE
`
`Page 3 of 18
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 3 of 9
`
`US 7,123,695 B2
`
`QZOUmm<m0HZmEU52>
`Mum:
`
`FmZ.2200
`
`mmm
`
`mm
`
`
`
`awn—MODEmU~O>
`
`m.OE
`
`L
`
`
`
`Hmz.2200
`
`mNm
`
`MMmDFwd:<m0EZNEO2;
`
`9m
`
`Page 4 of 18
`
`Page 4 of 18
`
`
`
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 4 of 9
`
`US 7,123,695 B2
`
`.oolv
`
`Q2925
`
`maEEQmmE539:
`
`SJ055582
`
`55>853525Nam:
`
`v.OE
`
`awMam:
`
`a
`
`
`
`WQHO>meémZmo
`
`
`
`mo<mmm§pzfima
`
`
`
`owvQmHOMHmQ
`
`
`
`m0mDZMmmMmmZEZO
`
`
`
`m_dumbEmma9.2.
`
`aEmNEoED<
`
`REESEaMum:
`
`a
`
`
`
`HZ<HmZ~mUHO><92mmOH
`
`
`
`MmmDHmMENEHOHm0<mmm2
`
`>25ngm55>$55
`0200mmmmhLOH7550$D>mEH
`
`5%...3:555%:
`
`MMmDQZOUMmNIHmmrE>ZHMmmD
`
`F7257:m55>
`
`z;8,omfiZJmoa“5&8:
`9553mi5Sad25mg
`
`m5amumB8535Maw:
`
`3m:E:5285
`
`OH$50532Mam:955%
`
`aOzoommNIH"HOF7530§>at,
`955%<$52053mum:5m:< mEoemo<mmm2Hzfimé55><52mmopmam?mmohammo
`
`
`
`Emmimag,.32.;mHUmHmQammD
`
`
`
`
`
`
`
`mmvmqm<d<><
`
`QZ<HZMmmME#02m_MmmD
`
`aoafloomm
`
`@2085m5592min2;m5
`
`85><ozfiémzmwo5REESm,sbH;oh35mg
`«mm;
`
`
`
`
`
`amum:5m:
`
`o?HmemE52a0:3ammo
`
`955%mg555:525mg
`
`
`
`35%535:<mmZmommyam:
`
`
`
`z<9meOHyam:950%mg
`
`SamE:OFmo<mmm2H252
`
`0200mm3.:m0H75502;En:
`
`Page 5 of 18
`
`03mmmbENE
`
`m55»mo<mmm255><m><m3
`
`Eqmfifi
`
`a.
`
`Page 5 of 18
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`0a. 17, 2006
`
`Sheet 5 0f 9
`
`US 7,123,695 B2
`
`500
`
`PRESENCE STATUS OF VIM CLIENT OF
`FIRST USER CHANGES FROM OFFLINE TO
`ONLINE
`
`212
`
`I
`
`STORED VOICE INSTANT MESSAGE IS
`DELIVERED TO VIM CLIENT OF FIRST USER
`w
`
`VOICE RECORDING IN VOICE INSTANT
`MESSAGE IS PLAYED
`
`530
`
`FIG. 5
`
`Page 6 of 18
`
`
`
`U.S. Patent
`
`0a. 17, 2006
`
`Sheet 6 6f 9
`
`US 7,123,695 B2
`
`@052
`
`$6
`
`OINM “ a
`
`EH6 2;
`
`M
`
`
`
`Q6 mu<§EE @453
`
`o .6;
`
`7
`
`Gig/mo
`
`56595.2
`
`a 6B
`
`@8885
`
`$@
`
`rooo
`
`Page 7 of 18
`
`
`
`US 7,123,695 B2
`
`0200mm<m0H7550S=>
`mmmD
`
`mmm
`
`5.GE
`
`7
`
`w.9%
`
`
`0$53023
`
`m520:;5503:
`
`s”
`
`m
`
`m
`
`LC
`
`6m
`
`on”
`
`P02L
`
`eo_m
`
`2o:
`
`.UNEE:053
`
`ON:
`
`
`
`....mum:Ema:<noSad25
`
`59552$355I#25138o:
`
`mama25
`
`Page 8 of 18
`
`Page 8 of 18
`
`
`
`
`
`U.S. Patent
`
`0a. 17, 2006
`
`Sheet 8 0f 9
`
`US 7,123,695 B2
`
`
`
`mZOImmQm; Zkmm
`
`omm
`
`w .05
`
`[own
`
`(N5.
`
`Page 9 of 18
`
`
`
`U.S. Patent
`
`0a. 17, 2006
`
`Sheet 9 0f 9
`
`US 7,123,695 B2
`
`A FIRST USER SUBSCRIBES TO A VOICE MESSAGING SYSTEM 910
`
`?
`THE FIRST USER DESIGNATES THAT NEW VOICEMAIL RECORDINGS
`ARE TO BE FORWARDED TO A VIM CLIENT
`2Q
`
`NEW VOICEMAIL RECORDING FOR THE FIRST USER IS GENERATEQD2O
`
`TELEPHONE NUMBER OF ORIGINATOR OF VOICEMAIL RECORDING
`IS OBTAINED AND ASSOCIATED WITH THE VOICEMAIL RECORDING
`925
`
`l
`
`_
`
`A VOICE MESSAGING INSTANT MESSAGE CONTAINING A
`REFERENCE LINK IS GENERATEDAND FORWARDED TO VII/I SERV9E3-%
`
`I
`A VOICE MESSAGING INSTANT MESSAGE IS SENT T 0 THE VIM
`CLIENT OF THE FIRST USER AND DELIVERED TO THE FIRST USER AS
`SOON AS THE FIRST USE-R IS PRESENT
`9_4Q
`
`VIM'CLIENT OF THE FIRST USER RECEIVES THE VOICE MESSAGING
`INSTANT MESSAGE
`?g
`
`I
`
`REFERENCE LINK IS ACTIVATED
`
`960
`
`ASSOCIATED VOICE RECORDING IS INCLUDED IN A VOICE INSTANT
`MESSAGE AND SENT TO VIM CLIENT OF THE FIRST USER 27L)
`
`VOICE RECORDING IS DELETED FROM VOICE MESSAGING SYSTE9I\8"IO
`
`VOICE INSTANT MESSAGE IS RECEIVED AND VOICE RECORDING IS
`PLAYED
`990
`
`FIG. 9
`
`Page 10 of 18
`
`
`
`US 7,123,695 B2
`
`1
`VOICE MESSAGE DELIVERY OVER
`INSTANT MESSAGING
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`This application claims priority to copending US. provi
`sional application entitled, “Integration of Instant Messaging
`and Computer Operating Systems,” having Ser. No. 60/382,
`106, ?led May, 21, 2002, Which is entirely incorporated
`herein by reference.
`
`TECHNICAL FIELD
`
`The present invention is generally related to communica
`tions and, more particularly, is related to a system and
`method for relaying voice messages over a communication
`network.
`
`BACKGROUND OF THE INVENTION
`
`20
`
`2
`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 IM clients are knoWn to
`the transmitting IM client. For convenience, the lines of
`communication betWeen individual IM clients are not shoWn
`in FIG. 1.
`The IM server 105 then creates a temporary ?le that
`contains the connection information for the IM client 110
`and for each IM client 115, 120, 125, 130, 135, 140, 145.
`Once the temporary ?les have been created, the IM server
`105 checks the netWork to determine Whether any IM client
`identi?ed by the contact list associated With IM client 110 is
`currently logged into the system. If the IM server 105 ?nds
`any of the contacts logged onto the netWork, the IM server
`105 sends a message back to the IM client 110 With the
`connection information for each IM client 115, 120, 125,
`130, 135, 140, 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, 135, 140, 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, 135, 140, 145
`that is registered “Online,” 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 IM session is complete
`the dialog box is closed, and the IM client 110 goes of?ine
`and sends a message to the IM server 105 terminating the
`session. The IM server 105, in response to acknoWledging
`that the IM client 110 has logged off, generates a message to
`each of the IM clients 115, 120, 130, 140, 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 messaging
`architecture. Jabber, available from Jabber, Inc. of Denver,
`Co., includes an IM system focusing on providing IM access
`to a user. Jabber includes an Extensible Markup Language
`@(ML) open source server softWare that Was developed by
`a community of developers over the Internet. Jabber alloWs
`communication among applications and systems across plat
`forms. Developers Write additional modules to submit them
`back for possible incorporation into the Jabber softWare.
`A block diagram illustrating a prior art IM netWork that
`uses Jabber interoperable XML-based netWork architecture
`is shoWn in FIG. 2. Jabber is a real-time communications
`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 time
`because the Jabber server 215*217 knoWs When a particular
`Jabber client 200*205 is online and available.
`
`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
`
`25
`
`30
`
`35
`
`Presence and availability are terms used to describe 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 communi
`cate 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 of 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 effective 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 (IM) is one communication medium
`40
`that employs presence and availability technology. An
`instant messaging netWork recogniZes When a user is
`present” on the netWork. Accordingly, the netWork sends
`noti?cation 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
`noti?ed 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
`55
`communication message sent to someone Who is readily
`present and available is less obtrusive, When the addressee
`has made himself or herself available to the communication.
`An example of a traditional “closed” instant messaging
`(IM) architecture is shoWn in FIG. 1. The traditional IM
`architecture consists of a central IM server 105 connected to
`a number ofindividual clients (110, 115, 120, 125, 130, 135,
`140, and 145) in a closed netWork. For example, to send an
`instant message from client 110 to client 145, IM client 110
`?rst connects With an IM server 105 using a proprietary
`protocol. For example, AOL® and Yahoo!® use ICQ. Once
`the IM client 110 is connected to the IM server 105, the user
`
`45
`
`50
`
`60
`
`65
`
`Page 11 of 18
`
`
`
`US 7,123,695 B2
`
`3
`client 200*205 is attached to a local Jabber server 215*217.
`Each local Jabber server 215*217 receives information 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*217
`functions independently from one another, and can commu
`nicate With any other Jabber server 215*217 that is con
`nected to the Internet as long as it has been identi?ed, and
`predisposed to do so ahead of time. Each local Jabber server
`215*217 performs tWo functions: listening for and commu
`nicating directly With Jabber client applications 200*205,
`and communicating With other Jabber servers 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 user is
`not present to receive an instant message, the instant mes
`sage can still be sent and queued in the IM 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.
`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 unaddressed need
`exists in the industry to address the aforementioned de?
`ciencies and inadequacies.
`
`20
`
`25
`
`30
`
`SUMMARY OF THE INVENTION
`
`4
`FIG. 3 is a block diagram of a voice message delivery
`system of one preferred embodiment of the present inven
`tion.
`FIG. 4 is a ?owchart describing the functionality of a
`representative implementation of the voice message delivery
`system of FIG. 3.
`FIG. 5 is a ?owchart describing the functionality of a
`representative implementation of the voice message delivery
`system of FIG. 3.
`FIG. 6 is a block diagram of an implementation of the
`VIM client in FIG. 3 using a general computer system.
`FIG. 7 is a block diagram of a voice message delivery
`system of one preferred embodiment of the present inven
`tion.
`FIG. 8 is a block diagram of a voice message delivery
`system of one preferred embodiment of the present inven
`tion.
`FIG. 9 is a ?oWchart describing the functionality of a
`representative implementation of the voice message delivery
`system of FIG. 8.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`Depicted in FIG. 3 is a block diagram of one represen
`tative embodiment, among others, of a voice message deliv
`ery system 300. The voice message delivery system 300
`includes a voice instant messaging (VIM) client 310 of a ?rst
`user, Wherein the VIM client 310 is con?gured to receive
`and play a voice recording (via an audio player 312, for
`example) 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?gured to generate a voice record
`ing (via a voice recorder 322, for example) 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 ?rst
`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 ?rst user.
`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 ?rst
`user 310, and noti?es 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.
`For example, in one preferred embodiment of the inven
`tion, the ?rst 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 param
`eters, the ?rst user may name the second user as a person
`about Whom the ?rst user Wants to receive presence infor
`mation about. Other information may also be contained in
`the contact parameters such as the instant messaging
`addresses of the 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 ?rst user
`or the VIM server 330 depending upon the architecture of
`the instant messaging netWork.
`
`Preferred embodiments of the present invention provide
`systems and methods for sending voice instant messages.
`Brie?y described, in architecture, one embodiment of the
`system, among others, can be implemented as folloWs. A
`communications client of a user is con?gured to: generate a
`voice instant message and send a voice instant message to
`another user.
`The present invention can also be vieWed as providing
`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: generating a
`voice instant message; and sending a voice instant message.
`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 addi
`tional systems, methods, features, and advantages be
`included Within this description and be Within the scope of
`the present invention.
`
`35
`
`40
`
`45
`
`50
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Many aspects of the invention can be better understood
`With reference to the folloWing draWings. The components
`in the draWings are not necessarily to scale, emphasis instead
`being placed upon clearly illustrating the principles of the
`present invention. Moreover, in the draWings, like reference
`numerals designate corresponding parts throughout the sev
`eral vieWs.
`FIG. 1 is a block diagram of a closed instant messaging
`architecture of the prior art.
`FIG. 2 is a block diagram of an open instant messaging
`architecture of the prior art.
`
`55
`
`60
`
`65
`
`Page 12 of 18
`
`
`
`US 7,123,695 B2
`
`5
`In a closed system (FIG. 1), the contact parameters are
`typically stored in a storage medium (not shown) that is
`accessible by the VIM client 310, 320, such as an internal
`disk drive of a 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 ?rst user wants to receive
`presence status information about. Accordingly, the voice
`message delivery system can be incorporated over many
`instant messaging con?gurations, 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, 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 embodiment
`of the present invention, a user (“?rst user”) may designate
`or authorize the people named on his or her contact param
`eters from whom the user will accept voice instant messages.
`Accordingly, a VIM client of an authorized user (“second
`user”) can check to see if the second user is authorized by
`the ?rst user to generate a voice instant message for the ?rst
`user. These designations are speci?ed 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 ?rst 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 ?rst user
`has authorized the other users to send a voice instant
`message to the ?rst user.
`The ?owchart of FIG. 4 shows the functionality of a
`representative implementation of the voice message delivery
`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 ?owchart of FIG. 4. For example, two blocks shown in
`succession in FIG. 4 may, in fact, be executed substantially
`concurrently. Alternatively, the blocks may sometimes be
`executed in the reverse order depending upon the function
`ality involved. In other embodiments, some blocks shown in
`FIG. 4 are omitted.
`As depicted in FIG. 4, the functionality of a representative
`embodiment of the voice message delivery system 300 or
`method 400 may be construed as beginning at block 410. In
`block 410, a ?rst user designates in voice contact parameters
`that the ?rst user will accept voice messages from a second
`user. For example, a ?rst user may specify in his or her
`contact list the persons that the ?rst 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 310
`of the ?rst 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
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`instant message to the ?rst user and the: ?rst user is not
`present and/or available, the authorized user may be given
`the opportunity to generate a voice instant message for the
`?rst user. In alternative embodiments, the authorized user
`may generate a voice instant message regardless of the
`presence and/or availability state of the ?rst user.
`In block 420, the VIM client 320 of the second user
`receives a request or prompt by the second user to send an
`instant message to the ?rst 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 ?rst user is not
`present and/or 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 320 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 speci?ed in settings of the VIM client by the
`second user. In blocks 440*445, the VIM client of the
`second user also checks the voice contact parameters of the
`?rst user to see if the second user is authorized by the ?rst
`user to leave a voice instant message for the ?rst 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, as shown
`in blocks 436 and 446. 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 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. If
`the second user declines the 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 blocks 455 and 456. 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 322. Accordingly, the second user speaks into a
`microphone that is coupled to the computing device of the
`VIM client 320 of the second user, and the VIM client 320
`of the second user generates a voice recording for the ?rst
`user.
`In block 465, after the voice recording has been gener
`ated, 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 XML tags so that it can subsequently be
`identi?ed by the VIM client 310 of the ?rst user. If a
`descriptive caption is not provided by the second user, the
`voice instant message may be sent without the caption.
`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 ?rst user is present and/or available to
`receive instant messages again by monitoring the presence
`status of the ?rst user. Then, the VIM server 330 delivers the
`voice instant message from the VIM queue 340 to the VIM
`client 310 of the ?rst user, as depicted in block 485.
`FIG. 5 is a ?owchart depicting a method 500 for receiving
`and playing a voice instant message at the VIM client 310
`of the ?rst user for one preferred embodiment of the inven
`
`Page 13 of 18
`
`
`
`US 7,123,695 B2
`
`20
`
`25
`
`35
`
`7
`tion. In block 510, the VIM client 310 of the ?rst user
`changes from an of?ine presence status to an online presence
`status. In block 520, the voice instant messages stored in the
`VIM queue 340 for the ?rst user are delivered to the VIM
`client 310 of the ?rst 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 ?rst user via the VIM client 310
`plays the voice recording by activating the recording using
`a mouse click or a keystroke from a keyboard or keypad, for
`example. Alternatively, the voice instant message may not
`be delivered to the ?rst user, until the ?rst user speci?cally
`requests for the voice instant message to be sent from the
`queue.
`In some embodiments of the present invention, the 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 mes
`sage. 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.
`Additionally, in some embodiments of the invention
`Where the voice instant message is not automatically deliv
`ered to the ?rst user, the VIM server 340 sends the VIM
`30
`client 310 of the ?rst user a list of the voice instant messages
`contained in the VIM queue 340 for the ?rst user so that the
`?rst user can selectively choose Which voice instant mes
`sages that the ?rst 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.
`Alternatively, for each voice instant message placed in the
`VIM queue for the ?rst user, the VIM server 340 may send
`an update message to the VIM client 310 of the ?rst user.
`The update message may contain an identi?er or tracking
`number for the VIM message it pertains to, the identity of
`the originator of the voice instant message, and the descrip
`tive caption from the voice instant message. Accordingly,
`the VIM client 310 of the ?rst user may track and update the
`number of voice instant messages that are currently aWaiting
`to be received by the ?rst user. Additionally, 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 ?rst user, and next to each user’s name on
`the contact list, the number of unreceived voice messages
`that users have left the ?rst user may be shoWn. Also,
`additional information, such as the date and time, may be
`shoWn.
`The VIM client 310, 320 or the VIM server 330 of a
`representative embodiment of the present invention can be
`implemented in softWare, ?rmWare, 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.
`Generally, in terms of hardWare architecture, as shoWn in
`FIG. 6, the computer 600 includes a processor 602, memory
`
`50
`
`40
`
`45
`
`55
`
`60
`
`65
`
`8
`604, and one or more input and/or output (