`
`US 20030219104AL
`
`as) United States
`a2) Patent Application Publication (o) Pub. No.: US 2003/0219104 Al
`Malik Nov.27, 2003 (43) Pub. Date:
`
`
`
`(54) VOICE MESSAGE DELIVERY OVER
`INSTANT MESSAGING
`
`Related U.S. Application Data
`
`(75)
`
`Inventor: Dale W. Malik, Dunwoody, GA (US)
`
`(60)
`
`Provisional application No. 60/382,106, filed on May
`21, 2002.
`
`Correspondence Address:
`THOMAS, KAYDEN, HORSTEMEYER &
`RISLEY, LLP
`100 GALLERIA PARKWAY, NW
`STE1750
`ATLANTA, GA 30339-5948 (US)
`
`(73) Assignee: BellSouthIntellectual Property Corpo-
`ration, Wilmington, DE
`
`(21) Appl. No.:
`
`10/223,903
`
`(22)
`
`Filed:
`
`Aug. 19, 2002
`
`Publication Classification
`
`(SL) TGC? wexcescssscctsscosxerse H04M 1/64; GOGF 15/16
`CSc Ale Mecsreseraceres toereaesersrareessneesrees 379/88.11; 709/206
`a
`“
`G7)
`_
`ABSTBOeY
`Onepreferred embodimentof the present invention provides
`a system and method for sending voice instant messages.
`Briefly described, in architecture, one embodiment ofthe
`system, among others, includes a communications client of
`a user that is configured to generate a voice instant message
`and send a voice instant message to another user. Methods
`and other systems are also provided.
`
`
` A FIRST USER AUTHORIZES A
`
`SECOND USER TO BE ABLE TO SEND
`
`
`
`
`A VOICE INSTANT MESSAGETO THE
`
`
`FIRST USER
`410
`
`
`
`
` AUTHORIZED?
`
`
`400
`
`
`THE VIM CLIENT OF THE SECOND
`USER GENERATES VOICE
`RECORDING
`
`PROVIDE DESCRIPTIVE
`460
`
`CAPTION
`465
`
`
`GENERATE VOICE
`
`THE VIM CLIENT OF THE SECOND
`
`
`
`USER RECEIVES A REQUEST FROM
`INSTANT MEsaone.
`
`THE SECOND USER TO SEND AN
`
`INSTANT MESSAGETO THE FIRST
`
`
`
`
` THE VIM CLIENT OF THE SECOND
`
`USER WHOIS NOTPRESENT 499
`
`STORE VOICE INSTANT
`
`USER INVITES THE SECOND USER
`MESSAGEUNTIL FIRST
`
`
`TO SEND A VOICE INSTANT
`
`
`
`USERIS PRESENT75
`
`
`THE VIM CLIENT OF THE SECOND
`
`
`
`
`MESSAGETO THEFIRST USER 450
`
`USER DETECTS THAT THEFIRST
`USER IS NOT PRESENT AND
`
`
`
`ONLINE PRESENCE OF
`AVAILABLE
`
`425
`
`THE FIRST USER IS
`
`DETECTED
`480
`
`
`
`
`
`
`THE VIM CLIENT OF THE SECOND
`445
`USER CHECKSTO SEEIF IT IS
`
`
`CAPABLE OF GENERATING A VOICE
`
`
`
`
`VOICE INSTANT
`RECORDING
`430 |
`
`
`
`MESSAGEIS
`
`THE VIM CLIENT OF THE SECOND
`
`DELIVERED TO VIM
`
`
`USER CHECKSTO SEEIF THE
`
`
`CLIENT OF THEFIRST
`
`SECOND USER IS AUTHORIZED TO
`
`CAPABLE?
`
`USER
`485
`LEAVE A VOICE MESSAGE FOR THE
`
`
`
`435
`
`
`FIRST USER
`440
`
`
`
`
`001
`001
`
`Facebook Ex. 1019
`Facebook Ex. 1019
`U.S. Pat. 8,243,723
`US. Pat. 8,243,723
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 1 of 9
`
`US 2003/0219104 Al
`
`°a8)—_
`
`FIG.1(PRIORART)
`
`wy
`
`wS
`
`o—_
`
`oS
`
`wy2 —
`
`002
`002
`
`So
`=
`
`wyae
`_
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 2 of 9
`
`US 2003/0219104 Al
`
`£07
`
`LNATTOUdavl
`
`LINdITDYadavJ+
`
`wadavl
`
`UAAUS
`
`POC91¢
`
`IN&ITOdadave
`
`07
`
`LavaOlrdd¢Old
`
`
`
`LIN&I1Ddaddve
`
`soz007
`LITSIZ IN@ITDWaddvl
`
`
`UaANASUAANASINdI1OYsave
`
`wadaveddaave
`
`I
`
`02
`
`003
`003
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 3 of 9
`
`US 2003/0219104 Al
`
`Oce
`
`GNOOESVJOLNAITOWIA
`wasn
`
`Sct
`
`wWAdNOoAaAIOA
`
`tDie
`
`cog—4
`
`ddSnLSadVdOLNaTIOWIA
`
`O€E
`
`_aNANOWIA
`
`Ore
`
`004
`004
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 4 of 9
`
`
`
`O08dealoglad
`
`
`
`JOJONASAadANTINO
`
`
`
`SIYdasnLSdldFHL
`
`édaZMIOHLAVY
`
`or
`
`INV.LSNI
`
`US 2003/0219104 Al
`
`
`WIAOLGaaaAIIAGFHLdIadsOLSHOAHSDWASN
`SIADVSSANCNOOUSAHLJOLNAITOWIAdHL
`
`LSYdAHLJOLNAITOOLGaZIMMOHLNYSIYaASNGNOOES
`
`byOld
`
`ssh
`
`wasn
`
`
`
`OrrASNLSUd
`
`
`
`
`
`AHLYOdADVSSAWAOIOAVJAVA
`
`SDIOA
`
`
`
`StrATAVIVAY
`
`CNVLNdSaudLONSIwasn
`
`CGNOOASAHLJOLNAITOWIAFHL
`
`SILIaIAasOLSHOAHOWASN
`
`
`
`0erONITHOOTa
`
`AOIOAVONILVYANADJOFIsVdVO
`
`AALLAIMOSACACLAOUd
`
`Sor=NOILdvO
`
`
`OOFONICUOOTY
`
`AOIOASALVUANGDwasn
`
`
`AHLOLADVSSAWLNVLSNIJDIOA¥CNSOLATAAdOLWISNGNODASVSAZIMOHLNV
`
`UASNLSULA¥
`
`CNOOASAHLdO.LNSTIDWIAFHL 00r
`
`OlrwasnLSU
`
`olb
`
`
`
`ADIOAALVAANAD
`
`
`
`AFOVSSAWLNVLSNI
`
`CNODASAHLJOINAIIOWIASHL
`
`
`
`WowsLSAnNoOadVSAAISOFWASN
`
`N¥GNASOLWISNNODESFHL
`
`
`
`LSUIdAHLOLADVSSAWLNVLSNI
`
`
`
`LSUldTLLNNSDVSSAW
`
`WASNGNOOSAHLSALIANIWISN
`
`
`
`INVISNIAOIOASUOLS
`CNOOASAHLJOLNAIIOWIAFHL
`
`OchINaSaadLONSIOHAWasa
`
`
`SLYINasaudSIWaSA
`
`OS?wasnLSUldAHLOLSDVSSAW
`
`
`INVLSNIAOIOAVNGSOL
`CNOOSSAHLdOLNATTOWIAFHL
`
`
`
`
`
`LSUldJHLLVHLSLOALAGwasn
`
`005
`005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 5 of 9
`
`US 2003/0219104 Al
`
`500
`
`e
`
`PRESENCESTATUS OF VIM CLIENT OF
`FIRST USER CHANGES FROM OFFLINE TO
`ONLINE
`
`510
`
`MESSAGEIS PLAYED 530
`
`STORED VOICE INSTANT MESSAGEIS
`DELIVERED TO VIM CLIENT OF FIRST USER
`320
`
`VOICE RECORDING IN VOICE INSTANT
`
`FIG. 5
`
`006
`006
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 6 of 9
`
`US 2003/0219104 Al
`
`AYOWAN
`
`+09
`
`LN@ITOWIA
`
`OcE‘OTE
`
`ONILVUadO
`
`WALSAS
`
`(s/o)
`
`019
`
`
`
`309AOVAYALNITVOOT
`
`9OI
`
`LNdiNO/LAdNI
`
`(S)A0IAda
`
`(OM)
`
`909
`
`wOSSAOOUd
`
`709
`
`*¥—.009
`
`007
`007
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 7 of 9
`
`US 2003/0219104 Al
`
`oo.—4
`
`OFE
`
`LN@ITOWIA
`
`
`
`(4NOHdATIGOW)
`
`dVTIATTSD
`
`WYOMLAN
`
`AxXOUud
`
`AVMALVO
`
`OSE
`
`GNOOUSVdOLNATTOWIA
`adasn
`
`
`
`WAdHOOAYSOIOA
`
`LOld
`
`wasnLSadVdOLNATTOWIA
`
`008
`008
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 8 of 9
`
`US 2003/0219104 Al
`
`00g—4
`
`018
`
`TVWADIOA
`
`WHLSAS
`
`ANOHdATALNLSd
`
`8Old
`
`ee
`
` |anandWIAWIA
`wasnLSasVdOLN&3ITOWIA
`UAAV1dOIGNV
`
`009
`009
`
`
`
`
`
`
`
`Patent Application Publication Nov. 27,2003 Sheet 9 of 9
`
`US 2003/0219104 Al
`
`
`
`
`A FIRST USER SUBSCRIBES TO A VOICE MESSAGING SYSTEM 919
`
`
`‘THE FIRST USER DESIGNATES THAT NEW VOICEMAIL RECORDINGS
`
`ARE TO BE FORWARDEDTO A VIM CLIENT
`915
`
`NEW VOICEMAIL RECORDING FORTHEFIRST USERIS SEE
`
`TELEPHONE NUMBER OF ORIGINATOR OF VOICEMAIL RECORDING
`IS OBTAINED AND ASSOCIATED WITH THE VOICEMAIL RECORDING
`
`925
`
`
`
`
`A VOICE MESSAGINGINSTANT MESSAGEIS SENT TO THE VIM
`CLIENT OF THE FIRST USER AND DELIVERED TO THE FIRST USER AS
`SOONAS THE FIRST USERIS PRESENT
`
`
`
`
`
`
`
`
`940
`
`
`
`
`VOICE RECORDING IS DELETED FROM VOICE MESSAGING SyoTEy
`
`A VOICE MESSAGING INSTANT MESSAGECONTAINING A
`REFERENCELINK IS GENERATEDAND FORWARDEDTO VIM SER
`
`VIM'CLIENT OF THE FIRST USER RECEIVES THE VOICE MESSAGING
`
`INSTANT MESSAGE 950
`
`
`REFERENCELINK IS ACTIVATED
`
`
`ASSOCIATED VOICE RECORDINGIS INCLUDEDIN A VOICE INSTANT
`MESSAGE AND SENT TO VIM CLIENT OF THE FIRST USER
`970)
`
`
`VOICE INSTANT MESSAGEIS RECEIVED AND VOICE RECORDINGIS
`PLAYED
`990
`
`FIG. 9
`
`010
`010
`
`
`
`US 2003/0219104 Al
`
`Nov. 27, 2003
`
`VOICE MESSAGE DELIVERY OVER INSTANT
`MESSAGING
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`[0001] This application claims priority to copending U.S.
`provisional application entitled, “Integration of Instant Mes-
`saging and Computer Operating Systems,” having ser. No.
`60/382,106, filed May, 21, 2002, which is entirely incorpo-
`rated herein by reference.
`
`TECHNICAL FIELD
`
`{0002] The present invention is generally related to com-
`munications and, more particularly, is related to a system
`and method for relaying voice messages over a communi-
`cation network.
`
`BACKGROUND OF THE INVENTION
`
`Presence and availability are terms used to describe
`[0003]
`a present ability of an individual to communicate. Presence
`is an ability of an individual to communicate in real time,
`and availability is the willingness of an individual to com-
`municate in real time. In communications,it is advantageous
`to know whether a potential recipient of a communication
`message is present and available, i.c., available to receive
`and respond to the message before initiating the transmis-
`sion ofthe message. By making the presence and availability
`of individual users known before any communication is
`attempted, a realtime communications environment is facili-
`tated that is more 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.
`
`is one communication
`Instant messaging (IM)
`[0004]
`medium that employs presence and availability technology.
`An instant messaging network recognizes when a user is
`present” on the network. Accordingly, the network sends
`notification to other users (usually members of a “buddy
`list” or “contact list”) that are also logged on the network
`that the user is “present.” Further, instant messaging lets a
`user display custom status messagesto 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 andavail-
`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 (IM) architecture is shown in FIG, 1. The traditional
`IM architecture consists of a central IM server 105 con-
`nected to a numberofindividual 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, IM client 110
`first 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
`logs on by entering a user name and password. The IM client
`110 then sends the IM server 105 the connection informa-
`
`lion, such as the IP address and the number of the port
`assigned to the IM client and the name and IP address of
`everyonein the IM contactlist 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.
`
`[0006] The IM server 105 then creates a temporary file
`that contains the connection information for the IM client
`110 and for each IM client 115, 120, 125, 130, 145. Once the
`temporary files have been created, the IM server 105 checks
`the network to determine whether any IM client identified by
`the contact list associated with IM client 110 is currently
`logged into the system. If the IM server 105 finds 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, 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 presencestatus is displayed to
`the user. At this point the user may select any IM client 115,
`120, 125, 130, 145 that is registered “Online,” at which point
`a dialog box will appear in which the user may entertext.
`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
`offline and sends a message to the IM server 105 terminating
`the session. The IM server 105, in response to acknowledg-
`ing that
`the IM client 110 has logged off, generates a
`message to each of the IM clients 115, 120, 145 on the client
`list of IM client 110 indicating that IM client 110 is logged
`off the network.
`
`Jabber is an example of an “open” instant messag-
`(0007]
`ing architecture. Jabber, available from Jabber, Inc. of Den-
`ver, Co., includes an IM system focusing on providing IM
`access to a user. Jabber includes an Extensible Markup
`Language (XML) open source server software that was
`developed by a community of developers over the Internet.
`Jabber allows communication among applications and sys-
`tems across platforms. Developers write additional modules
`to submit
`them back for possible incorporation into the
`Jabber software.
`
`[0008] A block diagram illustrating a prior art IM 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 andclients, 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
`
`011
`011
`
`
`
`US 2003/0219104 Al
`
`Nov. 27, 2003
`
`because the Jabber server 215-217 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 IM systems. Messages from Jabber client 200 to Jabber
`client 201 must pass through the Jabber server 215. Each
`Jabber client 200-205 is attached to a local Jabber server
`215-217. Each local Jabber server 215-217 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-217 functions independently from one another,
`and can communicate with any other Jabber server 215-217
`that
`is connected to the Internet as long as it has been
`identified, and predisposed to do so ahead of time. Each
`local Jabber server 215-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-217 consists
`of multiple components that separately handle individual
`functions with the Jabber system.
`
`In many instant messaging communications, if a
`(0010)
`useris nol present to receive an instant message, the instant
`message 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.
`[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 unaddressed need
`exists in the industry to address the aforementioned defi-
`ciencies and inadequacies.
`SUMMARYOF 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 communicationsclient 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: gener-
`ating a voice instant message; and sending a voice instant
`message.
`
`{0014] Other systems, methods, features, and advantages
`of the present invention will be or become apparent to one
`with skill
`in the art upon examination of the following
`drawings anddetailed 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 ofthe invention can be better under-
`stood with reference to the following drawings. The com-
`
`ponents in the drawings are not necessarily to scale, empha-
`sis
`instead 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 priorart.
`
`(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 embodimentofthe 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 DESCRIPTION OF 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 voice message delivery
`system 300 includes a voice instant messaging (VIM) client
`310 of a first user, wherein the VIM client 310 is configured
`to receive and play a voice recording in a voice instant
`message it receives from other users, such as a second user.
`Accordingly, a VIM client 320 of the second user is con-
`figured to generate a voice recording of the second user and
`include the voice recording in an instant message upon
`accepting a VIM invitation. A VIM invitation is a message
`that is transmitted by the VIM client 310 of the first user to
`the VIM client 320 of the second user, wherein the message
`invites or prompts the VIM client 320 of the second user to
`generate a voice recording for the first user.
`[0026] Each VIM client 310, 320 communicates with and
`receives presence status information from a VIM server 330
`via the Internet or some other communication network 325.
`The VIM server 330 mayact 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 clientof thefirst
`user 310, andnotifies 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 Al
`
`Nov. 27, 2003
`
`For example, in one preferred embodimentof 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 thefirst user wants lo receive presence
`information 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 ofthe first user
`or the VIM server 330 depending upon the architecture of
`the instant messaging network.
`[0028]
`Ina 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 (VIG, 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
`limethat 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
`messagefor 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 ofother users can verify
`if the first user has authorized the otherusers to send a voice
`
`instant message to thefirst user.
`
`[9030] The flowchart of FIG. 4 showsthe functionality of
`a representative implementation of the voice message deliv-
`ery system 300 of the present invention. It should also be
`notedthat in somealternative implementations the functions
`noted in the various blocks may occur out of the order
`depicted in the flowchart of FIG, 4. For example, two blocks
`shown in succession in FIG. 4 may,
`in fact, be executed
`
`the blocks may
`substantially concurrently. Alternatively,
`sometimes be executed in the reverse order depending upon
`the functionality involved.
`In other embodiments, some
`blocks shown in FIG. 4 are omitted.
`
`the functionality of a
`[0031] As depicted in FIG. 4,
`representative embodiment 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 personsthatthefirst user
`would like to provide voice instant messaging capability to,
`via checking a box by that person’s name in the person's
`contactlist, for example. The contact parameters are stored
`in a centralized storage medium 340that 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. Therefore, at a later time, when an authorized user
`attempts to send an instant messagetothefirst user and the:
`first user is not present and/or 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 and/or availability state ofthefirst
`user.
`
`In block 420, the VIM client 320 ofthe 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 ofthe instant message. The VIM client 320 of
`the second user, however, detects that the first 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 specified 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 ofthe first user
`to see if the second user is authorized by the first user to
`leave a voice instant messagefor 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 useris 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. 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 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-
`phonethat is coupled to the computing device of the VIM
`
`013
`013
`
`
`
`US 2003/0219104 Al
`
`Nov. 27, 2003
`
`client 320 of the second user, and the VIM client 320 of the
`second user generates a voice recording for the first user.
`
`In block 465, after the voice recording has been
`[0034]
`generated, the VIM client 320 of the second user prompts the
`second user to type a descriptive caption for the voice
`recording. Then in block 470, a voice instant message is
`generated by including the descriptive caption and the voice
`recording in an instant message. The descriptive caption
`may be marked by XML tagsso thatit 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 thefirst user is present and/or available to
`receive instant messages again by monitoring the presence
`status ofthe 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 ofthe first user for one preferred embodiment of
`the invention. In block 510, the VIM client 310 of the first
`user changes from an offline presence status to an online
`presence status. In block 520, the voice instant messages
`stored in the VIM queue 340for the first user are delivered
`to the VIM client 310 ofthe first user. Each voice instant
`message containsa 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 thefirst 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 messageis distinctively marked with XMLtags
`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 recipientof 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 ofthe 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 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.
`
`for each voice instant message
`(0039] Alternatively,
`placed in the VIM queue for the first user, the VIM server
`
`340 may send an update message to the VIM client 310 of
`the first user. The update message may contain an identifier
`or tracking number for the VIM messageit 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 thefirst 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 contactlist of the first user, and nextto
`each user’s name on the contactlist, the number of unre-
`ceived voice messages that users haveleft 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 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 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 and/or output (1/O)
`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, buffers (caches),
`drivers, repeaters, and receivers, to enable communications.
`Further,
`the local
`interface may include address, control,
`and/or data connections to enable appropriate communica-
`lions 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.
`
`[0043] The memory 604 can include any one or