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)

Download PDF
        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?