Uniloc USA, Inc. et al v. Google, Inc.
Filing
1
COMPLAINT against Google, Inc. ( Filing fee $ 400 receipt number 0540-6215981.), filed by Uniloc USA, Inc., Uniloc Luxembourg, S.A.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Civil Cover Sheet)(Etheridge, James)
EXHIBIT A
JS008724622B2
United States Patent
( io )
Rojas
d 2)
(45 )
( 54 )
SYSTEM AND METHOD FOR INSTANT VOIP
MESSAGING
( 75 )
Inventor:
( 73 )
Assignee: Empire IP LLC, Austin, TX (US)
(*)
Notice:
Michael J. Rojas , North Canton, OH
(US)
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.C. 154 (b) by 0 days.
This patent is subject to a terminal disclaimer.
( 21 )
Appl . No.: 13/546, 673
( 22 )
Filed:
7,535 ,890
8,199,747
2003/0087632
2003/0126207
2004/0014456
2004/0030046
2004/0085456
2004/0122906
2004/0128356
2004/0179092
2004/0223599
2004/0252679
2005/0053230
2005/0105697
2005/0117591
2006/0167883
2006/0268750
2007/0112925
Continuation of application No. 12/398,063, filed on
Mar. 4, 2009, now Pat . No. 8,243,723, which is a
continuation of application No. 10/740,030, filed on
Dec. 18, 2003, now Pat . No. 7, 535,890.
Int. Cl.
(2006.01)
H04L 12/66
(52) U.S. Cl.
USPC
370/352; 709/ 206 ; 379/88.17
(58) Field of Classification Search
USPC
379/88.17; 709/ 206 ; 370/352
See application file for complete search history.
(51)
References Cited
U.S. EXTENT DOCUMENTS
6 ,763,226 B1
7 ,372 ,826 B2 *
Rojas
Rojas
Sagi et al .
Creamer et al .
Vaananen
Schultes et al .
Kwag et al .
Goodman et al .
Bernstein et al .
La Point
Bear et al
Williams et al .
Gierachf
Hollowed et al .
Hurtta et al
Boukobza
Weiner
Malik
....
379/ 207.02
370/401
370/260
http://www.ci sco .com/warp/public/cc/pd/nemnsw/callmn prodlit/
cm33_ds.htm; “ Data Sheet Cisco CallManager Version 3.3” , Nov.
22, 2002.
Nov. 1, 2012
Related U.S. Application Data
(56)
5/2009
6/2012
5/2003
A1
7/2003
A1
1/2004
A1
2/2004
A1
5/2004
A1
6/2004
A1
7/2004
A1
9/2004
A1
Al * 11/2004
A1 12/2004
3/2005
Al
5/2005
Al
Al * 6/2005
7/2006
Al
Al * 11/2006
5/2007
Al
OTHER PUBLICATIONS
Prior Publication Data
US 2012/0275452 A1
B2
B2
(Continued )
Jul. 11, 2012
( 65 )
(63)
US 8,724,622 B2
Patent No.:
*May 13, 2014
Date of Patent:
7/ 2004 McZeal , Jr.
5/ 2008 Dahodetal
(Continued )
Primary Examiner — Creighton Smith
(74) Attorney, Agent, or Firm — John R. Kasha; Kelly L.
Kasha; Kasha Law LLC
(57)
ABSTRACT
Methods, systems and programs for instant voice messaging
over a packet-switched network are provided. A method for
instant voice messaging may comprise receiving an instant
voice message having one or more recipients, delivering the
instant voice message to the one or more recipients over a
packet-switched network, temporarily storing the instant
voice message if a recipient is unavailable; and delivering the
stored instant voice message to the recipient once the recipi ent becomes available.
39 Claims, 9 Drawing Sheets
370/328
200
21.6
/
214
202
d
2081
212
AUDIO
FILE
210
—^
53
LOCAL
IVM
SERVER
LOCAL
IP NETWORK
IVM CLIENT
218
v
414
w 7 GATEWAY
ryy 206
rVMCLffiNT
(VoIP
PHONE)
LEGACY
SWITCH
no
LEGACY
PHONE
US 8,724,622 B2
Page 2
(56)
References Cited
-
U.S. EXTENT DOCUMENTS
2007/0174403
2008/0298309
2009/0161664
2010/0070275
2013/0279681
7/ 2007 Barry
A1
A1 * 12/ 2008 DePietro et al
6/ 2009 Rojas
Al
3/ 2010 Cast
Al
Al * 10/ 2013 Weiner
370/328
379/ 207.02
OTHER PUBLICATIONS
U.S . Office Action dated Oct . 18, 2011 received in related case,
namely. U.S. Appl . No . 12/398,063, filed Mar. 4 , 2009.
-
http://www.hsteliann .com/english/? zone=3100 V21P; “ Teliphone
3100 V21P” , 2003.
http://www. linuxdevices.com/articles/AT 5199947519 .html;
“ Device Profile: snom 100 VoIP phone” , May 15 , 2002.
http://www. pingtel .compr _xpressa.jsp; No limits with the
advanced industry standard SIP phone, Dec . 8, 2003; and
AudioCoded Enabling Technology Products, TPM-1100 VoP Media
Gateway Modules; 2003 .
U.S. Final Office Action dated Jan. 25, 2012 received in related case,
namely, U.S. Appl . No . 12/398,063 filed Mar. 4 , 2009.
Notice of Allowance dated Mar. 30, 2012 received in related case,
namely, U.S. Appl . No . 12/398,063, filed Mar. 4 , 2009 .
* cited by examiner
U.S. Patent
US 8,724,622 B2
Sheet 1 of 9
May 13, 2014
/
120
: u
=5— 6 VoIP
102
==
108
O
rr
IP NETWORK
(INTERNET
104
SWITCH
118
rWU06
Q
ss
o
VoIP
114
PHONE
' GATEWAY
f
GATEWAY
}
116
112
VoIP
SOFTPHONE
D
LEGACY
SWITCH
110
LEGACY
PHONE
FIG, 1
(PRIOR ART)
PSTN
U.S. Patent
May 13, 2014
US 8,724,622 B2
Sheet 2 of 9
216
/
202
-
U
208
212
AUDIO
FILE
210
IP NETWORK
ff
11
-C- -fll
3
r
IVM CLIENT
( VoIP
PHONE)
114
GATEWAY
112
LEGACY
SWITCH
110
LEGACY
PHONE
FIG , 2
,
IVM
SERVER
IVM CLIENT
=^ 206
LOCAL
U
.
S
.
208
1
Paten
302
320
CLIENT
ENGINE
MESSAGING
SYSTEM
306
May
DOCUMENT
HANDLER
LOCAL
IP NETWORK
^
AUDIO
HLE
FEE
308
MSG
DATABASE
304
210
MANAGER
AUDIO HLE
CREATION
310
314
316
t
318
t
TO LOCAL
IVM SERVER
202
13
,
2014
She t
3
of
9
ENCRYPTION COMPRESSION
PROCESSING DECRYPTION DECOMPRESSION
SIGNAL
US
8
,
724
622
B
,
FIG. 3
2
U
.
S
.
402
436
l
SERVER COMMUNICATION PLATFORM
SERVER ENGINE
404
(SWITCHING CORE)
204
TOWM
CLIENTS
206, 208
/ LOCAlX
^JOTORK /
CONTROL LAYER
426
428
NON
PRGPRIETARYN
SERVER
430
NON
PROPRIETARY
SERVER
MESSAGING
SYSTEM
STADON
MANAGER
406
MMAGER
GATEWAY
MANAGER
412
V
DATABASE
Paten
202
Z
408
410
432
.
DATABASE
MANAGER
434
PROPRIETARY
SERVER
May
204
LOCAL
IP
NETWORK
13
,
TO
GATEWAYS
114
2014
She t
4
PROPRIETARY
SERVER
of
9
416
LCD
FIG. 4
DHCP
MANAGER
'i
418
SERVER
IFTP
SHIVER
HTTP
SERVER
US
8
,
422
420
SUPPLEMENTAL SERVERS
424
724
622
B
,
2
U
.
S
.
502
IVM SYSTEM
216
202
200
a
- -
r ETJ H
/
204
GLOBAL
IVM
SERVER
SYSTEM
a
LOCAL
IVM
SERVER
/
102
Paten
May
13
,
208
212
AUDIO
FILE
210
LOCAL
IP NETWORK
2014
IP NETWORK
(INTERNET)
IVM CLIENT
218
n
— a\
•
>
e
,
•
114
'
GATEWAY
112
LOCAL
IP NETWORK
110
1
508
/
PHONE
IVM CLIENT
FIG. 5
of
504
LEGACY
SWITCH
LEGACY
She t
5
9
/
206
IVM CLIENT
(VoIP
PHONE)
IVM CLIENT
(VoIP
PHONE)
US
8
,
724
622
B
,
2
U
.
S
.
600
510
502
IP
NETWORK
(INTERNET)
MESSAGES
LOCAL
IVM
SERVER
l
) .•
JKy
\
BJ
\
1
201
A<)
• f rvM \
CLIENT
606
13
,
*
2014
TRANSPORT
|
102
206
/ IVM \
May
602
IVM
SYSTEM
A
SERVER
DIRECTORY
SERVER
She t
6
V
\rTRANSPORTS
\
"
I SERVER
V
#1
Paten
J
of
9
GLOBAL IVM
SERVER
SYSTEM
FIG. 6
US
8
,
724
622
B
,
2
U
.
S
.
604, 606
IP
NETWORK
(INTERNET)
Paten
702
714
COMMUNICATION PLATFORM
SERVER
704
ENGINE
MESSAGING
SYSTEM
706
CLIENT
MANAGER
710
i
MESSAGE
DATABASE
DATABASE
MANAGER
LOCAL
SERVER
MANAGER
May
13
,
708
2014
She t
7
of
9
US
8
,
FIG. 7
724
622
B
,
2
U
.
S
.
608
2
/
/
COMMUNICATION PLATFORM
SERVER
ENGINE
102
f NETWORK \
VONTERNEU y
^
_
Paten
802
812
806
MESSAGING
SYSTEM
808
USER
MANAGER
810
TRANSPORT
MANAGER
LOCAL SERVER
MANAGER
May
13
,
2014
She t
8
of
9
US
8
,
FIG. 8
724
622
B
,
2
U.S. Patent
May 13, 2014
US 8,724,622 B2
Sheet 9 of 9
900
920
918
7
922
rc
A
502
/
1
1A 1
7
m 608
TS2 I
7
932
934
930
E
928
a
A g
A g
B g
D g
7
2B
7
7
938
936
r
902
926
D
A g
B g
C
g
604 GLOBAL IVM
SERVER SYSTEM
A
B g
924
910
IP NETWORK
102
IVM SYSTEM #1
202
IVM SYSTEM #2
202
204
LAN
LAN
208
C
A
B
1C
C g
2A g
7
208
/
208
206
/
208
206
/
IB
1A l
M
m
2D
2C
1A 1
1
1
2B 1
2C 1
1A g
2A
2C 1
E g
2A
2B 1
A g
92
914
c
7
906
c
7
7
908
904
FIG. 9
7
7
916
US 8,724,622 B2
1
2
SYSTEM AND METHOD FOR INSTANT VOIP
MESSAGING
network 102 via a networking standard such as Ethernet ,
Bluetooth, IEEE 1394 (also known as “ Firewire” ), IEEE
802.11 (also known as “ WiFi” ), or networking over serial
communication channels such as the Universal Serial Bus
(i.e., “ USB” ). Data communication over the network then
takes place using a connection protocol, e.g., transfer control
protocol /Internet protocol (i .e., “ TCP/IP” ).
Further regarding FIG. 1, terminal device 110 is a legacy
telephone that is connected to a legacy switch 112 for (circuit switched) voice communications over the PSTN 116 with
other terminal devices. A media gateway 114 may be pro vided between the legacy switch 112 and the packet -switched
network 102 to enable IP telephony between the legacy telephone 110 and a VoIP terminal device, such as a VoIP soft phone 104 or VoIP telephone 106 . More specifically, the
media gateway 114 converts the audio signal carried over
PSTN to packets carried over the packet-switched IP network
102. In addition, a media gateway 118 may be disposed over
the PSTN 116 and connected to a softswitch 120 to convert
the audio signal from the legacy telephone 110 to packets
routed over the IP network 102 via the softswitch 120 .
Voice messaging in both the VoIP and PSTN is known.
More specifically, the foregoing systems may be provided
with a facility to allow users to leave voice messages for
recipients, which is a feature that is familiar to anyone who
uses a telephone. Conventionally, leaving a voice message
involves dialing the recipient’ s telephone number (often
without knowing whether the recipient will answer), waiting
for the connection to be established , speaking to an operator
or navigating through a menu of options, listening to a greet ing message, and recording the message for later pickup by
the recipient. In that message, the user must typically identify
himself or herself in order for the recipient to return the call.
Instant text messaging is likewise known. More specifically, a user is provided with a client terminal, which is
typically a general-purpose PC programmed with instant text
messaging software and in data communication over an IP
network with an instant text-messaging server. The instant
text-messaging server presents the user, via the client termi nal, with a list of persons who are currently “ online” and
ready to receive text messages on their own client terminals.
The user then uses the client terminal to select one or more
persons to whom the message will be sent and types in a text
message. The text message is sent immediately via the text messaging server to the selected one or more persons and is
displayed on their respective client terminals.
However, notwithstanding the foregoing advances in the
VoIP/PSTN voice communication and voice/text messaging,
there is still a need in the art for providing a system and
method for providing instant VoIP messaging over an IP
network. More particularly, there is a need in the art for
providing local and global instant voice messaging over VoIP
with PSTN support.
CROSS REFERENCE TO RELATED
APPLICATION
5
This application is a continuation of U.S. application Ser.
No. 12/398,063 filed Mar. 4, 2009, which is now U.S. Patent
Publication Number 2009/0161664 Al , published Jun. 25,
2009, which is a continuation of U.S. application Ser. No.
10/740,030 filed on Dec. 18, 2003, now U.S. Pat. No. 7,535,
890, issued May 19, 2009, the entire content and disclosure of
which is incorporated by reference.
10
BACKGROUND OF THE INVENTION
15
1. Technical Field of the Invention
The present invention generally relates to Internet telephony (IP telephony). More particularly, the present invention is directed to a system and method for enabling local and 20
global instant VoIP messaging over an IP network, such as the
Internet, with PSTN support.
2. Description of the Prior Art
Traditional telephony is based on a public switched telephone network (i.e., “ PSTN” ). In the PSTN, a telephone 25
terminal is electrically connected to a conventional or legacy
switch. The telephone terminal and the legacy switch communicate via a proprietary protocol, which may be different
depending on the vendor of the legacy switch. Circuit switching provides a communication path (i.e., dedicated circuit) for 30
a telephone call from the telephone terminal to another device
over the PSTN, including another telephone terminal. During
the telephone call , voice communication takes place over that
communication path.
An alternative to the PSTN is Voice over Internet Protocol 35
(i.e., “ VoIP” ), also known as IP telephony or Internet telephony. In the IP telephony, a VoIP terminal device is con nected to a packet -switched network (e.g., Internet ) and voice
communication from the VoIP terminal device is digitized,
packetized and transmitted over the packet-switched network 40
to a destination VoIP terminal device, which reconstructs the
packets and audibly plays, stores or otherwise processes the
transmission. The VoIP terminal device may be a VoIP telephone or a general-purpose personal computer (PC) enabled
for IP telephony. More specifically, the PC is programmed 45
with the software and equipped with audio input/output
devices (e.g., a combination of microphone and speaker or a
headset) to serve as aVoIP terminal device. The PC so enabled
and equipped will herein be referred to as a VoIP terminal
device or a VoIP softphone.
50
FIG. 1 is an illustrative example of a prior art IP telephony
system 100 . The IP telephony system 100 comprises a packet switched IP network 102 , such as the Internet , which trans mits VoIP traffic from and to a plurality of terminal devices
SUMMARY OF THE INVENTION
104, 106 and 110 . Terminal device 104 is a VoIP softphone 55
that is enabled for IP telephony over the network 102. Termi The present invention is directed to a system and method
nal device 106 is a VoIP telephone, which is connected to the
for enabling local and global instant VoIP messaging over an
network 102 via a softswitch 108 . Hie VoIP softswitch 108 is
IP network, such as the Internet.
disposed on the packet-switched network (e.g., Internet) 102
According to an embodiment of the present invention,
between an origination terminal device (such as VoIP soft - 60
there is provided an instant voice messaging system for deliv phone 104) and a destination terminal device (such as VoIP
ering instant messages over a packet-switched network, the
telephone 106 ), and routes packets over the packet -switched
IP network 102 . The softswitch 108 may also manage and
system comprising: a client connected to the network, the
perform administrative functions for the terminal device or
client selecting one or more recipients, generating an instant
devices (e.g., VoIP telephone 106 ) to which it is connected. 65 voice message therefor, and transmitting the selected recipi Whether the terminal device is a VoIP softphone 104 or aVoIP
ents and the instant voice message therefor over the network;
and a server connected to the network, the server receiving the
telephone 106 , the terminal device is connected to the IP
US 8, 724,622 B2
3
4
According to yet a further embodiment of the present
selected recipients and the instant voice message therefor, and
delivering the instant voice message to the selected recipients
invention, there is provided an instant voice messaging sys over the network, the selected recipients being enabled to
tem for delivering instant messages over a plurality of packet audibly play the instant voice message.
switched networks, the system comprising: a voice-over-inAccording to another embodiment of the present invention, 5 temet-protocol (VoIP) telephone comiected to a local
network for providing input audio ; a client connected to the
there is provided an instant voice messaging system for deliv ering instant messages over a packet-switched network
local network, the client selecting one or more external recipi enabling public switched telephone network (PSTN) support,
ents connected to an external network outside the local net work, generating an instant voice message therefor using the
the system comprising: a PSTN telephone connected to the
network for providing input audio; a client connected to the 10 input audio provided by the VoIP telephone, and transmitting
the selected recipients and the instant voice message therefor
network, the client selecting one or more recipients, generating an instant voice message therefor using the input audio
over the local network and the external network; an server
connected to the external network, the external server receiv provided by the PSTN telephone, and transmitting the
selected recipients and the instant voice message therefor
ing the selected recipients and the instant voice message
over the network; a server connected to the network, the 15 therefor, and delivering the instant voice message to the
selected recipients over the external network, the selected
server receiving the selected recipients and the instant voice
message therefor, and delivering the instant voice message to
recipients being enabled to audibly play the instant voice
the selected recipients over the network, the selected recipimessage.
According to still a further embodiment of the present
ents being enabled to audibly play the instant voice message.
According to a further embodiment of the present inven- 20 invention, there is provided an instant voice messaging sys tion, there is provided an instant voice messaging system for
tem for delivering instant messages over a plurality of packet delivering instant messages over a packet -switched network,
switched networks, the system comprising: a client connected to an external network, the client selecting one or more
the system comprising: a voice-over-internet -protocol (VoIP)
recipients connected to a local network, generating an instant
telephone connected to the network for providing input audio;
a client connected to the network, the client selecting one or 25 voice message therefor, and transmitting the selected recipi more recipients, generating an instant voice message therefor
ents and the instant voice message therefor over the external
using the input audio provided by the VoIP telephone, and
network; an external server system comiected to the external
transmitting the selected recipients and the instant voice mesnetwork, the external server system receiving the selected
sage therefor over the network; a server connected to the
recipients and the instant voice message, and routing the
network, the server receiving the selected recipients and the 30 selected recipients and the instant voice message over the
external network and the local network; a local server coninstant voice message therefor, and delivering the instant
nected to the local network, the local server receiving the
voice message to the selected recipients over the network, the
selected recipients and the instant voice message therefor, and
selected recipients being enabled to audibly play the instant
voice message.
delivering the instant voice message to the selected recipients
According to still another embodiment of the present 35 over the local network, the selected recipients being enabled
invention, there is provided an instant voice messaging systo audibly play the instant voice message.
According to an embodiment of the present invention,
tem for delivering instant messages over a plurality of packet there is provided a method for instant voice messaging over a
switched networks, the system comprising: a client connected to a local network, the client selecting one or more
packet-switched network, the method comprising: selecting
external recipients connected to an external network outside 40 one or more recipients for instant voice messaging at a client ;
the local network, generating an instant voice message theregenerating an instant voice message for the selected recipi for, and transmitting the selected recipients and the instant
ents at the client ; transmitting the selected recipients and the
instant voice message therefor over the network from the
voice message therefor over the local network and the exterclient to a server; receiving the selected recipients and the
nal network; and a server comiected to the external network,
the server receiving the selected recipients and the instant 45 instant voice message therefor at the server; delivering the
instant voice message from the server to the selected recipi voice message therefor, and delivering the instant voice message to the selected recipients over the external network, the
ents over the network; and audibly playing the instant voice
selected recipients being enabled to audibly play the instant
message at the selected recipients.
According to another embodiment of the present invention,
voice message.
According to yet another embodiment of the present inven- 50 there is provided a method for instant voice messaging over a
tion, there is provided an instant voice messaging system for
packet-switched network enabling public switched telephone
delivering instant messages over a plurality of packet network (PSTN) support , the method comprising: providing
switched networks enabling public switched telephone net input audio via a PSTN telephone comiected over the net work; selecting one or more recipients for instant voice mes work (PSTN) support, the system comprising: a PSTN telephone comiected to a local network for providing input audio; 55 saging at a client ; generating an instant voice message using
a client comiected to the local network, the client selecting
the input audio from the PSTN telephone for the selected
one or more external recipients connected to an external
recipients at the client ; transmitting the selected recipients
and the instant voice message therefor over the network from
network outside the local network, generating an instant
the client to a server; receiving the selected recipients and the
voice message therefor using the input audio provided by the
PSTN telephone, and transmitting the selected recipients and 60 instant voice message therefor at the server; delivering the
instant voice message from the server to the selected recipi the instant voice message therefor over the local network and
the external network; a server comiected to the external netents over the network; and audibly playing the instant voice
work, the server receiving the selected recipients and the
message at the selected recipients.
According to a further embodiment of the present inveninstant voice message therefor, and delivering the instant
voice message to the selected recipients over the external 65 tion, there is provided a method for instant voice messaging
over a packet-switched network, the method comprising: pro network, the selected recipients being enabled to audibly play
the instant voice message.
viding input audio via a voice-over-internet-protocol (VoIP )
US 8, 724,622 B2
5
6
telephone connected over the network; selecting one or more
recipients for instant voice messaging at a client; generating
an instant voice message using the input audio from the VoIP
telephone for the selected recipients at the client; transmitting
the selected recipients and the instant voice message therefor
over the network from the client to a server; receiving the
selected recipients and the instant voice message therefor at
the server; delivering the instant voice message from the
server to the selected recipients over the network; and audibly
playing the instant voice message at the selected recipients.
According to still another embodiment of the present
invention, there is provided a method for instant voice messaging over a plurality of packet-switched networks, the
method comprising: selecting one or more external recipients
for instant voice messaging at a client connected to a local
network, the one or more external recipients connected to an
external network outside the local network; generating an
instant voice message for the selected external recipients at
the client ; transmitting the selected external recipients and the
instant voice message therefor over the local network and the
external network; receiving the selected external recipients
and the instant voice message therefor at an external server
connected to the external network; delivering the instant
voice message to the selected external recipients over the
external network; and audibly playing the instant voice message at the selected external recipients.
According to yet another embodiment of the present invention, there is provided a method for instant voice messaging
system over a plurality of packet-switched networks enabling
public switched telephone network (PSTN) support, the
method comprising: providing input audio via a PSTN telephone connected to a local network; selecting one or more
external recipients for instant voice messaging at a client, the
one or more external recipients connected to an external
network outside the local network; generating an instant
voice message for the one or more external recipients using
the input audio provided by the PSTN telephone; transmitting
the selected recipients and the instant voice message therefor
over the local network and the external network; receiving the
selected recipients and the instant voice message therefor at a
server connected to the external network; delivering the
instant voice message to the selected recipients from the
server over the external network; and audibly playing the
instant voice message at the selected recipients.
According to still a further embodiment of the present
invention, there is provided a method for instant voice messaging system over a plurality of packet-switched networks,
the method comprising: providing input audio via a voiceover-internet -protocol (VoIP) telephone connected to a local
network; selecting one or more external recipients for instant
voice messaging at a client, the one or more external recipi ents connected to an external network outside the local net work; generating an instant voice message for the one or more
external recipients using the input audio provided by the VoIP
telephone; transmitting the selected recipients and the instant
voice message therefor over the local network and the external network; receiving the selected recipients and the instant
voice message therefor at a server connected to the external
network; delivering the instant voice message to the selected
recipients from the server over the external network; and
audibly playing the instant voice message at the selected
recipients.
According to yet a further embodiment of the present
invention, there is provided a method for instant voice messaging over a plurality of a plurality of packet-switched net works, the method comprising: selecting one or more recipients connected to a local network at a client connected to an
external network; generating an instant voice message for the
selected recipients at the client ; transmitting the selected
recipients and the instant voice message therefor over the
external network from the client to an external sewer system ;
receiving the selected recipients and the instant voice mes sage at the external server system; routing the selected recipi ents and the instant voice message over the external network
and the local network; receiving the selected recipients and
the instant voice message therefor at a local sewer connected
to the local network; delivering the instant voice message to
the selected recipients over the local network; audibly playing
the instant voice message at the selected recipients.
5
10
BRIEF DESCRIPTION OF THE DRAWINGS
15
20
25
30
35
40
45
50
55
60
65
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of
the following detailed description taken in combination with
the attached drawings, in which:
FIG. 1 illustrates an example of a prior art IP telephony
system;
FIG. 2 illustrates an exemplary local IVM system for
enabling instant voice messaging according to the present
invention;
FIG. 3 illustrates an exemplary IVM client of FIG. 2 for
enabling instant voice messaging according to the present
invention;
FIG. 4 illustrates an exemplary IVM sewer of FIG. 2 for
enabling instant voice messaging according to the present
invention;
FIG. 5 illustrates an exemplary global IVM system comprising a local IVM system and global IVM clients, according
to the present invention;
FIG. 6 illustrates an exemplary global IVM sewer system
depicted in FIG. 5, according to the present invention;
FIG. 7 illustrates an exemplary transport sewer depicted in
FIG. 6, according to the present invention;
FIG. 8 illustrates an exemplary directory sewer depicted in
FIG. 6, according to the present invention; and
FIG. 9 illustrates an exemplary global IVM system comprising a plurality of local IVM systems and global IVM
clients, according to the present invention.
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENT OF THE INVENTION
The present invention is directed to a system and method
for enabling local and global instant VoIP messaging over an
IP network with PSTN support.
FIG. 2 is an exemplary illustration of a local instant voice
messaging (IVM) system 200 according to the present invention. The instant voice messaging system 200 comprises a
local IVM sewer 202 that provides the core functionality for
enabling instant voice messaging with PSTN support accord ing to the present invention. The architecture of the local IVM
sewer 202 will be described in detail hereinbelow with ref erence to FIG. 4. According to the exemplary IVM system
200, the local IVM sewer 202 is enabled to provide instant
voice messaging to one or more IVM clients 206 and 208, as
well support instant voice messaging for PSTN legacy telephones 110. It is noted that although FIG. 2 depicts one of
each IVM client 206, 208 and legacy telephone 110 for clarity
and brevity, the local IVM server 202 is enabled to support a
plurality of each of the foregoing IVM clients 206, 208 and
legacy telephone 110. The local packet-switched IP network
204 interconnects the IVM clients 206, 208 and the legacy
telephone 110 to the local IVM sewer 202 as well as inter-
US 8, 724,622 B2
7
8
connecting the local IVM server 202 to the local IP network
204. The network 204 may be a local area network (LAN), a
wide area network (WAN), or the like, which supports both
wired and wireless devices. The exemplary IVM client 208 is
a VoIP softphone, the architecture of which will be described
in detail hereinbelow with reference to FIG. 3. A microphone
212 is connected to the IVM client 208 and enables the
recording of an instant voice message according to the present
invention into an audio file 210 for transmission to the local
IVM server 202 over the network 204. An input device 218
(e.g., a keyboard) is connected to the IVM client 208 to select
one or more recipients that are to receive the recorded instant
voice message. Although not depicted in FIG. 2, the input
device 218 may include a trackball, digitizing pad or mouse,
or the like. A display device 216 is connected to the IVM
client 208 to display instant voice messages recorded and/or
received by a user of the IVM client 208. An audio device 214,
such as external speaker, is connected to the IVM client 208
to play received instant voice messages. It is noted that the
microphone 212, audio device 214, display device 216 and
input device 218 may form integral parts of the IVM client
208.
Further with reference to FIG. 2, IVM client 206 is interconnected via the network 204 to the local IVM server 202.
An exemplary IVM client 206 is a VoIP telephone, which
comprises a screen display (not shown) capable of displaying
instant voice messages recorded and/or received by a user of
the IVM client 206 according to the present invention. The
VoIP telephone 206 further comprises a handset and/or
speakerphone for recording instant voice messages and listening to instant voice messages received at the VoIP telephone 206 according to the present invention. The VoIP telephones which may be implemented to provide instant voice
messaging functionality according to the present invention
are commercially available from many vendors, including
Alcatel , Lucent , NEC and Cisco , to name just a few.
In addition to the foregoing IVM clients 206, 208, the IVM
system 200 supports a legacy telephone 110 for instant voice
messaging according to the present invention. The legacy
telephone 110 is comiectedto a legacy switch 112. The legacy
switch 112 is further connected to a media gateway 114. Both
the legacy switch 112 and the media gateway 114 interconnect the legacy telephone 110 via the network 204 to the local
IVM server 202, thereby facilitating instant voice messaging
according to the present invention. The media gateway 114
may be a gateway that supports trunk pack network control
(i.e., “ TPNCP” ) protocol, media gateway control protocol
(i.e., “ MGCP” ), or a media gateway control H.428 protocol
(i.e., “ MEGACO” ). As previously mentioned, the media gateway 114 converts the audio signal carried over PSTN to
packets to be transmitted over a packet-switched IP network,
such as the local network 204.
The implementation of the instant voice messaging for
IVM client 208 will be described first and will be followed by
the implementations for IVM client 206 and legacy telephone
110, with reference to the local IVM system 200 depicted in
FIG. 2. These implementations implement a “ record mode”
of the instant voice messaging according to the present invention. There will further be described an “ intercom mode” of
the instant voice messaging according to the present invention. Therefore, in operation of the IVM client 208 according
to FIG. 2, the IVM client (IVM softphone) 208 is connected
over the network 204 to the IVM server 202, which as aforementioned enables instant voice messaging functionality
over the network 204. The IVM client 208 displays a list of
one or more IVM recipients on its display 216, provided and
stored by the local IVM server 202, as will be particularly
described hereinbelow with reference to FIG. 4. The user
operates the IVM client 208 by using the input device 218 to
indicate a selection of one or more IVM recipients from the
list. The user selection is transmitted to the IVM server 202.
The user selection also generates a start signal to the IVM
client 208 that the user is ready to begin instant voice mes saging according to the present invention. In response to the
start signal, the IVM client (softphone) 208 listens to the input
audio device 212 and records the user’ s speech into a digi tized audio file 210 (i.e., instant voice message) stored on the
IVM client 208. The audio file 210 at the IVM client 208 is
finalized via a stop signal , which is generated by the user via
the input device 218 or a preset time period without speech
input via the input audio device 212 on the IVM client 208.
Once the recording of the user’ s speech is finalized , IVM
client 208 generates a send signal indicating that the digitized
audio file 210 (instant voice message) is ready to be sent to the
selected recipients. The user generates the send signal when
the user operates the IVM client 208 via the input device 218,
e.g., pressing a key on a keyboard or clicking a button on a
mouse. The IVM client 208 transmits the digitized audio file
210 and the send signal to the local IVM server 202. In
response to the send signal indicating that the instant voice
message is ready to be sent, the IVM client 208 sends the
recorded audio file 210 destined for the selected one or more
recipients via local IVM server 202. After receiving the audio
file 210, the IVM server 202 thereafter delivers the transmit ted instant voice message to the selected one or more recipi ents via the local IP network 204 . The one or more recipients
are enabled to display an indication that the instant voice
message has been received and audibly play the instant voice
message to an associated user. It should be understood that
only the available IVM recipients, currently comiected to the
IVM server 202, will receive the instant voice message. It is
noted that if a recipient IVM client is not currently comiected
to the local IVM server 202 (i.e., is unavailable), the IVM
server temporarily saves the instant voice message and deliv ers it to the IVM client when the IVM client connects to the
local IVM server 202 (i .e., is available).
There are several embodiments for the operation of the
IVM client (VoIP telephone) 206 within the IVM system 200,
according to the present invention. In the first embodiment ,
the VoIP telephone 206 is a standalone IVM client 206
enabled for instant voice messaging according to the present
invention. In the second embodiment , the VoIP telephone 206
operates synchronously either with the IVM client 208 or
IVM server 202 to enable instant voice messaging according
to the present invention. Thus, in operation according to the
first embodiment in FIG. 2, the IVM client (VoIP telephone)
206 is connected over the network 204 to the IVM server 202,
which as aforementioned enables instant voice messaging
functionality over the local network 204. The IVM client 206
displays a list of one or more IVM recipients on its associated
display provided and stored by the local IVM server 202, as
will be particularly described hereinbelow with reference to
FIG. 4. The user operates the IVM client 206 by using a
keypad on the VoIP telephone 206 to indicate a selection of
one or more IVM recipients from the list . The VoIP telephone
206 transmits the selection to the IVM server 202. The user
selection also generates a start signal to the IVM client 206
indicating the user is ready to begin instant voice messaging
according to the present invention. The user speaks into the
handset of the IVM client 206 or a speakerphone on the IVM
client 206. Although not shown in FIG. 2, the VoIP telephone
206 may provide a dedicated storage device, which in
response to the start signal records an audio file, similar to the
audio file 210 in the IVM client 208. The audio file is finalized
5
10
15
20
25
30
35
40
45
50
55
60
65
US 8, 724,622 B2
9
10
the send signal, the IVM client 206 sends the recorded audio
via a stop signal. The stop signal is generated when the user
to the local IVM server 202 via the network 204. The IVM
presses a button on the keypad , a preset time period without
server 202 thereafter delivers the instant voice message to the
speech input to the VoIP telephone 206, or when the user
selected one or more recipients via the IP network 204. The
returns the handset to the cradle of the VoIP telephone 206.
Once the recording of the user’ s speech is complete, a send 5 one or more recipients are enabled to display an indication
signal is generated indicating that the instant voice message is
that the instant voice message has been received and audibly
ready to be sent to the selected recipients. The user generates
play the instant voice message. If a recipient IVM client is not
the send signal when the user presses a button on the keypad
currently connected to the local IVM server 202, the IVM
or returns the handset of the VoIP telephone 206 to it cradle
server 202 temporarily saves the instant voice message and
(on-hook). In response to the send signal, the IVM client 206 10 delivers it to the IVM client when the IVM client connects to
the local IVM server 202.
sends the recorded audio to the local IVM server 202 via the
network 204. The IVM server 202 thereafter delivers the
In operation of the legacy telephone 110 according to FIG.
instant voice message to the selected one or more recipients
2, the legacy telephone 110 is connected to the local IVM
server 202 via media gateway 114 and legacy switch 112. The
via the IP network 204. As before, the one or more recipients
are enabled to display an indication that the instant voice 15 legacy telephone 110 cooperates with the IVM client 208 to
message has been received and audibly play the instant voice
record and send an instant voice message. More specifically,
message. As aforementioned, if a recipient IVM client is not
the legacy telephone 110 is used as a recording/listening
currently connected to the local IVM server 202, the IVM
device for recording or listing to instant voice messages,
while the IVM client 208 is used for displaying and selecting
server 202 temporarily saves the instant voice message and
delivers it to the IVM client when the IVM client connects to 20 instant voice message recipients as described hereinabove.
Thus, in operation the IVM client 208 displays a list of IVM
the local IVM server 202.
recipients on the display device 216 provided and stored by
In the second embodiment of the IVM client 206 according
the local IVM server 202. The user operates the IVM client
to FIG. 2, the VoIP telephone 206 operates synchronously
either with the IVM client 208 or the IVM server 202 to
208 by using the input device 218 on the IVM client 208 to
enable instant voice messaging according to the present 25 indicate a selection of one or more IVM recipients from the
list. The user selection is transmitted to the IVM server 202.
invention. Thus, in operation according to the second
The user selection generates a start signal to the IVM server
embodiment, the IVM client (VoIP telephone) 206 is still
connected over the network 204 to the IVM server 202, which
202 indicating that the user is ready to begin instant voice
as aforementioned enables instant voice messaging functionmessaging according to the present invention. In response to
ality over the local network 204. However, VoIP telephone 30 receiving the start signal, the IVM server 202 transmits an
emulation code to the legacy telephone 110 to ring, thereby
206 cooperates with the IVM client 208 or IVM server 202 to
record and send an instant voice message. More specifically,
indicating to the user the IVM system 200 is ready to record
the VoIP telephone 206 is only used as a recording/listening
an instant voice message. As the user picks up the handset of
the legacy telephone 110 (off-hook), a connection is estab device for recording or listing to instant voice messages,
while the IVM client 208 is used for displaying and selecting 35 lished via the network 204 between the legacy telephone 110
and the IVM server 202. Thereafter, the IVM server forwards
instant voice message recipients as described hereinabove. In
the user’ s speech transmitted from the legacy telephone 110
operation, the IVM client 208 displays a list of IVM recipi ents on the display device 216 provided and stored by the
to the IVM client 208 for storage into the digitized audio file
local IVM server 202. The user operates the IVM client 208
210 (i.e., instant voice message). The audio file on the IVM
by using the input device 218 on the IVM client 208 to 40 client 208 is finalized by returning the handset of the legacy
indicate a selection of one or more IVM recipients from the
telephone 110 to its cradle (on-hook) or by pressing a designated button on the keypad of the legacy telephone 110, which
list . The user selection is transmitted to the IVM server 202.
transmits a stop signal to the IVM server 202 and further to the
The user selection generates a start signal to the IVM server
IVM client 208. Returning the handset to its cradle also
202 indicating that the user is ready to begin instant voice
messaging according to the present invention. In response to 45 generates a send signal to the IVM server to transmit the
receiving the start signal, the IVM server 202 transmits a ring
recorded audio file (instant voice message) to the selected one
signal to the VoIP telephone 206, thereby indicating to the
or more IVM recipients. The IVM server 202 thereafter deliv user the IVM system 200 is ready to record an instant voice
ers the instant voice message to the selected one or more
message. The IVM server 202 also signals the IVM client 208
recipients via the IP network 204. The one or more recipients
to generate audio file 210 to record the instant voice message. 50 are enabled to display an indication that the received instant
voice message has been received and audibly play the instant
As the user picks up the handset of the VoIP telephone 206
(off-hook), a comiection is established via the network 204
voice message. If a recipient IVM client is not currently
connected to the local IVM server 202, the IVM server 202
between the local IVM server 202 and the VoIP telephone
206. Thereafter, the IVM server 202 forwards the user’ s
temporarily saves the instant voice message and delivers it to
speech transmitted from VoIP telephone 206 to the IVM client 55 the IVM client when the IVM client comiects to the local IVM
server 202.
208 for storage into digitized audio file 210 on the IVM client
208. The audio file 210 is finalized by returning the handset its
Regarding the operational embodiments described with
reference to FIG. 2 for recoding and transmitting an instant
cradle (on-hook) or by pressing a designated button on the
voice message according to the present invention, the digi keypad VoIP telephone 206, which transmits the stop signal to
the IVM server 202 and further from the IVM server 202 to 60 tized audio file is preferably compressed by applying a comthe IVM client 208. Returning the handset to its cradle pref pression algorithm before sending the audio file to the one or
erably generates a send signal to the IVM server 202, which
more selected recipients. The audio file is preferably comtransmits the signal to the IVM client 208. The IVM client
pressed within the IVM clients 206, 208 before forwarding
thereafter transmits the recorded audio file 210 (instant voice
the audio file to the IVM server 202 for subsequent delivery to
message) to IVM server 202 for delivery to the selected one or 65 the one or more selected recipients. Alternatively, the commore IVM recipients. Alternatively, the user may press a key
pression may be implemented within the IVM server 202
before the audio file is transmitted to the one or more selected
on the keyboard 218 to initiate the send signal. In response to
US 8, 724,622 B2
11
12
recipients. A Lempel -Ziv compression algorithm is preferably used to compress the audio file according to the present
invention. It is noted that many suitable compression algo rithms are known to persons of skill in the art, including
Huffman encoding, audio compression standards promul gated by the Moving Pictures Experts Group (“ MPEG” ),
G.722 wideband speech encoding standard, fractal compression, and wavelet compression. Any of the foregoing compression algorithms may be implemented within the scope of
the present invention.
Further regarding the operational embodiments described
with reference to FIG. 2 for recoding and transmitting an
instant voice message according to the present invention, the
digitized audio file (which may or may not be compressed as
described above) is further preferably encrypted via an
encryption algorithm before transmitting the audio file to the
one or more selected recipients. The encryption is preferably
implemented within the IVM clients 206, 208 before forwarding the audio file to the IVM server 202 for subsequent
delivery to the one or more selected recipients. Alternatively,
the encryption may be implemented within the IVM server
202 before the audio file is transmitted to the one or more
selected recipients. An AES (Rijndael ) encryption algorithm
is preferably used to encrypt the audio file according to the
present invention. It is noted that many suitable encryption
algorithms are known to persons skilled in the art, including
DES, Triple DES, Blowfish, Twofish, Serpent , and the like.
Any of the foregoing encryption algorithms may be implemented within the scope of the present invention.
Lastly with reference to FIG. 2, in addition to the “ record
mode” of instant voice messaging, the instant voice messaging system 200 also supports an “ intercom mode” of voice
messaging. The “ intercom mode” represents real-time instant
voice messaging. In the “ intercom mode,” instead of creating
an audio file 210, one or more buffers (not shown) of a
predetermined size are generated in the IVM client 206, 208
or local IVM server 202. The one or more buffers are used to
automatically write successive portions of the instant voice
message. Once a first buffer is full, i .e., input audio of the
predetermined size is written to the buffer, the content of the
first buffer is automatically transmitted to the IVM server 202
for transmission to the one or more IVM recipients. A second
buffer is meanwhile written with the next successive portion
of input audio. Once, the second buffer is full, i.e., input audio
of the predetermined size is written to the buffer, the content
of the second buffer is transmitted to the IVM server 202 for
transmission to the one or more IVM recipients. If the entire
instant voice message or a successive portion thereof (such as
a last successive portion in the instant voice message) written
to either buffer is smaller the predetermined size, then the
buffered content of less than the predetermined size is auto matically transmitted to the IVM server 202. The foregoing
buffering using the first and second buffers is repeated until
the entire instant voice message has been transmitted to the
IVM server 202 for transmission to the one or more IVM
recipients. It is noted that the invention is not limited to a
particular number of buffers. The foregoing buffering and
transmission allows a “ real-time” instant voice message to be
transmitted to the one or more IVM recipients. The “ intercom
mode” may be designated as a default mode when an IVM
recipient is on-line, while the “ record mode” may be designated as a default if the IVM recipient is unavailable, i.e., not
on-line. The user may easily change the “ intercom mode” to
the “ record mode” on the respective IVM client 206, 208.
Finally, the audio contents of the buffers may be signal pro -
cessed (for clarity), encrypted and compressed before trans mission, as will be described in more detail hereinbelow with
reference to FIG. 3.
FIG. 3. an exemplary illustration of the architecture in the
IVM client 208 for enabling instant voice messaging accord ing to the present invention. More specifically, the IVM client
208 comprises a client platform 302 for generating an instant
voice message and a messaging system 320 for messaging
between the IVM client 208 and the IVM server 202 for
enabling instant voice messaging according to the present
invention. The IVM client 208 is a general -purpose programmable computer equipped with a network interface (not
shown), such as an Ethernet card , to provide connectivity to
the network 204. It is noted that any suitable networking
protocol, not only Ethernet, could be used to connect the IVM
client to a network 204 and thus is considered within the
scope of the present invention. The client platform 302 comprises a client engine 304, which controls other components,
namely the document handler 306, file manager 308, audio
file creation 312, signal processing 314, encryption/decryp tion 316, and compression/decompression 318. The messaging system 320 and the client engine 304 communicate via
standard inter-process communication. The messaging sys tem 320 and client engine 304 also communicate with the
IVM server 202 over the network interface via the network
204. The document handler 306 oversees the retrieving, send ing, receiving and storing of one or more documents (or files)
attached to instant voice messages from/to the one or more
selected IVM recipients that may be communicating with the
IVM client 208. More specifically, when an instant voice
message is to be transmitted to the one or more IVM recipi ents, one or more documents may be attached to the instant
voice message to be, stored or displayed by the one or more
selected IVM recipients. The file manager accesses a message
database 310, in which both the received and recorded instant
voice messages are represented as database records, each
record comprising a message identifier and the instant voice
message. The file manager 308 sendees requests from the
user to record, delete or retrieve messages to/from the mes sage database 310. Audio file creation 312 creates an instant
voice message as audio file 210, and is responsible for receiv ing input speech for the instant voice message from audio
input device 212 or via network 204 and storing the input
speech into audio file 210. Signal processing 314 performs
noise removal and signal optimization in the audio file 210.
Encryption/decryption 316 provides for respectively encrypt ing/decrypting of outgoing/incoming audio files (i.e., instant
voice messages), and compression/decompression 318
respectively compresses/decompresses the outgoing/incoming audio files.
Further with reference to FIG. 3, the reception of an instant
voice message is described as follows. It is assumed that the
local IVM server 202 has determined that the IVM client 208
is available to receive an instant voice message by checking
the IVM client’ s 208 current status, i .e., whether the IVM
client 208 is “ on-line.” The local IVM server 202 maintains
the current status of the IVM clients connected to the local
IVM server 202, i.e., IVM clients 206, 208. It is further
assumed that an IVM client has transmitted an instant voice
message to the IVM client 208. The local IVM server 202
receives the instant voice message over the local IP network
204 and forwards the instant voice message to the IVM client
208. Upon receipt at the IVM client 208, the instant voice
message is decrypted at 316, decompressed at 318, and stored
in the message database 310 using the file manager 308. Any
files attached to the instant voice message are also stored in
the message database 310 using the file manager 308. A visual
5
10
15
20
25
30
35
40
45
50
55
60
65
US 8, 724,622 B2
13
14
delete, or retrieve database records to/from the database 414.
and/or sound effect is initiated to notify a user of the IVM
The password may be stored in the database 414 as plaintext ,
client 208 that a new instant voice message has been received
at the IVM client 208. At this point in time, the instant voice
in encrypted form, or as a hash (e.g., MD5 hash). The mes message and any file attachments are available to the user. The
saging system 436 communicates to the server engine 404 via
user can select the instant voice message from a listing of 5 message objects.
available instant voice messages displayed on the IVM client
A message object comprises an action field, an ID field , a
source field, a destination field , and an object field. The con208 and play the newly received instant voice message. The
user may also open any file attachments and move or save the
tent of the action field is selected from a list of permitted
files to a separate location on the client using a drag-and-drop
actions, which among other actions includes: comiect , dis 10 connect, subscribe, unsubscribe, and post message. In addi process.
Still further with reference to FIG. 3, the generation and
tion, the actions include: determining if an IVM client is
awake (i .e., pinging), disconnecting from the IVM client ,
transmission of an instant voice message is described as fol lows. The user selects the available one or more IVM recipi processing an IVM client message, and notifying IVM clients
ents and initiates the creation of an instant voice message as
if the IVM server 202 goes down. The client messages include
described above with reference to FIG. 2. The client engine 15 sending an instant voice message portions, checkin message,
send message, set status message, send a phone command
304 detects the start signal and invokes audio file creation 312
of the audio file 210. The audio file 210 is initialized and
message, and send control parameters message. The content
of the ID field represents a unique identifier for the message
captures the audio voice message input by the user. Once the
client engine 304 detects a stop signal , the instant voice mesobject. The content of the source field is a globally unique
sage is finalized in the audio file 210 via audio file creation 20 identifier (“ GUID” ) that uniquely identifies the sender of the
312. The audio file 210 is adjusted for gain, and noise is
message. This unique identifier can be generated by any
known way, including the Globally Unique ID function call
removed via signal processing 314. The audio file 210 is
further compressed at 318 and encrypted at 316. The compleavailable in the Microsoft Windows and Microsoft .NET
environments. In some circumstances, the source field is set
tion of these processes causes the client engine 304 to inform
the user via display 216 that the instant voice message is 25 to a special value to indicate that the sender of the message
available to be sent. After the client engine 304 detects the
object is entitled to special privileges. The senders with special privileges are in fact IVM servers. This allows the IVM
send signal from the user, the instant voice message (audio
file 210 ) is transferred to the local IVM server 202. Before the
servers to broadcast messages to one another, subscribe to
transmission of the instant voice message (i.e., before the
special events, and directly send messages to specific IVM
send signal), the user has the option to review the instant voice 30 servers. These privileges can depend upon whether the IVM
message, re-record the instant voice message, delete the
servers are local servers or global servers. As an example,
there can exist more than one local IVM server, each of these
instant voice, as well as attach one or more files (i.e., docu local IVM servers automatically has privileges to communi ments). The attachment of one or more files is enabled conventionally via a methodology such as “ drag-and -drop” and
cate to other local IVM server. On a global server system, a
the like, which invokes the document handler 306 to make the 35 directory server can communicate with one or more transport
servers. The content of the destination field is a GUID of an
appropriate linkages to the one or more files and flags the
messaging system 320 that the instant voice message also has
intended IVM recipient of the instant voice message. The
the attached one or more files.
content of the object field is a block of data being carried by
FIG. 4. an exemplary illustration of the local IVM server
the message object, which may be, for example, a digitized
202 for enabling instant voice messaging according to the 40 instant voice message. Depending on the circumstances in
which the message object is sent , some of the message object
present invention. The IVM server 202 is a general-purpose
fields may be left blank or ignored. For example, the message
programmable computer equipped with a network interface,
such as an Ethernet card, to provide connectivity to a network
object may merely require an action to be performed based
204. It is noted that any suitable networking protocol may be
upon the GUID supplied. In this case, the action does not
implemented to comiect the IVM server 202 to a network 204. 45 necessarily require any data to be sent or received and some of
the message object’ s fields may be left blank or ignored.
The IVM server 202 comprises a server communication plat Connection objects maintain the logical connections
form 402, a messaging system 436 and a database 414,
thereby enabling instant voice messaging according to the
between the IVM server 202 and IVM clients 206, 208 connected to the IVM server 202. More specifically, a connection
present invention. The server communication platform 402
comprises a server engine 404, client manager 406, station 50 object comprises data representing the state of the connection
manager 408, gateway manager 410, database manager 412
and code (one or more methods) for establishing and mainthat accesses database 414, supplemental servers 416 (includtaining the logical connections between the IVM server 202
ing particular server subsystems 418-424), as well as a conand the IVM clients 206, 208 within the IVM system 200 of
FIG. 2. The connection object can contain both data and/or
trol layer 426 (including non-proprietary server subsystems
428, 430 and proprietary server subsystems 432, 434). The 55 commands, including information that describes the socket ,
messaging system 436 and the server engine 304 communi the size of the data to be transferred , and the priority of the
cate via standard inter-process communication. The messagtransfer (e.g., high, normal , low, unknown). On start up the
ing system 436 and the server engine are also able to comlocal IVM server 202 generates and maintains a list for each
IVM client 206, 208. The local IVM server 202 then waits to
municate with the IVM clients 206, 208 over the network
interface via the network 204. The database 414 stores users 60 receive connection objects from the IVM clients 206, 208 that
(e.g., IVM clients as well as legacy telephone clients) that are
are stored in the respective lists, decodes the received connection objects to obtain specific requests, and then services
known to the IVM server 202 via the database manager 412.
the specific requests from the IVM clients 206, 208.
The users are represented in the database as records, each
Further with reference to FIG. 4, the server engine 404
record comprising a username, a password , and a contact list
(a list of other users with whom the user wishes to exchange 65 controls all other subsystems in the server communication
instant voice messages), and other data relating to the user.
platform 402, and it is responsible for startup and shutdown of
the IVM server 202 and the IVM system 200. The client
The database manager 412 services requests to add, update,
US 8, 724,622 B2
15
16
manager 406 controls the IVM clients 206, 208, providing
system 502 responds by transmitting the contact list to the
IVM client 208. The IVM client 208 displays the contact list
contact presence (connection) information and message
scheduling and delivery. The station manager 408 controls the
on its display 216. Alternatively, the global contact list may be
individual legacy telephone 110 and coordinates its activity to
replicated to the local IVM server 202 within the local IVM
work synchronously with the IVM client 208 and server 202. 5 system 510, in which case the local IVM client 208 obtains
the global contact list from the local IVM server 202. The user
The gateway manager 410 enables the IVM server 202 to
communicate with the legacy telephones, such as legacy teleoperates the IVM client 208 by using the input device 218 to
indicate a selection of one or more IVM recipients from the
phone 110. The control layer 426 comprises a plurality of
server subsystems 428-434, each of which provides transla global contact list. Here, for the purposes of illustration it is
tion services to different proprietary and non-proprietary 10 again assumed that IVM client 208 selected global IVM
gateways 114, such as TPNCP, MGCP, and MEGACO gateclients 506, 508. The user selection is transmitted to the IVM
ways. The proprietary server subsystems 428, 430 and nonserver 202. The user selection also generates a start signal to
the IVM client 208 that the user is ready to begin instant voice
proprietary' server subsystems 432, 434 are connected to
messaging. In response to the start signal , the IVM client 208
respective gateways 114 via the local IP network 204. The
supplemental server subsystems 416 provide a number of 15 listens to the input audio device 212 and records the user’ s
speech into a digitized audio file 210 (i .e., instant voice mes required services such as display manager subsystem 418,
dynamic host configuration protocol (i .e., “ DHCP” ) sub sage) stored on the IVM client 208. The audio file 210 is
system 420, trivial file transfer protocol (i.e., “ TFTP” ) server
finalized via a stop signal , which is generated by the user via
subsystem 422, and hypertext transfer protocol (i.e.,
the input device 218 or a preset time period without speech
“ HTTP” ). Each of the supplemental servers 418-424 in the 20 input via the input audio device 212. Once the recording is
subsystem 416 is used during the initial set -up of the IVM
finalized, the IVM client 208 generates a send signal indicat system 200. The boot -up process and allocation of IP
ing that the digitized audio file 210 (instant voice message) is
addresses to IVM clients 206, 208 are performed through an
ready to be sent to the selected one or more IVM recipients.
LCD panel (not shown) associated with the local IVM server
The user generates the send signal when the user operates the
202. The LCD manager 418 supports this boot -up process. 25 IVM client 208 via the input device 218. The IVM client 208
transmits the digitized audio file 210 and the send signal to the
The DHCP server 420 is used to allocate IP addresses as
global IVM server system 502 via the local IP network 204
required and allows the advanced configuration of network
settings in the instant voice messaging system. The TFTP
and the global IP network 102. After receiving the audio file
server 422 provides a TCP/IP file transfer capability. Lastly,
210, the global IVM server system 502 delivers the transmit the HTTP server 424 provides services for a web server.
30 ted instant voice message to the selected one or more recipi FIG. 5 is an exemplary illustration of a global instant voice
ents (e.g., IVM clients 506 and 508) via the IP network 102.
messaging (IVM) system 500, according to the present invenThe one or more recipients are enabled to display an indica tion that the instant voice message has been received and
tion. In the global IVM system 500, the local IVM system 200
is depicted as a local IVM system 510, which is connected to
audibly play the instant voice message to an associated user.
a packet -switched network 102 (i.e., Internet ). The global 35 It is noted that if a recipient IVM client 506, 508 is not
IVM system 500 comprises the local IVM system 510, global
currently connected to the global IVM server system 502, the
IVM server system 502, and global IVM clients 506 and 508
global IVM server system 502 temporarily saves the instant
voice message and delivers it to the global IVM client 506,
that are optionally connected via local IP network 504. The
global IVM server system 502 is connected to the IP network
508 when the IVM client connects to the global IVM server
( i.e., Internet) 102 for enabling the local IVM clients 206, 208 40 system 502.
There are several embodiments for the operation of the
and legacy telephone 110 in the local IVM system 510 to
generate and send instant voice messages to the global IVM
IVM client (VoIP telephone) 206 within the global IVM
system 500 of FIG. 5, according to the present invention . In
clients 506, 508, as well as the local IVM clients 206, 208 to
the first embodiment, the VoIP telephone 206 is a standalone
receive instant voice messages from the global IVM clients
506, 508. The implementation of the global instant voice 45 IVM client 206 enabled for instant voice messaging accord messaging for the IVM client 208 will be described first and
ing to the present invention. In the second embodiment, the
will be followed by the implementations for IVM client 206
VoIP telephone 206 operates synchronously with the IVM
client 208 to enable instant voice messaging according to the
and legacy telephone 110, with reference to the global IVM
system 500 depicted in FIG. 5. Thereafter, instant voice mespresent invention. Thus, in operation according to the first
saging for global clients 506 and 508 will be described 50 embodiment in FIG. 5, the IVM client 206 is connected via
according to the present invention. These implementations
the networks 204, 102 to the global IVM server system 502,
which enables instant voice messaging functionality over the
implement a “ record mode” of the instant voice messaging
according to the present invention. Thereafter, there will
IP network (Internet) 102. As mentioned previously, the IVM
lastly be described an “ intercom mode” of the instant voice
client 206 is also connected to the local IVM server 202. The
messaging according to the present invention.
55 IVM client 208 requests from the global IVM server system
Therefore, in operation of the IVM client 208 according to
502 a global contact list (not shown) of the global one or more
IVM recipients with which the IVM client 206 may exchange
FIG. 5, the IVM client 208 is connected via the networks 204,
instant voice messages. For the purposes of illustration, it is
102 to the global IVM server system 502, which enables the
global instant voice messaging functionality outside the local
assumed that the global IVM clients 506, 508 are in the
IVM system 510 over the network (i .e., Internet ) 102. More 60 contact list. The global IVM server system 502 stores and
maintains this contact list. Thus, the global IVM server sys specifically, the IVM client 208 requests from the global IVM
server system 502 a global contact list (not shown) of global
tem 502 responds by transmitting the global contact list to the
IVM client 206. Alternatively, the global contact list may be
one or more IVM recipients with which the IVM client 208
may exchange instant voice messages. For the purposes of
replicated to the local IVM server 202 within the local IVM
illustration, it is assumed that global IVM clients 506, 508 are 65 system 510, in which case the local IVM client 206 obtains
the global contact list from the local IVM server 202. The
in the contact list. The global IVM server system 502 stores
IVM client 206 displays a list of the one or more IVM recipi and maintains this contact list . Thus, the global IVM server
US 8, 724,622 B2
17
18
ents on its associated display. The user operates the IVM
client 206 by using a keypad on the VoIP telephone 206 to
indicate a selection of one or more IVM recipients from the
list . The VoIP telephone 206 transmits the selection to the
global IVM server system 502. The user selection also generates a start signal to the IVM client 206 indicating the user
is ready to begin instant voice messaging according to the
present invention. The user speaks into the handset of the
IVM client 206 or a speakerphone on the IVM client 206.
Although not shown in FIG. 5, the VoIP telephone 206 may
provide a dedicated storage device, which in response to the
start signal records an audio file, similar to the audio file 210
in the IVM client 208. The audio file is finalized via a stop
signal. The stop signal is generated when the user presses a
button on the keypad, a preset time period without speech
input to the VoIP telephone 206, or when the user returns the
handset to the cradle of the VoIP telephone 206. Once the
recording of the user’ s speech is complete, a send signal is
generated indicating that the instant voice message is ready to
be sent to the selected recipients. The user generates the send
signal when the user presses a button on the keypad or returns
the handset of the VoIP telephone 206 to it cradle. In response
to the send signal, the IVM client 206 sends the recorded
audio file (instant voice message) to the global IVM server
system 502 via the networks 204, 102 for delivery to the
selected one or more IVM recipients. The global IVM server
502 thereafter delivers the instant voice message to the
selected one or more recipients (e.g., IVM clients 506 and
508) via the IP network 102. As before, the one or more
recipients are enabled to display an indication that the instant
voice message has been received and audibly play the instant
voice message. If a recipient IVM client is not currently
connected to the global IVM server system 502, the global
IVM server system 502 temporarily saves the instant voice
message and delivers it to the IVM client when the IVM client
connects to the global IVM server system 502.
In the second embodiment of the IVM client 206 according
to FIG. 5, the VoIP telephone 206 operates synchronously
with the IVM client 208 to enable global instant voice messaging according to the present invention. Thus, in operation
according to the second embodiment in FIG. 5, the VoIP
telephone 206 is comiected over the network 204 to the IVM
client 208 and the IVM client 208 is connected via the net works 204, 102 to the global IVM server system 502, which
enables instant voice messaging functionality over the IP
network (Internet) 102. The VoIP telephone 206 cooperates
with the IVM client 208 to record and send a global instant
voice message outside the local IVM system 510. The IVM
client 208 displays a global contact list of IVM recipients (not
shown) on the display device 216 provided by the global IVM
server system 502, as described hereinabove. Alternatively,
the global contact list may be replicated to the local IVM
server 202 within the local IVM system 510, in which case the
IVM client 208 obtains the global contact list from the local
IVM server 202. The user operates the IVM client 208 by
using the input device 218 to indicate a selection of one or
more IVM recipients from the contact list. The user selection
generates a start signal in the IVM client 208 indicating that
the user is ready to begin instant voice messaging according
to the present invention. In response to the start signal, the
IVM client 208 generates audio file 210 to record an instant
voice message and transmits a ring signal to the VoIP telephone 206. As the user picks up the handset of the VoIP
telephone 206 (off-hook), a connection is established via the
network 204 between the local IVM client 208 and the VoIP
telephone 206. Thereafter, the VoIP telephone 206 forwards
the user’ s speech to the IVM client 208 for storage into the
audio file 210. The audio file 210 is finalized by returning the
handset its cradle (on-hook) or by pressing a designated but ton on the keypad VoIP telephone 206, which transmits the
stop signal to the IVM client 208. Returning the handset to its
cradle preferably generates a send signal to the IVM client
208. The IVM client thereafter transmits the recorded audio
file 210 (instant voice message) to the global IVM server
system 502 via networks 204, 102 for delivery to the selected
one or more IVM recipients. Alternatively, the user may press
a key on the keyboard 218 to initiate the send signal . In
response to the send signal, the IVM client 208 sends the
recorded audio file to the global IVM server system 502 for
delivery to the selected one or more IVM recipients. The
global IVM server system 502 thereafter delivers the instant
voice message to the selected one or more recipients (e.g.,
IVM clients 506 and 508 ) via the IP network 102. As before,
the one or more IVM recipients are enabled to display an
indication that the instant voice message has been received
and audibly play the instant voice message. If a recipient IVM
client is not currently comiected to the global IVM server
system 502, the global IVM server system 502 temporarily
saves the instant voice message and delivers it to the IVM
client when the IVM client connects to the global IVM server
system 502.
In operation of the legacy telephone 110 according to FIG.
5, the legacy telephone 110 is comiected to the local IVM
client 208 via media gateway 114, legacy switch 112 and
network 204. The legacy telephone 110 cooperates with the
IVM client 208 to record and send an instant voice message
outside the local IVM system 510. More specifically, the
legacy telephone 110 is used as a recording/listening device
for recording or listing to instant voice messages, while the
IVM client 208 is used for displaying and selecting instant
voice message recipients as described hereinabove. Thus, in
operation the IVM client 208 requests from the global IVM
server system 502 a global contact list of global one or more
IVM recipients with which the IVM client 208 may exchange
instant voice messages. Alternatively, the global contact list
may be replicated to the local IVM server 202 within the local
IVM system 510, in which case the IVM client 208 obtains
the global contact list from the local IVM server 202. The
IVM client 208 displays the global list of IVM recipients, as
described hereinabove. The user operates the IVM client 208
to indicate a selection of one or more IVM recipients from the
global contact list. The IVM client 208 transmits the user
selection to the global IVM server system 502. The user
selection generates a start signal in the IVM client 208 indi cating that the user is ready to begin instant voice messaging
according to the present invention. In response to the start
signal, the IVM client 208 transmits an emulation code to the
legacy telephone 110 to ring, thereby indicating to the user the
global IVM system 500 is ready to record an instant voice
message. As the user picks up the handset of the legacy
telephone 110 (off-hook), a connection is established via the
network 204 between the legacy telephone 110 and the IVM
client 208. Thereafter, the user’ s speech is transmitted from
the legacy telephone 110 to the IVM client 208 for storage
into the digitized audio file 210 (i.e., instant voice message).
The audio file 210 is finalized by returning the handset of the
legacy telephone 110 to its cradle (on-hook) or by pressing a
designated button on the keypad of the legacy telephone 110,
which transmits a stop signal to the IVM client 208. Returning the handset to its cradle may also generate a send signal to
the IVM client 208 to transmit the recorded audio file (instant
voice message) to the global IVM server system 502 for
delivery to the selected one or more IVM recipients. Alterna tively, the send signal is preferably generated from the IVM
5
10
15
20
25
30
35
40
45
50
55
60
65
US 8, 724,622 B2
19
20
delivers it to the local IVM client 206, 208 when the IVM
client 208 as described hereinabove. The global IVM server
system 502 thereafter delivers the instant voice message to the
client connects to the local IVM server 202.
selected one or more IVM recipients via the IP network
In the second embodiment of the IVM client 506 according
(Internet) 102. The one or more recipients are enabled to
to FIG. 5, the VoIP telephone 506 operates synchronously
display an indication that the instant voice message has been 5 with the IVM client 508 to enable global instant voice mes received and audibly play the instant voice message. If a
saging according to the present invention. In this embodi recipient IVM client is not currently connected to the global
ment, the VoIP telephone 506 and the IVM client 508 may be
IVM server system 502, the global IVM server system 502
located in a user’ s residence and be comiected to a local IP
temporarily saves the instant voice message and delivers it to
network 504. This local IP network 504 can be a WiFi net the IVM client when the IVM client connects to the global 10
work or a local area network (i.e., LAN), which is also within
IVM server 502.
the user’ s residence. The local IP network 504 may be conFurther with reference to FIG. 5, the instant voice messagnected to the IP network (Internet) 102 via a digital subscriber
ing for global clients 506 and 508 will be described according
line (i.e., DSL) connection, cable connection, dialup connec . In a first embodiment , each of the
to the present invention
global IVM clients 506, 508 is enabled to independently send 15 tion, or the like. As noted above, the IVM clients 506, 508
have like peripheral devices and functionality described
an instant voice message. The IVM clients 506, 508 have like
respectively with reference to local IVM clients 206, 208 in
peripheral devices and functionality described respectively
FIG. 2. Thus, in operation according to this embodiment in
, 208 in FIG. 2. In
with reference to local IVM clients 206
FIG. 5, the global IVM client 508 requests from the global
second embodiment described below, the VoIP telephone 506
operates in conjunction with the IVM client 508 to send an 20 IVM server system 502 a contact list of global one or more
IVM recipients with which each of the global IVM client 508
instant voice message. Therefore, in operation of the global
IVM clients 506 and 508 according the first embodiment in
may exchange instant voice messages. For the purposes of
FIG. 5, the IVM clients 506, 508 are connected via the net this illustration, it is assumed that the IVM clients 206 and
works 204, 102 to the global IVM server system 502, which
208 within the local IVM system 510 are in the contact list for
enables the global instant voice messaging functionality out - 25 the global IVM client 508. The global IVM server system 502
side the local IVM system 510 over the network (i.e., Internet)
stores and maintains the foregoing contact list for the global
IVM client 508. The IVM client 508 displays a contact list of
102. Each of the global IVM clients 506, 508 is enabled to
IVM recipients on the associated display device provided by
request from the global IVM server system 502 a contact list
( not shown) of global one or more IVM recipients with which
the global IVM server system 502, as described hereinabove.
each of the global IVM client 506, 508 may exchange instant 30 The user operates the IVM client 508 by using the associated
voice messages. For the purposes of this illustration, it is
input device to indicate a selection of one or more IVM
assumed that the IVM clients 206 and 208 within the local
recipients from the contact list . The user selection generates a
IVM system 510 are in the contact list for each global IVM
start signal in the IVM client 508 indicating that the user is
client 506, 508. The global IVM server system 502 stores and
ready to begin instant voice messaging according to the
maintains the foregoing contact list for each global IVM 35 present invention. In response to the start signal, the IVM
client 508 generates audio file to record an instant voice
client 506, 508. Upon request , the global IVM server system
502 responds by transmitting the contact list to each of the
message and transmits a ring signal to the VoIP telephone 506
IVM clients 506, 508. Each of the IVM clients 506, 508
via local IP network 504. As the user picks up the handset of
displays the contact list on its display. The user operates the
the VoIP telephone 206 (off-hook), a connection is estab IVM client 506, 508 to indicate a selection of one or more 40 lished via the local network 504 between the local IVM client
IVM recipients from the contact list . Each of the global IVM
508 and the VoIP telephone 506. Thereafter, the VoIP teleclients 506, 508 transmits the user selection to the global IVM
phone 506 forwards the user’ s speech to the IVM client 508
for storage into the audio file at the IVM client 508. The audio
server system 502. The user selection also generates a start
signal to the IVM clients 506, 508 that the user is ready to
file is finalized by returning the handset its cradle (on-hook)
begin instant voice messaging. In response to the start signal, 45 or by pressing a designated button on the keypad associated
with the VoIP telephone 506, which transmits the stop signal
the IVM clients 506, 508 record the user’ s speech into a
digitized audio file (i .e., instant voice message) stored on the
to the IVM client 508. Returning the handset to its cradle
global IVM clients 506, 508. The audio file is finalized via a
preferably generates a send signal to the IVM client 508. The
stop signal, which is generated by the user by operating the
IVM client thereafter transmits the recorded audio file (inglobal IVM client 506, 508. Once the recording is finalized, 50 stant voice message) to the global IVM server system 502 for
the IVM client 506, 508 generates a send signal indicating
delivery to the selected one or more IVM recipients. Alterna that the digitized audio file (instant voice message) is ready to
tively, the user may press a key on the input device associated
with the IVM client 508 to initiate the send signal . In response
be sent to the selected one or more recipients. The user generates the send signal when the user operates the global IVM
to the send signal, the IVM client 508 sends the recorded
client 506, 508. The IVM client 208 transmits the digitized 55 audio file to the global IVM server system 502 for delivery to
the selected one or more IVM recipients. The global IVM
audio file and the send signal to the global IVM server system
server system 502 thereafter transmits the instant voice mes 502. After receiving the audio file, the global IVM server
system 502 delivers the transmitted instant voice message to
sage to the local WM server 202 for delivery selected one or
more recipients (e.g., local IVM clients 206 and 208 ) via the
the local IVM server 202 in the local IVM system 510 for
delivery to the selected one or more recipients (e.g., local 60 local IP network 204. As before, the one or more recipients
IVM clients 206 and 208) via the local IP network 204. The
are enabled to display an indication that the instant voice
one or more recipients IVM 206, 208 are enabled to display an
message has been received and audibly play the instant voice
indication that the instant voice message has been received
message. If a recipient IVM client is not currently comiected
and audibly play the instant voice message to an associated
to the local IVM server 202, the local IVM server 202 temuser. It is noted that if a recipient IVM client 206, 208 is not 65 porarily saves the instant voice message and delivers it to the
currently connected to the local IVM server 202, the IVM
IVM client when the IVM client comiects to the local IVM
server 202 temporarily saves the instant voice message and
server 202.
US 8, 724,622 B2
21
22
Lastly with reference to FIG. 5, in addition to the “ record
mode” of instant voice messaging as described above, the
instant voice messaging system 500 also supports an “ intercom mode” of the instant voice messaging. The “ intercom
mode” represents real -time instant voice messaging. In the
“ intercom mode,” instead of creating an audio file as
described hereinabove, one or more buffers (not shown) of a
predetermined size are generated . The buffers may be generated in any one of the IVM clients 206, 208, 506 and 508,
depending on how the global IVM system 500 is defined. The
one or more buffers are used to automatically write successive
portions of the instant voice message. Once a first buffer is
full, i .e., input audio of the predetermined size is written to the
buffer, the content of the first buffer is automatically trans mitted . If the transmission is generated at a local IVM client
206, 208 and destined for one or more local IVM recipients,
the content of the first buffer is transmitted to the local IVM
server 202 for delivery to the local one or more recipients. If
the transmission is generated at a local IVM client 206, 208
and destined for one or more global IVM recipients 506, 508,
the content of the first buffer is transmitted to the global IVM
server system 502 for delivery to the one or more global
recipients. In addition, if the transmission is generated at a
global IVM client 506, 508 and destined for the other global
IVM clients, the content of the first buffer is transmitted to the
global IVM server system 502, such as for example clients
506, 508. Lastly, if the transmission is generated at a global
IVM client 506, 508 and destined for the local IVM clients
206, 208, the content of the first buffer is transmitted to the
global IVM server system 502 and further transmitted by the
global IVM server 502 to the local IVM server 202 for deliv ery to clients 206, 208 within the local IVM system 510. A
second buffer is meanwhile written with the next successive
portion of input audio. Once, the second buffer is full, i.e.,
input audio of the predetermined size is written to the buffer,
the content of the second buffer is transmitted in similar
fashion to the first buffer. If the entire instant voice message or
a successive portion thereof (such as a last successive portion
in the instant voice message) written to either buffer is smaller
the predetermined size, then the buffered content of less than
the predetermined size is automatically transmitted to the
IVM server 202. The foregoing buffering using the first and
second buffers is repeated until the entire instant voice message has been transmitted as described above. It is noted that
the invention is not limited to a particular number of buffers.
The foregoing buffering and transmission allows a “ real time” instant voice message to be transmitted to the one or
more local, as well as global, IVM recipients. The “ intercom
mode” may be designated as a default mode when an IVM
recipient is on-line, while the “ record mode” may be designated as a default if the IVM recipient is unavailable, i.e., not
on-line. The user may easily change the “ intercom mode” to
the “ record mode” on the respective IVM client 206, 208,
506, 508. Finally, the audio contents of the buffers may be
signal processed (for clarity), encrypted and compressed
before transmission, as was described previously.
FIG. 6 is an exemplary detailed illustration 600 of the
global IVM server system 502 depicted in FIG. 5, according
to the present invention. More specifically, the local IVM
system 510 described in FIG. 5 is connected via the IP net work (Internet) 102 to the global IVM server system 502. The
global IVM server system 502 comprises an IVM transport
server mesh 602 and an IVM directory server 608. The IVM
transport server mesh 602 comprises a plurality of interconnected IVM transport servers 604, 606. Although the mesh
602 is depicted as having two IVM transport servers 604, 606,
it is to be understood that as many IVM transport servers as
are desired or required for redundancy and load balancing
may be interconnected in a mesh. The IVM transport servers
604, 606 may be centrally located and configured to commu nicate (i.e., forward and receive messages) with local IVM
clients 206, 208, local IVM server 202 and global IVM client
506, 508 (not depicted in FIG. 6). The plurality of IVM
transport servers 604, 606 in the IVM transport server mesh
602 permits load balancing and redundancy in the global IVM
system 500. The directory server 608 maintains a transport
server list of all the IVM transport servers 604, 606 currently
connecting to the mesh 602. Each of the IVM transport serv ers 604, 606 first connects to the directory server 608. The
directory server 608 informs each of the connecting IVM
transport servers 604, 606 of all the other IVM transport
servers currently in the mesh 602 based on an active list (not
shown) of transport servers 604, 606 in the mesh 602. The
connecting IVM transport server then comiects to each of the
IVM transport servers in the transport server list , resulting in
an interconnected mesh 602 of IVM transport servers 604,
606. The IVM transport servers 604, 606 and the IVM direc tory server 608 communicate via messages.
Further with reference to FIG. 6, the IVM transport servers
604, 606 connected in the mesh 602 share a database (not
shown) of IVM clients, so that each IVM transport server 604,
606 refers to the same client database. It is preferable that
each IVM transport server 604, 606 maintains its own copy of
the client database, which is mirrored and replicated conventionally amongst the IVM transport servers 604, 606 in the
mesh 602. The client database may further be replicated to the
local IVM server 202. Alternatively, the client database is
stored on a separate file server (not shown) in data commu nication with the IVM transport servers 604, 606 over a
network (not shown).
FIG. 7 is an exemplary detailed illustration of a transport
server 604, 606 depicted in FIG. 6, according to the present
invention. The IVM transport server 604, 606 is a general purpose programmable computer comprising a network
interface (not shown) connected to IP network (Internet) 102,
a communication platform 702, a message database 712, and
a messaging system 714. The communication platform 702
comprises a server engine 704, which controls a user manager
706, a local server manager 708, and a storage manager 710.
The messaging system 714 and the server engine 704 communicate via standard inter-process communication. The
storage manager 710 handles retrieving, sending, and storing
of messages, including instant voice messages and attachments thereto, to/from the message database 712. The user
manager 706 is responsible for creating/maintaining IVM
clients 206, 208, 506, 508, identifying them and relaying their
status to the server engine 704. When an IVM client commu nicates an instant voice message within the global IVM sys tem 500, the user manager 706 notifies the server engine 704
whether the one or more recipients are unavailable, and
thereby the instant voice message is saved in the message
database 712. When the one or more IVM recipients become
available, the user manager 706 notifies the server engine
704, which instructs the storage manager 710 to retrieve any
undelivered instant voice messages for the one or more recipi ents and delivers the instant voice messages to the designated
one or more IVM recipients. The local server manager 708 is
responsible for creating/maintaining and providing the status
of available local IVM servers, such as IVM server 202 in
FIG. 2. The availability status of the local IVM servers is
checked periodically and updated.
FIG. 8 is an exemplary detailed illustration of a directory
server 608 depicted in FIG. 6, according to the present invention. The directory server 608 is a general-purpose program-
5
10
15
20
25
30
35
40
45
50
55
60
65
US 8, 724,622 B2
23
24
mable computer equipped with a network interface (not
a communication platform system maintaining connection
information for each of the plurality of instant voice
shown) connected to IP network (Internet) 102, a messaging
message client systems indicating whether there is a
system 812, and a communication platform 802. The comcurrent connection to each of the plurality of instant
munication platform 802 comprises a server engine 804,
voice message client systems ; and
which controls a local server manager 806, a user manager 5
808, and a transport manager 810. The messaging system 812
a user database storing user records identifying users of the
and the server engine 804 communicate via standard interplurality of instant voice message client systems,
wherein each of the user records includes a user name, a
process communication. The transport manager 810 maintains the status of the IVM transport servers 604, 606 in the
password and a list of other users selected by a user.
IVM transport server mesh 602 within the global IVM system 10
2. The system according to claim 1, wherein at least part of
each of the user records is encrypted.
500 and using a load-balancing mechanism distributes instant
voice messages to available transport server 604, 606 for
3. A system comprising:
routing to the one or more IVM recipients. The user manager
a network interface comiected to a packet-switched net work;
808 is responsible for creating/maintaining IVM clients 206,
208, 506, 508, identifying and relaying their status via the 15
a messaging system communicating with a plurality of
instant voice message client systems via the network
server engine 804 to the IVM transport server 604, 606 to be
interface; and
used . The local server manager 806 is responsible for creat ing/maintaining and providing the status of available local
a communication platform system maintaining connection
IVM servers, such as IVM server 202 in FIG. 2. The avail information for each of the plurality of instant voice
message client systems indicating whether there is a
ability status of the local IVM servers is checked periodically 20
and updated .
current connection to each of the plurality of instant
FIG. 9 illustrates an exemplary a global instant voice mesvoice message client systems,
saging (IVM) system 900, which comprises a plurality of
wherein the messaging system receives an instant voice
message from one of the plurality of instant voice mes local IVM systems and a plurality of global IVM clients,
according to the present invention. In the global IVM system 25
sage client systems, and
wherein the instant voice message includes an object field
900, there are depicted a plurality of local IVM systems 902,
including a digitized audio file.
910 connected to the global IP network 102. The internal
4. The system according to claim 3, wherein the instant
representation and functionality of each local IVM system
voice message includes an action field identifying one of a
902, 904 is identical to the local IVM system 510 described
with reference to FIG. 5. In global IVM system 900 of FIG. 9, 30 predetermined set of permitted actions requested by the user.
there are also depicted a plurality of global IVM clients 9185. The system according to claim 4, wherein the predetermined set of permitted actions includes at least one of a
928 and a global IVM server system 502 connected to the
global IP network (i .e., Internet) 102. The internal represenconnection request, a disconnection request, a subscription
tations of the global IVM client 918-928 and the global IVM
request, an unsubscription request , a message transmission
server system 502 are identical to the respective IVM client 35 request, and a set status request .
508 (and/or IVM client or 506) and the global IVM server
6. The system according to claim 3, wherein the instant
system 502 described with reference to FIG. 5. In the local
voice message includes an identifier field including a unique
IVM system 902, each local IVM client 206, 208 is enabled to
identifier associated with the instant voice message.
7. The system according to claim 3, wherein the instant
request local IVM recipients from the local IVM server 202
and global IVM recipients from either the global IVM server 40 voice message includes a source field including a unique
system 502 or the local IVM server 202. For example, the
identifier associated with at least one of a given one of the
local IVM client 1A 208 displays a list 904 to a user, complurality of instant voice message client systems that created
the instant voice message and a given one of the plurality of
prising both local and global IVM recipients. More specifically, the list 904 enables IVM client 1A to send instant voice
users using the given one of the plurality of instant voice
messages according to the present invention to local IVM 45 message client systems.
clients IB 208 and 1C 206, global IVM client C 922 and
8. The system according to claim 3, wherein the instant
global IVM client 2A 208 in the local IVM system 910.
voice message includes a destination field including a unique
Similar lists 906-916 are displayed to the users of the respec identifier associated with at least one of a given one of the
tive IVM clients 1B-1C in local IVM system 902, and 2A-2C
plurality of instant voice message client systems identified as
in local IVM system 910. In addition, the global clients A-F 50 a recipient of the instant voice message and a given one of the
918-928 are enabled to request IVM recipients from the glo plurality of users using the given one of the plurality of instant
voice message client systems.
bal IVM server system 502 and display the respective lists of
IVM recipients 930 -940 on the respective IVM clients 9189. The system according to claim 3, wherein the commu nication platform system assigns an IP address to each of the
928.
While the invention has been particularly shown and 55 instant voice message client systems when the communica tion platform receives a connection request from each of the
described with regard to preferred embodiments thereof, it
will be understood by those skilled in the art that the forego instant voice message client systems.
ing and other changes in form and details may be made
10. The system according to claim 3, further comprising: a
therein without departing from the spirit and scope of the
message database storing the instant voice messages received
invention.
60 from the instant voice message client systems .
What is claimed is:
11. The system according to claim 3, wherein, upon receipt
of an instant voice message, the communication platform
1. A system comprising:
a network interface connected to a packet-switched net system determines if there is the current connection to one of
the plurality of instant voice message client systems identi work;
a messaging system communicating with a plurality of 65 fied as a recipient of the instant voice message, and if there is
no connection with the one of the plurality of instant voice
instant voice message client systems via the network
interface;
message client system identified as the recipient, the instant
US 8, 724,622 B2
25
26
voice message is stored and delivered when the one of the
current connection to each of the plurality of instant
voice message client systems,
plurality of instant voice message client systems identified as
wherein the messaging system receives connection object
the recipient re-established a connection.
messages from the plurality of instant voice message
12. The system according to claim 3, wherein the commu client systems, wherein each of the connection object
nication platform system updates the connection information 5
messages includes data representing a state of a logical
for each of the instant voice message client systems by peri odically transmitting a connection status request to the given
connection with a given one of the plurality of instant
voice message client systems.
one of the plurality of instant voice message client systems.
25. The system according to claim 24, wherein the connec 13. The system according to claim 3, wherein each of the
instant voice message client systems comprises an instant 10 tion object messages identifies at least one of a socket, a size
of data to be transferred and a priority of the data .
voice messaging application generating an instant voice message and transmitting the instant voice message over the
26. The system according to claim 24, wherein the communication platform system populates a connection list for
packet-switched network to the messaging system.
the plurality of instant voice message client systems with the
14. The system according to claim 13, wherein the instant
voice messaging application includes a message database 15 data in the connection object messages received from each of
storing the instant voice message, wherein the instant voice
the plurality of instant voice message client systems.
message is represented by a database record including a
27. A system comprising:
a client device;
unique identifier.
15. The system according to claim 14, wherein the message
a network interface coupled to the client device and connecting the client device to a packet -switched network;
database includes a plurality of instant voice messages 20
and
recorded by a user of the client device and instant voice
messages received over the packet-switched network.
an instant voice messaging application installed on the
client device, wherein the instant voice messaging appli 16. The system according to claim 15, wherein the instant
cation includes a client platform system for generating
voice messaging application displays at least one of the plu rality of instant voice messages stored in the message data - 25
an instant voice message and a messaging system for
transmitting the instant voice message over the packet base.
switched network via the network interface,
17. The system according to claim 14, wherein the instant
wherein the instant voice messaging application includes a
voice messaging application includes a file manager system
document handler system for attaching one or more files
performing at least one of storing, deleting and retrieving the
instant voice messages from the message database.
to the instant voice message.
30
28. The system according to claim 27, wherein the instant
18. The system according to claim 13, wherein the instant
voice messaging application includes a message database
voice messaging application includes an audio file creation
system creating an audio file for the instant voice message
storing the instant voice message, wherein the instant voice
based on input received via an audio input device coupled to
messages is represented by a database record including a
the client device.
35 unique identifier.
19. The system according to claim 13, wherein the instant
29. The system according to claim 28, wherein the instant
voice message stored in the message database include a plu voice messaging application includes an encryption/decryp tion system for encrypting the instant voice messages to be
rality of instant voice messages recorded by a user of the
client device and instant voice messages received over the
transmitted over the packet -switched network and decrypting
the instant voices messages received over the packet - 40 packet-switched network.
switched network.
30. The system according to claim 29, further comprising:
20. The system according to claim 13, wherein the instant
a display displaying at least one of the plurality of instant
voice messages stored in the message database.
voice messaging application includes a compression/decom31. The system according to claim 28, wherein the instant
pression system for compressing the instant voice messages
to be transmitted over the packet-switched network and 45 voice messaging application includes a file manager system
storing, deleting and retrieving the instant voice messages
decompressing the instant voice messages received over the
from the message database in response to a user request.
packet-switched network.
32. The system according to claim 27, wherein the instant
21. The system according to claim 13, wherein the instant
voice messaging application includes an audio file creation
voice messaging application displays a list of one or more
50 system creating an audio file for the instant voice message
potential recipients for the instant voice message.
based on input received via an audio input device coupled to
22. The system according to claim 21, wherein the instant
the client device.
voice messaging application displays an indicia for each of
the one or more potential recipients indicating whether the
33. The system according to claim 27, wherein the instant
voice messaging application includes an encryption/decryp potential recipient is currently available to receive an instant
voice message.
55 tion system for encrypting the instant voice messages to be
transmitted over the packet -switched network and decrypting
23. The system according to claim 13, wherein the instant
the instant voices messages received over the packet voice message application generates an audible or visual
effect indicating receipt of an instant voice message.
switched network.
24 . A system comprising:
34. The system according to claim 27, wherein the instant
a network interface connected to a packet-switched net - 60 voice messaging application includes a compression/decomwork;
pression system for compressing the instant voice messages
a messaging system communicating with a plurality of
to be transmitted over the packet -switched network and
instant voice message client systems via the network
decompressing the instant voice messages received over the
interface; and
packet-switched network.
a communication platform system maintaining connection 65
35. The system according to claim 27, wherein the instant
information for each of the plurality of instant voice
voice message application generates an audible or visual
effect indicating receipt of an instant voice message.
message client systems indicating whether there is a
US 8, 724,622 B2
27
36. The system according to claim 27, wherein the instant
voice message application communicates in an intercom
mode when a recipient of the instant voice message is currently available to receive the instant voice message and communicates in a record mode when the recipient of the instant 5
voice message is currently unavailable to receive the instant
voice message.
37. The system according to claim 36, wherein the instant
voice message application utilizes the intercom mode as a
default communication mode.
10
38. A system comprising:
a client device;
a network interface coupled to the client device and connecting the client device to a packet -switched network;
and
15
an instant voice messaging application installed on the
client device, wherein the instant voice messaging appli cation includes a client platform system for generating
an instant voice message and a messaging system for
transmitting the instant voice message over the packet- 20
switched network via the network interface,
a display displaying a list of one or more potential recipi ents for an instant voice message.
39. The system according to claim 38, wherein the display
includes an indicia for each of the one or more potential 25
recipients indicating whether the potential recipient is currently available to receive an instant voice message.
28
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?