`US007068684Bl
`
`c12) United States Patent
`Suder et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,068,684 Bl
`Jun.27,2006
`
`(54) QUALITY OF SERVICE IN A VOICE OVER
`IP TELEPHONE SYSTEM
`
`(75)
`
`Inventors: Eric G. Suder, Plano, TX (US);
`Harold E. A. Hansen, II, Plano, TX
`(US)
`
`(73) Assignee: Estech Systems, Inc., Plano, TX (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 877 days.
`
`(21) Appl. No.: 09/775,018
`
`(22) Filed:
`
`Feb. 1, 2001
`
`(51)
`
`(52)
`
`(58)
`
`Int. Cl.
`H04L 12166
`(2006.01)
`H04J 1102
`(2006.01)
`H04J 1114
`(2006.01)
`H04M 11100
`(2006.01)
`U.S. Cl. ...................... 370/493; 370/352; 370/496;
`379/93.29; 379/93.09
`Field of Classification Search ................ 370/229,
`370/352, 353,401,230, 389, 493, 494, 495,
`370/535, 395.42, 395.21, 433, 443, 444,
`370/445
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,119,372 A *
`5,751,791 A *
`5,878,120 A *
`5,982,779 A
`6,504,926 Bl *
`6,515,996 Bl *
`6,535,521 Bl *
`6,587,433 Bl*
`6,678,280 Bl *
`
`6/1992 Verbeek ...................... 370/230
`5/1998 Chen et al. .............. 379/88.13
`3/1999 O'Mahony ............... 379/93.09
`11/1999 Krishnakumar et al ..... 370/447
`1/2003 Edelson et al. ........ 379/390.01
`2/2003 Tonnby et al. .............. 370/401
`. ......... 370/462
`3/2003 Barghouti et al.
`7/2003 Borella et al. .............. 370/230
`1/2004 Kim et al.
`.................. 370/429
`
`6,735,209 Bl *
`6,760,429 Bl *
`6,785,261 Bl *
`6,798,768 Bl *
`6,839,341 Bl*
`6,876,648 Bl *
`
`5/2004 Cannon et al .............. 370/401
`7/2004 Hung et al. ............ 379/265.09
`8/2004 Schuster et al ............. 370/352
`9/2004 Gallick et al. .............. 370/352
`1/2005 Nakajima ................... 370/352
`4/2005 Lee ............................ 370/353
`
`OTHER PUBLICATIONS
`
`Harry Newton, Newton's Telecom Dictionary, 16th Edition,
`copyright 2000, pp. 126-127.
`Avaya Communication, "Avaya IP Telephone," available via
`the Internet at www lucent com/enterprise/solutions/eclips/
`pdf/black13 white_paper pdf, Nov. 9, 2000.
`Avaya Communication, "Quality of Service (QoS) consid(cid:173)
`erations with 4600 Series IP Telephones," available via the
`Internet at www lucent com/enterprise/solutions/eclips/pdf/
`QoSwhite_paper pdf, Jan. 29, 2000.
`
`* cited by examiner
`
`Primary Examiner-Hanh Nguyen
`(74) Attorney, Agent, or Firm-Kelly K. Kordzik; Winstead
`Sechrest & Minick P.C.
`
`(57)
`
`ABSTRACT
`
`An information handling system comprises a TCP/IP net(cid:173)
`work connecting a hub to a multimedia server and the hub
`to a data server, and the hub to an IP telephony device that
`is then coupled to a network device. Data sent from the
`network device is addressed for transmission to the data
`server and is transmitted through the IP telephony device to
`the TCP/IP network. The IP telephony device monitors when
`an amount of data being received over the network falls
`below a predetermined threshold. If this occurs, the IP
`telephony device will send a signal to the multimedia server,
`which will then generate a congestion signal to send to all or
`selected IP telephony devices in the network to throttle data
`being received by the IP telephony devices from their
`respective connected network devices.
`
`61 Claims, 13 Drawing Sheets
`
`--------DATA--------
`
`PC
`
`106
`
`105
`
`' VOICE'..._
`
`HUB
`
`SERVER
`
`103
`
`104
`
`IP SERVER
`
`101
`
`102
`
`co
`
`CISCO EXHIBIT 1011
`Page 1 of 25
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 1 of 13
`
`US 7,068,684 Bl
`
`--------DATA.--------
`
`PC
`
`106
`
`105
`
`' VOICE"
`
`HUB
`
`SERVER
`
`103
`
`104
`
`Fig. 1
`
`IP SERVER
`
`101
`
`co
`
`102
`
`IP SERVER
`
`101
`
`IP SERVER
`
`202
`
`Fig. 2
`
`CISCO EXHIBIT 1011
`Page 2 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-"--...l = 0--,
`d r.,;_
`
`~
`
`....
`0 ....
`N
`.....
`rJJ =- ('D
`
`('D
`
`~ = ?
`
`O'I
`0
`0
`N
`'-"-....J
`N
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`I
`
`I
`
`r301 I
`
`302
`
`DETROIT
`
`WORKSTATION 309
`
`PC
`
`~308
`
`TELEPHONE
`
`IP
`
`•••••
`
`HUB
`
`~
`Ice
`
`SERVER
`
`IP
`
`306
`
`305
`
`PHONE
`REMOTE
`
`TELEPHONE
`
`312
`
`IP
`
`313
`
`NAT ROUTER/ ~311
`
`HUB
`
`PC
`
`303
`
`Fig. 3
`
`HOME
`TELECOMMUTER'S
`
`MODEM H10
`ADSL
`
`• PUBLIC INTERNET
`
`• VPN
`
`• PRIVATE DATA
`
`NElWORK
`
`WAN
`TCP/IP
`
`SERVER
`DATA
`
`HUB
`
`DALI.AS
`
`~106
`
`301
`
`-
`
`PC
`
`10
`
`WORKSTATION I
`
`•
`: 103
`• •
`
`TELEPHONE
`
`IP
`
`105
`
`101
`
`SERVER
`
`IP
`
`LINES
`co
`
`CISCO EXHIBIT 1011
`Page 3 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-"--...l = 0--,
`d r.,;_
`
`~
`
`('D
`('D
`
`....
`0 ....
`.....
`rJJ =(cid:173)
`
`~
`
`O'I
`0
`0
`N
`'-"-....J
`N
`?
`2'
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`106
`
`WORKSTATION
`
`TELEPHONE
`ETHERNET
`FAST
`105
`
`Fig. 4
`
`TELEPHONE
`ANALOG
`406
`
`301/
`
`r:s-,9 T1
`
`405
`'"1
`
`(P-CARDS)
`PERIPHERAL
`
`(10 SLOTS)
`BACKPLANE
`
`p
`
`•CO/ANALOG
`•CO
`
`co
`
`P===;:===n---=
`
`1
`
`HUB
`
`ETHERNET
`
`103
`
`CARD
`
`IP NElWORK
`
`402
`
`304
`
`409
`
`101
`
`/
`
`403
`
`HOD
`IDE
`
`"
`
`BOARD
`MAIN
`
`401
`
`PACK
`POWER! ~407
`
`CISCO EXHIBIT 1011
`Page 4 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-0-...,l = 0--,
`d r.,;_
`
`..._
`
`~ ;:
`
`"7
`'
`
`'CF:.411
`
`I_ I I
`
`(\
`
`BUFFERS ·~~ F· ::j::::: =============!J=!..l
`
`5721 AND
`1/0
`
`.~
`
`~
`
`....
`0 ....
`.i;...
`......
`rJJ =(cid:173)
`
`('D
`('D
`
`.,,,405
`PCARD L
`
`PCARD 0
`
`\
`405
`
`404
`BACKPLANE
`
`I
`
`CONNECTORS
`
`SRAM r511
`
`y
`
`f-
`
`HIGHWAYS
`
`SYSTEM
`
`409-
`
`,
`u,s 509
`H
`\
`SWITCH
`
`CROSSPOINT
`
`DIGITAL
`
`O'I
`0
`0
`N
`'-0-....J
`N
`?
`2'
`
`~
`
`416
`
`PHY
`MAC/
`10/100
`
`~
`
`516
`
`I
`
`-11 BUS
`l}PCI
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`517
`
`PHY
`MAC/
`10/100
`
`515
`
`I
`
`514
`
`r,' ----
`
`508
`
`----1'506~
`I
`f"""""""7'
`t.___,._
`
`I'
`
`~
`
`DSP
`
`FPGA
`
`513
`
`~ DSP ~ v510
`
`507
`J
`r
`DSP FARM EXPANSION CONNECTOR
`
`\
`
`),.
`
`\
`505
`
`\
`502
`
`504
`I
`
`DRAM
`
`ECP
`
`\
`503
`
`Fig. 5
`
`,1 r,
`
`FROM M.B.
`CONNECTION
`DEHDD
`
`1/0
`
`l
`410
`
`,
`
`I
`501
`
`402\
`
`CISCO EXHIBIT 1011
`Page 5 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-"--...l = 0--,
`d r.,;_
`
`Fig. 6
`
`407
`
`C
`
`75 VA ~~
`24 VAC
`
`401
`
`SWITCHING ,__+SV/3A "
`
`,___SV/.SA
`i-+ 12V/1A
`
`SUPPLY
`POWER
`
`~
`
`....
`0 .....
`Ul
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`0
`0
`N
`'-"-....J
`N
`?
`2'
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`sH-409
`
`t
`MATRIX
`POINT
`CROSS-
`DIGITAL
`616
`
`i
`
`'
`617
`
`618
`
`I
`
`DSP
`
`f-608
`
`CODEC
`
`61,1
`
`-
`-
`
`,---,, MODEM
`
`L
`
`61p
`
`MHZ COUNTER
`2.048 TIME SLOT
`
`SYNC
`FRAME
`
`i Sf614
`
`615
`
`I
`
`---
`
`ARRAY
`GATE
`
`1
`_c-
`
`613_.K 1
`
`612,
`
`DRAM
`
`'
`606
`
`MEM
`FLASH
`I
`
`60?
`
`601
`
`Mus1c623
`
`onon_r-11,
`
`f.-622
`
`CODEC
`
`1
`
`ANALOG Q
`
`112
`PORT
`
`621-
`
`111
`PORT
`
`ANALOG
`
`62(}-
`
`r 7
`
`DSLAC
`
`619 --
`
`l
`
`CLOCK
`
`REAL-TIME
`
`604
`
`I
`
`DOG
`WATCH-
`'
`603
`
`ASYNC COMM LINK
`
`MULTI-DROP
`
`609
`
`i
`
`~
`
`-----
`<J ~ PROCESSOR -
`k==:i I>
`602
`
`MICRO-
`
`607
`
`f
`
`HARD DISK
`
`CISCO EXHIBIT 1011
`Page 6 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-"--...l = 0--,
`d r.,;_
`
`~
`
`....
`0 ....
`O'I
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`0
`0
`N
`'-"-....J
`N
`?
`2'
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`406
`
`PHONES
`ANALOG
`
`D
`D
`D
`D
`01 ~ co
`D
`
`INTERFACES
`TELEPHONE
`
`ANALOG
`
`709
`
`708
`
`Fig. 7
`
`707
`
`CODECS
`
`INTERFACES
`
`co
`START
`LOOP
`
`706
`
`CODECS
`
`~405
`
`FROM CARD 402
`SYSTEM TIMING
`
`TO/FROM CARD 402
`CONTROL HIGHWAYS
`
`SYSTEM SPEECH/
`
`TIMING
`
`BUFFERS
`
`704
`
`411
`
`SWITCH
`
`CROSSPOINT
`
`DIGITAL
`
`TOM
`
`TOM
`
`DSP
`
`.. 1
`
`DRAM
`512KB
`
`703
`
`1
`
`BLISSES
`
`MICROCONTROLLERI /
`
`(ECP)
`
`702
`
`701
`
`CISCO EXHIBIT 1011
`Page 7 of 25
`
`
`
`~ = "'""'
`
`00
`O'I
`00
`'-"--...l = 0--,
`d r.,;_
`
`Fig. 8
`
`lMIC
`0 822
`821
`SPEAKER
`HANDS FREE
`
`I,
`
`'-----------ICODEC
`
`819-(cid:173)
`
`~
`
`....
`0 ....
`-....J
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`0
`0
`N
`'-"-....J
`N
`?
`2'
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`NETWORK
`
`~ 816
`
`RJ45
`
`ETHERNET
`
`PHY
`~ MAC/
`10/100
`
`814
`
`I
`
`WORKSTATION
`
`~ RJ45 815
`
`ETHERNET
`
`PHY
`MAC/
`10/100
`
`813
`
`___ 105
`
`(I.E. DSS CONSOLE)
`
`PERIPHERAL
`
`~ /
`
`812
`
`,,, ______ _
`
`BUS
`PCI
`
`[Q]
`
`811
`
`'
`817
`
`SWITCH
`LAYER 2
`BRIDGE/
`
`t-806
`
`k===
`
`804
`SRAM
`
`K
`
`803
`FLASH
`
`PCI
`
`~ l==1 ~
`
`801
`
`FPGA
`
`802
`
`),
`
`)
`
`805
`
`_1
`
`810
`
`~ DISPLAY
`LCD
`
`DSP
`ll
`1/0
`l
`
`,-
`
`,-(cid:173)
`
`809
`
`808
`LEDS
`
`I
`807
`
`KEYBOARD
`
`I,
`
`+1.BV
`+3.3V
`+SV
`
`I POWER
`
`SUPPLY e REG.
`
`POWER _
`
`.....L....
`823
`
`~
`
`HANDSET
`
`L-------~ICODEC1 818
`
`CISCO EXHIBIT 1011
`Page 8 of 25
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 8 of 13
`
`US 7,068,684 Bl
`
`ORIGINATOR -901
`LIFTS
`HANDSET
`
`DIAL REMOTE SITE
`CODE FOLLOWED
`BY EXTENSION ti
`(I.E. 702101)
`
`902
`
`ASSIGN ONE OF
`THE SPEECH
`COMP. CHANNELS
`
`903
`
`SEND MESSAGE TO
`REMOTE SITE
`INDICATING AN
`INCOMING CALL
`CONTAINS CID
`
`904
`VIA
`IP ROUTING
`PROTOCOLS
`
`REMOTE SITE
`ACKS THE
`REQUEST AND
`STARTS RINGING
`PHONE
`
`PARTY DOES NOT
`ANSWER. CALL IS
`ROUTED TO
`VOICEMAIL
`
`905
`
`906
`
`Fig. 9
`
`CISCO EXHIBIT 1011
`Page 9 of 25
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 9 of 13
`
`US 7,068,684 Bl
`
`NO
`
`Fig. 10
`
`1004
`
`THROTTLE THE
`WORKSTATION USING
`THE MOST
`AGGRESSIVE MODE
`RECEIVED
`
`1006
`
`THROTTLE THE
`WORKSTATION USING
`THE LEAST
`AGGRESSIVE MODE
`
`1008
`
`DO NOT THROTTLE
`THE WORKSTATION
`
`YES
`
`NO
`
`NO
`
`NO
`
`CISCO EXHIBIT 1011
`Page 10 of 25
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 10 of 13
`
`US 7,068,684 Bl
`
`START
`
`1101
`
`NO
`
`PACKETS
`RECEIVED
`
`1103
`
`NO
`
`YES
`
`SEND
`MESSAGE TO 1105
`IP SERVER
`
`Fig. 11
`
`CISCO EXHIBIT 1011
`Page 11 of 25
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 11 of 13
`
`US 7,068,684 Bl
`
`START
`
`1201
`
`Fig. 12A
`
`YES
`
`SWITCH TO 1204
`QOS MODE
`
`1205
`
`SEND SIGNAL TO
`PHONES TO BEGIN
`QOS ALGORITHM
`USING MOST
`AGGRESSIVE MODE
`
`START
`(RESTART)
`
`1206
`
`TIMER ©
`
`..
`
`C
`
`1207
`
`YES >---- A
`
`CISCO EXHIBIT 1011
`Page 12 of 25
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 12 of 13
`
`US 7,068,684 Bl
`
`NO
`
`SEND SIGNAL TO
`IP PHONES TO
`STOP QOS
`ALGORITHM
`
`1210
`
`YES
`
`SEND SIGNAL TO IP
`PHONES TO USE
`LEAST AGGRESSIVE
`MODE
`
`1211
`
`®
`
`RESTART
`TIMER
`
`1212
`
`Fig. 128
`
`CISCO EXHIBIT 1011
`Page 13 of 25
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 13 of 13
`
`US 7,068,684 Bl
`
`1301
`
`DTMF
`RECEIVERS
`
`-OT
`-BT/ROT
`-RBT
`-SINGLE TONES
`-DTMF SENDERS
`-
`
`13pl
`
`CALL
`PROCESSING
`TONE GEN.
`
`1302
`
`1303
`
`ups
`
`AUTOMATIC
`GAIN CONTROL
`
`RECORDING
`BUFFERS
`
`PLAY BUFFERS
`
`--
`
`1304
`
`1305
`
`FAX TONE
`DET.
`
`CALLER ID
`MODEMS
`
`1306
`- - - - - - - - • - CONFERENCE 1--_ _ _ _ _ _ _ _ _ _ , 0
`BRIDGES
`o
`.
`
`I
`
`f
`
`Fig. 13
`
`CISCO EXHIBIT 1011
`Page 14 of 25
`
`
`
`US 7,068,684 Bl
`
`1
`QUALITY OF SERVICE IN A VOICE OVER
`IP TELEPHONE SYSTEM
`
`TECHNICAL FIELD
`
`2
`Therefore, there is a need in the art for an improved
`information processing system that can handle multimedia
`traffic in conjunction with typical bursty data transmissions.
`
`SUMMARY OF THE INVENTION
`
`The present invention relates in general to information
`processing systems, and in particular, to the use of Voice
`over IP technology to transmit voice conversations.
`
`BACKGROUND INFORMATION
`
`Voice over IP ("VoIP") is a relatively recent development
`that is utilized to transmit voice conversations over a data
`network using the Internet Protocol ("IP"). Internet Protocol
`is a part of the TCP/IP family of protocols described in
`software that tracks the Internet address of nodes, routes
`outgoing messages, and recognizes incoming messages.
`Such a data network may be the Internet or a corporate
`intranet, or any TCP/IP network. There are several potential
`benefits for moving voice over a data network using IP. First,
`there is a savings in money compared to the need to use
`traditional tolled telecommunications networks. Addition(cid:173)
`ally, Voice over IP enables the management of voice and data
`over a single network. And, with the use of IP phones,
`moves, adds and changes are easier and less expensive to
`implement. Moreover, additional and integrated new ser(cid:173)
`integrated messaging, bandwidth on
`vices,
`including
`demand, voice e-mails, the development of "voice portals"
`on the Web, simplified setting up and tearing down, and
`transferring of phone calls are capable.
`Using Voice over IP technology, phone systems can
`communicate with each other over existing TCP/IP data
`networks typically present between remote offices. This
`feature alone can eliminate the need for expensive, dedicated
`circuits between facilities. The shared bandwidth can also be 35
`used for voice calls and data communication simulta(cid:173)
`neously; no bandwidth is dedicated to one or the other.
`Another advantage of a Voice over IP system is the ability
`to implement a phone system over an existing data network
`that is already connecting workstations within a local area
`network, such as over an Ethernet. An Ethernet operates
`over twisted wire and over coaxial cable for connecting
`computers, printers, workstations, terminals, servers, etc.,
`within the same building or a campus. The Ethernet utilizes
`frame packets for transmitting information. Voice over IP
`can utilize such packet switching capabilities to connect IP
`phones onto the Ethernet. However, the implementation of
`Voice over IP onto an Ethernet has proven to have some
`difficulties. Data networks were originally designed to allow
`for latency (delays) in the delivery of packets between
`sources and destinations. If a packet became lost, then the
`Ethernet would go through a re-send protocol to have the
`packet sent again from the source to the destination, and the
`data then reassembled at the destination end. With voice ( or
`for that matter, video or any other real-time application),
`such delays present problems. Real-time applications cannot
`tolerate significant delays or they no longer become real(cid:173)
`time applications. Such quality of service ("QOS") concerns
`are especially amplified when attempting to implement
`Voice over IP onto an Ethernet, which utilizes a 10/100 Base
`T protocol, since it can be affected by bursts of data transfers
`among the workstations and servers, etc. For example, a
`large print job or a file access can significantly occupy the
`bandwidth on such an Ethernet, thus greatly degrading the
`ability to transmit any real-time information during that data
`burst. This problem worsens as more and more Voice over
`IP telephones are added to the network.
`
`The present invention addresses the foregoing need by
`providing an information processing system whereby an IP
`telephony system is designed to share a network with data
`10 devices communicating with a network operating system. In
`one embodiment, the network is an Ethernet local area
`network. Because these systems share a common hardware
`media, there is a possibility to saturate the network. Multi(cid:173)
`media traffic can be adversely affected by jitter and latency,
`15 while data traffic is typically immune to these types of
`disruptions. This bandwidth contention requires a suitable
`quality of service arrangement to give the multimedia traffic
`priority during peak traffic loads.
`More specifically, an IP telephony device will contain two
`20 separate media access controllers ("MACs") configured to
`provide a two-port, layer 2 Ethernet switch. This approach
`permits one MAC to be connected to the network, while the
`other MAC is dedicated to a connected network device. This
`allows all traffic flowing between MACs to be manipulated
`25 by a hardware/software approach within the IP telephony
`device. The quality of service algorithm of the present
`invention uses this configuration to restrict data traffic
`to/from the network device during peak traffic conditions,
`thus providing increased multimedia traffic bandwidth when
`30 needed.
`In one embodiment of the present invention, voice jitter
`buffers within each IP telephony device are used to minimize
`the effects of jitter and latency by providing a buffer of three
`voice packets. If the bandwidth usage of the Ethernet link
`becomes too great, the jitter buffer will start to deplete. The
`IP telephony device will detect this condition and report it to
`a quality of service task running within a multimedia server
`coupled to the Ethernet.
`If any of the IP telephony devices report to the multimedia
`40 server that their jitter buffers have hit a specified threshold,
`the multimedia server will issue a command to all ( or
`selected) IP telephony devices simultaneously to begin a
`flow control process between their respective network
`devices and the network. If, after a progranimable interval,
`45 the multimedia server ceases receiving quality of service
`messages from the IP telephony devices, the multimedia
`server will issue a command to stop the flow control process.
`In an embodiment of the present invention, the command
`that the multimedia server issues to instruct the IP telephony
`50 devices to start the flow control process will contain a
`parameter used to signify how aggressively the IP telephony
`devices should flow control their respective data paths. For
`example, the multimedia server would first send the most
`aggressive value. Once the quality of service messages cease
`55 from the IP telephony devices, the multimedia server would
`then send a next lower aggressive parameter value. If no
`quality of service messages are received, the multimedia
`server will tum off the quality of service algorithm. If,
`however, during any stage if the quality of service messages
`60 are received from the IP telephony devices, the multimedia
`server will reissue the next higher flow control value.
`In one embodiment of the present invention, during the
`quality of service flow control processes, the IP telephony
`devices may flood the private network between the IP
`65 telephony devices and the network devices with idle patterns
`Gabber). The various levels of flow control needed could be
`achieved by a jabber duty cycle. For example, a most
`
`CISCO EXHIBIT 1011
`Page 15 of 25
`
`
`
`US 7,068,684 Bl
`
`3
`aggressive value may have an eighty percent duty cycle,
`while a least aggressive value may have a twenty percent
`duty cycle. During the jabber process, communication
`between the network device and server is disrupted, allow(cid:173)
`ing more bandwidth for the voice packets between the IP
`telephony devices and the multimedia server.
`The foregoing has outlined rather broadly the features and
`technical advantages of the present invention in order that
`the detailed description of the invention that follows may be
`better understood. Additional features and advantages of the
`invention will be described hereinafter which form the
`subject of the claims of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the present inven(cid:173)
`tion, and the advantages thereof, reference is now made to
`the following descriptions taken in conjunction with the
`accompanying drawings, in which:
`FIG. 1 illustrates an information processing system con(cid:173)
`figured in accordance with the present invention;
`FIG. 2 illustrates a wide area network configuration of the
`present invention;
`FIG. 3 illustrates another embodiment of a wide area
`network configuration of the present invention;
`FIG. 4 illustrates a block diagram of a configuration of the
`present invention;
`FIG. 5 illustrates a block diagram of a network card
`configured in accordance with the present invention;
`FIG. 6 illustrates a block diagram of the main board of the 30
`present invention;
`FIG. 7 illustrates a block diagram of a peripheral card
`configured in accordance with the present invention;
`FIG. 8 illustrates a block diagram of a telephony device
`configured in accordance with the present invention;
`FIG. 9 illustrates a flow diagram of a station-to-station
`telephone call;
`FIGS. 10, 11, 12A and 12B illustrate flow diagrams
`configured in accordance with the present invention; and
`FIG. 13 illustrates functions implemented in the process- 40
`ing means of the main board.
`
`4
`use with any particular data transfer protocol. Workstation
`PC 106, network hub 103 and server 104 coupled to each
`other illustrate a typical LAN configuration where data is
`communicated between the workstation 106 and the server
`5 104. Naturally, other workstations and servers could also be
`coupled to the LAN through hub 103, including the use of
`additional hubs. Hub 103 maybe a 10 Base Tor 10/100 Base
`T Ethernet hub. In an alternative embodiment, the hub 103
`and server 104 may be implemented in the same data
`10 processing system. Herein, the term "workstation" can refer
`to any network device that can either receive data from a
`network, transmit data to a network, or both.
`To add in the voice communication capabilities, an IP
`multimedia server 101 is coupled to hub 103 and an IP
`15 telephony device 105 is connected between the workstation
`106 and the hub 103. The IP multimedia server 101 is
`coupled to a central office ("CO") 102 so that telephony
`device 105 can communicate to other telecommunications
`networks, such as the public switched telephone network
`20 ("PSTN"). Naturally, additional IP telephony device 105 can
`be coupled to hub 103, including having workstations
`coupled to hub 103 through such IP telephony devices.
`Further details on multimedia server 101 and IP telephony
`device 105 are described below. An IP telephone, or tele-
`25 phony device, is any apparatus, device, system, etc., that can
`communicate multimedia traffic using IP telephony technol(cid:173)
`ogy. IP telephony is defined within Newton's Telecom
`Dictionary, Harry Newton, Sixteenth Edition, page 454,
`which is hereby incorporated by reference herein.
`Information, or data, on the network includes both the
`voice and data information, and any other multimedia traffic.
`Traffic as a result of the data transmissions between work(cid:173)
`station 106 and server 104 affects the bandwidth available
`for communications between telephony device 105 and
`35 multimedia server 101. However, as discussed above,
`because the multimedia traffic is real-time, it must be
`transferred with no or minimum latency. An embodiment of
`the present invention provides a protocol for ensuring that
`the multimedia data is transferred within a specified mini(cid:173)
`mum or no latency by having the data information pass
`through the IP telephony device 105 as it is being transferred
`to/from workstation 106. This configuration, as will be
`subsequently discussed in further detail, permits the IP
`telephony device 105 to throttle the data to/from workstation
`In the following description, numerous specific details are 45 106, effectively giving the IP telephony device 105 priority
`set forth such as specific network configurations, network
`on the network.
`devices, types of multimedia traffic, etc. to provide a thor(cid:173)
`FIG. 2 illustrates how the information processing system
`ough understanding of the present invention. However, it
`of the present invention as noted above with respect to FIG.
`will be obvious to those skilled in the art that the present
`1 can be implemented across a wide area network ("WAN")
`invention may be practiced without such specific details. In 50
`201 where the multimedia server 101 of FIG. 1 is coupled
`other instances, well-known circuits have been shown in
`to another multimedia server 202 across LAN 201. Note that
`block diagram form in order not to obscure the present
`the other items described above in FIG. 1 have been omitted
`invention in unnecessary detail. For the most part, details
`in FIG. 2 for the sake of simplicity.
`concerning timing considerations and the like have been
`FIG. 3 illustrates further detail of a configuration of the
`omitted in as much as such details are not necessary to 55
`present invention over a WAN 201. Note that such a WAN
`obtain a complete understanding of the present invention
`may implement the TCP/IP protocol, and could be a public
`and are within the skills of persons of ordinary skill in the
`WAN, such as the Internet, a private data network, an
`relevant art.
`intranet, or a Virtual Private Network ("VPN").
`Refer now to the drawings wherein depicted elements are
`FIG. 3 illustrates an exemplary system where WAN 201
`not necessarily shown to scale and wherein like or similar 60
`couples an information processing system 301 in Dallas,
`elements are designated by the same reference numeral
`Tex. to another information processing system 302 in
`through the several views.
`Detroit, Mich., while also permitting a remote system 303 to
`FIG. 1 illustrates an information processing system con(cid:173)
`couple to both systems 301 and 302 through WAN 201, such
`as from a telecommuter's home.
`figured in accordance with the present invention. FIG. 1
`essentially illustrates a local area network ("LAN"), which 65
`System 301 is similar to the system described above with
`respect to FIG. 1. System 301 is coupled to WAN 201
`in one configuration could be implemented with an Ethernet
`through router 304.
`protocol. However, the present invention is not limited to
`
`DETAILED DESCRIPTION
`
`CISCO EXHIBIT 1011
`Page 16 of 25
`
`
`
`US 7,068,684 Bl
`
`10
`
`5
`System 302 is similar to system 301 with the exception
`that a data server is not implemented within system 302.
`Router 305 is similar to router 304, multimedia server 306
`is similar to multimedia server 101, hub 307 is similar to hub
`103, IP telephony device 308 is similar to IP telephony 5
`device 105, and workstation 309 is similar to workstation
`106.
`Remote system 303 is coupled to WAN 201 using a
`modem 310, such as an ADSL (asymmetric digital sub(cid:173)
`scriber line) modem. A NAT (Network Address Translation)
`router/hub 311 then couples a workstation PC 312 and an IP
`telephony device 313 to the modem 310. Not only can data
`be transferred across WAN 201 between systems 301-303,
`but also any one of telephony devices 105, 308 and 313 can
`communicate with each other and with the PSTN (not
`shown) over CO lines coupled to either of systems 301 and
`302.
`FIG. 4 illustrates further details of system 301. As noted
`above, system 301 is coupled to WAN 201 through IP router
`304, which is coupled by line 413 to Ethernet hub 103.
`Ethernet hub 103 is connected by line 414 to fast Ethernet
`telephony device 105, which is coupled by line 415 to
`workstation 106. Ethernet hub 103 is coupled to IP network
`card 402 by connection 416, which may be a 10/100 Base T
`connector.
`Multimedia server 101 is comprised of main board 401,
`network card 402, hard drive 403, backplane 404 and
`peripheral cards 405. network card 402 is further discussed
`below in more detail with respect to FIG. 5. network card
`402 is coupled by ribbon cable 409 to main board 401, which
`is further described below in more detail with respect to FIG.
`6. multimedia server 101 is powered through power pack
`407. IDE (Integrated Drive Electronics) HDD (hard disk
`drive) 403 is coupled by ribbon cable 410 to network card
`402 and main board 401, while network card 402 is coupled 35
`to backplane 404 through ribbon cable 411. Backplane 404
`provides capacity for several peripheral cards (P-cards) 405,
`which are of a typical configuration for enabling a telephone
`system to connect to a central office (CO), Tl lines, analog
`central office trunks and analog telephones 406. Alterna(cid:173)
`tively, ribbon cable 411 could be coupled to one of the
`peripheral cards 405 directly.
`Referring next to FIG. 5, there is illustrated a block
`diagram of network card 402. Network card 402 is respon(cid:173)
`sible for communicating with all IP telephones, remote
`telephones and remote sites via a 10/100 Base T connection.
`The higher-level communication protocol used may be a
`standard UDP/IP (User Datagram Protocol/Internet Proto(cid:173)
`col) protocol. In addition, network card 402 communicates
`with the main board 401 for overall system control. Network 50
`card 402 has effectively replaced individual electronic key
`telephone circuits with a single Ethernet interface, and
`network card 402 now acts as the central distribution point
`for all peripheral cards 405, which can plug into backplane
`404.
`Ribbon cable 410 from hard drive 403 is received at I/O
`501 coupled to bus 502. Bus 502 is coupled to ECP
`(Enhanced Call Processing) microcontroller 503, DRAM
`504, DSPs 505 and 506, DSP farm expansion connector 507,
`digital cross-point switch 509, and I/O and buffers 512. ECP 60
`503 is a microcontroller responsible for overall communi(cid:173)
`cations between network card 402 and main board 401. ECP
`503 directly interfaces the DSPs 505, 506 via the host port
`interface. The host port interface is a parallel (8 bit) interface
`between the DSPs and the host processor. This interface can 65
`be used to directly manipulate the DSP memory by a host
`processor. I/O 501 is a mailbox type parallel communication
`
`6
`channel, which is multiplexed between communication with
`the IDE disk drive 403 and I/O 501 allowing direct control
`for functions such as firmware download and message
`passing. ECP 503 is based on a 16-bit Hitachi HS family
`processor with built-in flash memory.
`DSPs 505 and 506 can be implemented using Texas
`Instrument 5410 DSPs that perform packet encoding/decod(cid:173)
`ing, jitter buffer management and UDP/IP protocol stacked
`functions. DSPs 505, 506 are connected to an external
`SRAM 511 and ASIC (FPGA) 513 that performs a PCI
`bridge function between bus 508 and bus 514, which is
`coupled to connectors 517 and 416 via 10/100 MAC/PHY
`devices 515 and 516. DSPs 505, 506 communicate with
`15 peripherals 405 via bus 502. DSP firmware is downloaded
`via the host port interface 501. I/0 501 allows communica(cid:173)
`tion with the main board 401 and the hard drive 403.
`Additionally, EPC 503 can directly control a daughter card
`containing additional DSPs through expansion connector
`20 507 for functions such as speech compression.
`Digital cross-point switch 509 is used to connect system
`voice conversations as needed between peripherals. Main
`board 401 houses the master cross-points with 616 discussed
`below with respect to FIG. 6. The peripheral cards 405 share
`25 a pool of 160 time slots. Cross-point switch 509 is primarily
`responsible for connecting the packet-switched voice con(cid:173)
`nections of the IP telephones or remote systems to the circuit
`switchboard. The FPGA/PCI bridge 513 performs the func(cid:173)
`tions required to connect the 10/100 Base T Ethernet MAC/
`30 PHY devices 515, 516. Since devices 515, 516 are designed
`to communicate via a standard PCI bus 514, the FPGA 513
`implements a minimal PCI bus implementation. In addition,
`the FPGA 513 implements 1/0 latches and buffers as
`required.
`The 10/100 Base T devices 515, 516 are stand-alone
`Ethernet devices, which perform the media access control
`("MAC") and the PHY sical layer functions in a single,
`low-cost chip. Devices 515, 516 communicate to the host
`processor via a standard PCI bus 514, and communicate to
`40 the network via a pulse transformer coupled RJ-45 connec(cid:173)
`tion 517, 416. These devices contain FIFOs to minimize lost
`packets during traffic peaks. Per the PCI bus mastering
`specification, devices 515, 516 take control of the DSP bus
`and DMA data directly to SRAM 511. Conversely; the DSP
`45 505, 506 writes data to be sent into the SRAM 511 and the
`devices 515, 516 DMA data via the PCI bus 514 to the
`network (LAN).
`Referring next to FIG. 6, there is illustrated, in block
`diagram form, main board 401 for integrating call process(cid:173)
`ing and voice processing using a single processing means,
`which in this example is one microprocessor 601. Micro(cid:173)
`processor 601, which may be a Motorola 68000 class
`microprocessor, communicates with hard disk 607 using
`driver circuitry 602. Hard disk 607 stores program data,
`55 voice prompts, voice mail messages, and all other types of
`speech used within main board 401.
`Microprocessor 601 also includes watchdog timer 603
`and real-time clock source 604.
`Microprocessor 601 is coupled via bus 608 to flash
`memory 605 and dynamic
`random access memory
`("DRAM") 606. Flash memory 605 is used to store boot(cid:173)
`strap data for use during power up of main board 401.
`DRAM 606 stores the program accessed by microprocessor
`601 during operation of main board 401.
`Bus 608 also couples microprocessor 601 to signal pro(cid:173)
`cessing circuitry, which in this example is digital signal
`
`CISCO EXHIBIT 1011
`Page 17 of 25
`
`
`
`US 7,068,684 Bl
`
`5
`
`7
`processor ("DSP") 615. Digital signal processor 615 imple(cid:173)
`ments a number of functions traditionally implemented by
`discrete analog components.
`Referring next to F