`USOO712369582
`
`(12; United States Patent
`(10) Patent No.:
`US 7,123,695 32
`Malik
`(45) Date of Patent:
`Oct. 17, 2006
`
`
`(54} VOICE MESSAGE DELIVERY OVER
`INSTANT MESSAGING
`
`(56)
`
`References Cited
`US. PATENT DOCUMENTS
`
`538943 A I 399: WWW"
`(1.483.898 BI “ “2002 Lew et al.
`6.389.1I4 Bl
`_-._OD_ Dowms LI RI
`5553.100 m m
`4,2003 than c; a].
`5.564.261 Bl +
`5-2003 (Indjonsson et al.
`6.629.?93 Bl *
`[052003 Miller
`6.6?4.T25 Bl “
`152004 Nabke] et a1.
`6.855.384 BI *
`3:2005 Sagi et at.
`2002-0130904 Al *
`9:200: Becker et a1.
`
`.
`
`
`
`n
`
`
`T045230
`. 379.-’88.|2
`37'9 . 2
`3T9.“
`iron-227
`4005472
`BTU-'25.?
`455.-'412.|
`
`Inventor: Dale W. Malik. Dunwoody. GA (US)
`(75]
`(73) Assignee: Bellsnutll Intellectual Property
`(Torporatian‘ Willnington‘
`Subject-lo any disclaimer. the Icml of this
`pal-rm Is extended or adjusted under 35
`U.S.(‘. 154(h) by 0 days.
`(2]) AppL Na: 19,!223‘903
`
`( * I Notice:
`
`(22) Filed:
`
`Aug 19’ 2002
`
`(65)
`
`(60)
`
`Prior Publication Data
`
`* cited by examiner
`
`US 303330219104 A1
`
`NOV- 27- 2093
`_
`_
`Rained U'S- Al't‘l-‘I'fi‘imfll' Data
`Provisional application No. 60831106. filed on May
`2L 2001
`
`I’rimtnjl‘ Examiner Gerald Gauthier
`(T4)
`-4trome_l', Agent.
`or Finn—Thomas. Kayden.
`[Iorslemeyer & Risley. [.I..P
`V ‘
`v ‘
`ABS IRAU
`
`(5?)
`
`(5] )
`
`Int. (fl.
`1104M [1/06
`(52) us. (:l.
`
`(58)
`
`(2006.01)
`379188.13; 3rw93.09;
`45514111; 45 5,14 1.4_ 1; 455421]; 4553433
`Field of Classification Search
`379352.
`379,:38‘ ]4_ 9315 10009 20] _0]_ ZOS‘OL
`37‘)I88.l3. 88.19: 348I14. IS. 16. 1?; 455mm;
`TIMIZSS. 260
`See applieat ion file for complete search history.
`
`One preferred embodiment of the present invention provides
`:1 system and method for sending voice instant messages.
`Briefly described.
`in architecture. one embodiment of the
`system. among others. includes a communications client of
`a user film is configured to amemlen voice instant message
`and send a voice Instant message to another user. Methods
`and 0th” Systems are also PWVidCd-
`
`42 Claims. 9 Drawing Sheets
`
`mo
`—
`
`PROVIDE DESCRIPTIVE
`CAPTION
`fl
`
`
`
`GENERATE VOICE
`INSTANT MESSAGE
`4.10
`
`STOR E VOICE INSTANT
`MESSAGE UNTIL FIRST
`USER IS PRESENTq-J.5
`
`CELINE PRESENCE OF
`THE FIRST USER l5
`DETECTED
`48
`
`VOICE INSTANT
`MESSAGE IS
`DELIVERED TO VIM
`CLIENTOF THE FIRST
`
`USER.
`
`is;
`
`THE VIM CLIENT OF THE SECOND
`
`USER RECEIVES A REQUESTFROM
`
`THE SECOND USER TO SEND AN
`INSTANT MESSAGE TO THE FIRST
`USER WHO IS NOT PRESENT 420
`THE VIM CLIENT OF TH E SECOND
`
`USER INVITES THE SECOND USER
`
`TO SEND A VOICE INSTANT
`MESSAGE TO THE FIRST USER
`THE VIM CLIENT OF THE SECOND
` m
`USER DETECTS THAT THE FIRST
`
`
`USER IS NOT PRESENT AND
`AVAILABLE
`425
`
`
`
`
`
`
`
`
`AUTHORIZED'.i
`m
`THE VIM CLIENT OF THE SECOND
`
`USER CHECKS TO SEE IF IT IS
`CAPABLE OF GENERATING A VOICE
`
`RECORDING
`13L)
`
`
`THE VIM CLIENT OF THE SECOND
`
`USER CHECKS 10 SEE IF THE
`SECOND USER IS AUTHORIZED TO
`
`CAPABLE?
`LEAVE A VOICE MESSAGE FOR TH E
`
`fl
`
`FIRST USER
`£0
`
`
`
`
`
`
`0001
`
`Facebook Ex. 1007
`U.S. Pat. 7,535,890
`
`
`
`A FIRST USER amnomes A
`THE. VIM CLIENT OF THE SECOND
`
`SECOND USER TO BE ABLE TO SEND
`USER GENERATES VOICE
`A vome INSTANT MESSAGE To THE
`FIRST us ER
`fl
`RECORDING
`
`
`
`4“
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 1 of9
`
`US 7,123,695 B2
`
`FIG.1 (PRIORART)
`
`If!
`N
`
`I!)
`o
`
`Ln
`
`:
`
`omF.
`
`cN
`
`If}
`
`a v
`
`0002
`0002
`
`0<
`
`1-
`
`In
`
`c:
`
`"'
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 2 of 9
`
`US 7,123,695 132
`
`
`
`HZmHHUyam—mg.1
`
`mom
`
`
`
`9251—0Mmmmdfl:
`
`Hgmoanm.05
`
`
`
`HZEQUMmmmzh
`
`No
`N
`
`mom
`
`
`
`H2840mmmm/l
`
`
`
`HZHAUMmmmg:
`
`.om
`
`mmmmaé
`
`Mm>Mmm
`
`
`
`H2540Mum—mm:
`
`SN
`
`0003
`0003
`
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 3 of 9
`
`US 7,123,695 132
`
`QZOUmm<nothEU23
`Mmm:
`
`sz.2200
`
`mmm
`
`Nmm
`
`
`
`Janna—00mmmU_O>
`
`m.03
`
`k
`
`
`
`HmZ.EEOU
`
`mam
`
`
`
`4.mo.FZNED.2;
`
`
`
`mum:Emman—
`
`o;
`
`0004
`0004
`
`
`
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 4 of 9
`
`US 7,123,695 132
`
`3
`
`Q29:5
`
`$.55memax/om“.
`
`%0298mm
`
`
`
`85>mmhémZmoammo
`
`HDZOUMm5.3.m0(CAMEOSE)NIH
` m5.OF83%:E457:85><azmaop33mmohmum:ozouma<mmwagfiimum:5m:<
`
`alt“
`
`
`
`mU_O>mkémZmO
`
`
`
`mo<mmm§Fzfimz.
`
`+25235>55.5
`9200mmm:.E.m0#2540E“;m:.—.
`
`ENE‘52:mo<mmm2
`
`
`
`#593DZOUmmMT;mmEEmmmD
`
`“SeamanaMam:
`03.«mm:SE".2.:OF3&3:
`
`
`
`(.24kamU_O><92mmOn.
`
`
`
`v.05
`
`
`
`2.3yam:
`mvDmhomhmn
`m0mUZm—mmmn—mZSLZO
`Eam5mohzmso
`2;OPammmzdo
`m.mum:FmEmmzk
`
`52552—56>
`
`m.3582
`2.:m8moémmz85><$23
`
`
`2‘ammaompim.amm:excomm
`928%E:noSad25m5
`m5amum938:0yam:
`
`aEmmaogg
`
`:3amm:99E
`
`
`
`
`
`
`
`a$35m:
`
`a?PmemE52m.0:?mmm:
`
`550%at"5.EES25m5
`
`
`
`EOE.Egg”.<$285.yam:
`
`z<92%OH$3350%ME
`
`
`
`Em:m5OHmafia:Efima
`
`QZOUMmNIPLOHZEAD32>mm...
`
`
`
`
`
`hmmEmzhCamp.mPOm—FmoMmmD
`
`
`
`mmvm4m<n:<><
`
`Q72HmemMmH025mum:
`
`a07:95.8”.
`
`38%a:(.5Embu2;El;
`
`m.tamm;2.$85yaw:
`
`65><oaeémzmo“5Bmfifi
`
`0005
`0005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 5 of9
`
`US 7,123,695 B2
`
`500
`
`'/’—
`
`PRESENCE STATUS OF VIM CLIENT OF
`
`FIRST USER CHANGES FROM OFFLINE TO
`ONLINE
`
`5 I
`
`m F
`
`STORED VOICE INSTANT MESSAGE IS
`DELIVERED TO VIM CLIENT OF FIRST USER
`
`520
`
`VOICE RECORDING IN VOICE INSTANT
`MESSAGE IS PLAYED
`
`IG. 5
`
`0006
`0006
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 6 of 9
`
`US 7,123,695 132
`
`
`
`m..05
`
`Smeaofipmzu
`
`GEEK/mo
`
`8a
`
`2a
`
`$0sz
`
`$0
`
`EmiuE;
`
`calm,mm
`
`memwmuomm
`
`Mme
`
`room
`
`awmgmmmpé453
`
`0007
`0007
`
`
`
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 7 of 9
`
`US 7,123,695 132
`
`03
`
`EEG23
`
`
`
`$2053505:
`
`own
`
`0200mm<LOHZmEUE>
`M.me
`
`
`
`away—00mmmUHO>
`
`mmm
`
`h.05
`
`Emman—<m0FZMEU52>
`
`mum:
`
`><3mb<0
`
`0008
`0008
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 8 of 9
`
`US 7,123,695 132
`
`
`
`wZOImmehermm
`
`£<2m05> 2m
`
`Emilmrrm
`
`w.05
`
`omm
`
`A|I\I\\MDmDOS=>
`
`own
`
`0009
`0009
`
`Emmi<"HQ.5530SF)
`Mmmn
`
`Em
`
`
`
`£953;OED<
`
`N5.
`
`
`
`
`US. Patent
`
`Oct. 17, 2006
`
`Sheet 9 of9
`
`US 7,123,695 B2
`
`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 VIM CLIENT
`
`2L2
`
`NEWr VOICEMAIL RECORDING FOR THE FIRST USER IS GEI’sIERATEgD20
`
`
`
`TELEPHONE NUMBER OF ORIGINATOR OF VOICEMAIL RECORDING
`
`IS OBTAINED AND ASSOCIATED WITH THE VOICEMAIL RECORDING
`
`22_5
`
`A VOICE MESS AGING INSTANT MESSAGE CONTAINING A
`REEERENCE LINK IS GENERATEDAND FORWARDED TO VIM SERV9E3R)
`
`A VOICE MESSAGING INSTANT MESSAGE IS SENT TO THE VIM
`
`CLIENT OF THE FIRST USER AND DELIVERED TO "II-IE FIRST USER AS
`
`
`
`SOON AS THE FIRST USER IS PRESENT Egg
`
`VIM'CLIENT OF THE FIRST USER RECEIVES THE VOICE MESSAGING
`
`INSTANT MESSAGE
`
`REFERENCE LINK IS ACTIVATED
`
`fl
`
`fl
`
`ASSOCIATED VOICE RECORDING IS INCLUDED IN A VOICE INSTANT
`
`NIESSAGE AND SENT TO VLVI CLIENT OF THE FIRST USER 2E
`
`VOICE RECORDING IS DELETED FROM VOICE MESSAGING SYSTEM
`2.32
`
`
`
`VOICE INSTANT MESSAGE IS RECEIVED AND VOICE RECORDING IS
`
`PLAYED
`
`FIG. 9
`
`0010
`0010
`
`990
`
`
`
`US 1123,6195 B2
`
`1
`VOICE MESSAGE DELIVERY OVER
`INSTANT MESSAGING
`
`CROSS-REFERENCE TO RELATED
`APP]. [CA'l‘ION
`
`This application claims priority to copending U.S. provi—
`sional application entitled, “Integration oflnstant Messaging
`and Computer Operating Systems." having Ser. No. 601382.
`106, filed May. 21. 2002. which is entirely incorporated
`herein by reference.
`
`'I‘liCIlNICAI; 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
`
`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 ofan 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 titan 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 UM) is one communication 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 stattts with a trusted group of users. A
`connnunication 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
`(1M) architecture is shown in [-‘IG. l. The traditional [M
`architecture consists ofa central [M server 105 connected to
`a number ofindividual clients (110. 115. 120. 125, I30. 135.
`140. and 145) in a closed network. For example, to send an
`instant message front client 110 to client 145, l M client 110
`first connects with an IM server 105 using a proprietary
`protocol. For example. AOL“; and Yahoolllb use [(TQ. Once
`the [M client 110 is connected to the [M server 105. the user
`
`2
`
`logs on by entering a user name and password. The [M client
`110 then sends the [M server 105 the connection informa-
`
`tion. such as the IP address and the ntunber of the port
`assigned to the IM client and the name and IP address of
`everyone in the [M contact list associated with the IM client
`110. An IM client may communicate directly with other [M
`clients if the IP addresses of these [M clients are known to
`
`the transmitting IM client. For convenience. the lilies of
`communication between individual [M clients are not shown
`in FIG. 1.
`
`[[1
`
`The [M server 105 then creates a temporary file that
`contains the connection information for the [M client 110
`and for each IM client 115. 120. 125. 130. 135. 140. 145.
`Once the temporary files have been created. the [M 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. If the [M server 105 finds
`any of the 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, 135, 140, 145 currently logged onto the network. When
`the ]M client 110 receives the connection infonnation, the
`presence status of that particular [M 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 [M client 115. 120. 125, 130, 135. 140. 145
`that is registered “()nline.” 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 [M client 145 then receives the instant
`
`3U
`
`35
`
`4t]
`
`45
`
`50
`
`55
`
`6t;
`
`message and can respond. Once the [M session is complete
`the dialog box is closed. and the IM client 110 goes ollline
`and sends a message to the [M server 105 tenninating the
`session. The [M server 105. in response to acknowledging
`that the IM client 110 has logged 011'. generates a message to
`each ofthe [M clients 115. 120. 130. 140. 145 on the client
`list of [M client 110 indicating that [M client 110 is logged
`oil“ the network.
`
`Jabber is an example of an “open” instant messaging
`architecture. Jabber, available from Jabber, lnc. of Deliver,
`(To. includes an [M system focusing on providing [M 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 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 [M network that
`uses Jabber interoperable XMl.,-based network architecture
`is shown in FIG. 2. Jabber is a real—time comnnmications
`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 [M
`systems. Messages front Jabber client 200 to Jabber client
`20] must pass through the Jabber server 215. [Each Jabber
`0011
`0011
`
`
`
`US T. 123,695 B2
`
`3
`client 200—205 is attached to a local Jabber server 215—217.
`Each local Jabber server 215—21’}r receives intonnation 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'!
`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 identified. attd
`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-285,
`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.
`[it 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 185 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
`ntamter. 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 defi-
`ciencies and imidequacies.
`
`SUMMARY OF THE INVENTION
`
`Preferred embodiments of the present invention provide
`systems and methods for sending voice instant messages.
`Briefly described,
`in architecture, one embodiment 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.
`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.
`
`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.
`
`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 flowchart describing the fitnctionality of a
`representative implementation of the voice message delivery
`system of FIG. 3.
`FIG. 5 is a flowchart describing the functionality of a
`representative implementation ofthe 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.
`
`It]
`
`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 flowchart describing the litnctionality of a
`representative implementation of the voice message delivery
`system of FIG. 8.
`
`Dli'l‘AILlil) DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`3U
`
`35
`
`Depicted in FIG. 3 is a block diagram of one represen-
`tative embodiment. among others. ofa voice message deliv-
`ery 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 {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 configured 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 triutsmitted by the VIM client 310 of the first
`user to the VIM client 320 of the second user. wherein the
`
`4t:
`
`45
`
`message invites or prompts the VI M client 320 of the smond
`user to generate a voice recording for the first user.
`Each VIM client 310, 320 communicates with and
`receives presence status information from a VIM server 330
`via the Internet or some other corrununication network 325.
`The VIM server 330 may act as a single IM server 105 of
`FIG. I or a local IM server. such as a .labber Server 215 of
`FIG. 2. The VIM server 330 monitors the presence inflor-
`mation of the VIM clients. such as the VIM client of the first
`user310, and notifies a VIM client 310 ofthe 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 first user designates contact parameters. The contact
`parameters are criteria on (a) whom a user wants to receive
`presence infomtation about and (b) how a user wants to
`receive the presence information. Within the contact param—
`eters. the first user may name the second ttscr as a person
`about whom the first 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 first user
`or the VIM server 330 depending upon the architecture of
`the instant messaging network.
`0012
`0012
`
`50
`
`55
`
`60
`
`
`
`1;
`
`US I“. 123,695 B2
`
`6
`
`I)= the contact parameters are
`111 a closed system (FIG.
`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 33!]. In an open system (FIG. 2),
`however.
`the contact parameters are stored in a storage
`medium (not shown) accessible by the VIM server 33 0. 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 paralneters the
`names of the people that the first user wants to receive
`presence status infonnation about. Accordingly the voice
`message delivery system can be incorporated over many
`instant messaging configurat ions. such as peer-to-peer. with
`the VIM server 330 providing primarin 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 (“first 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 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.
`The flowchart of FIG. 4 shows the functionality of a
`representative implementation ofthe voice message delivery
`system 300 of the present invention. It should also be noted
`that in some alternative implementations the ftmetions noted
`in the various blocks may occur out of the order depicted in
`the flowchart of FIG. 4. l"or example. two blocks shown in
`succession in FIG. 4 may. in fact. be executed substantially
`concurrently. Altematively, 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 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 nalne 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 first user or the VIM server 330 depending upon the
`architecture of the instant messaging network. ’I'herefot‘c. 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 andfor 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 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 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 u5er. however. detects that the lirst user is not
`present andi’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 specified in settings of the VIM client by the
`Second user.
`In blocks 449 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 camtot
`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 zutd the VIM client 320 ofthe 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 first
`user.
`
`5
`
`It]
`
`3o
`
`35
`
`4t:
`
`45
`
`50
`
`55
`
`6t;
`
`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
`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.
`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 auditor 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.
`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 inven-
`0013
`0013
`
`
`
`US T. 123,695 B2
`
`8
`
`7
`In block 510, the VIM client 310 of the first user
`tion.
`changes from an offline presence stattts to an online presence
`stattls. In block 520. the voice instant messages stored in the
`VlM 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 front a keyboard or keypad. for
`example. Alternatively, the voice instant message may not
`be delivered to the first 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 voice
`instant message is distinctively marked with XML. tags so
`that a VIM client 3.10 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. Alter 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 irmnediately 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 first trser, the VIM server 340 sends the VIM
`client 31 0 o t‘the first user a list ol‘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 Ines-
`sages that
`the first 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.
`Altematively. for each voice instant message placed in the
`VIM queue for the first user. the VIM server 340 may send
`an update message to the VIM client 310 ofthe 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 descrip—
`tive caption frotn 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. 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 first user. and next to each user‘s name on
`the contact list, the number of unreceived voice messages
`that users have left the first user may be shown. Also.
`additional infomiation, 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. firmware. hardware. or a combi-
`nation thereof. Preferably, the VIM client 310, 320 or VIM
`server 330 are implemented in soitware. 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
`
`604, and one or more input andfor output (UO) devices 606
`(or peripherals) that are conununicatively 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. bufl'ers (caches),
`drivers. repeaters. and receivers, to enable conununiuttions.
`Further. the local interface may include address. control.
`andi‘or data connections to enable appropriate communica-
`tions among the aforementioned components.
`The processor 602