throbber
(12)
`
`United States Patent
`Shafer et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,023,839 B1
`Apr. 4, 2006
`
`US007023839B1
`
`(54) SYSTEM AND METHOD FOR DYNAMIC
`CODECALTERATION
`
`(75) Inventors: Shmuel Shaffer, Palo Alto, CA (US);
`O
`O
`Wyam Joseph Beyda, Cupertino, CA
`(US)
`(73) Assignee: Siemens Communications, Inc., Boca
`Raton, FL (US)
`Subject to any disclaimer, the term of this W
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`6,175,856 B1* 1/2001 Riddle ........................ TO9.204
`6,201.805 B1* 3/2001 Strathmeyer ...
`... 370,356
`6,324, 184 B1 * 1 1/2001 Hou et al. .....
`... 370/468
`ES R ck $39: R al - - - - - - - - - - - - - - - - 370/468
`4
`ala
`( a.
`6.426,945 B1
`7/2002 Sengodan
`6,457,043 B1
`9, 2002 Kwak et al.
`2002/0093982 A1
`7/2002 Joy et al.
`FOREIGN PATENT DOCUMENTS
`W 23: A1
`2.
`OTHER PUBLICATIONS
`Copy of European Search Report for EP Applin. No.
`00300467.8; date search was completed: May 25, 2000.
`Paksoy et al., “Variable Rate Speech Coding For Multiple
`Access Wireless Networks.” IEEE Proceedings of the
`Mediterranean ElectroTechnical Conference, 1994, pp. 47
`50.
`
`(Continued)
`Primary Examiner Brian Nguyen
`57
`ABSTRACT
`(57)
`A bandwidth adjustment server (BWAS) (109) is provided
`which monitors system bandwidth usage, sends requests to
`terminals (102A, 102B and/or 106), to identify their coding
`capabilities, and directs each of the terminals to adjust their
`coding algorithms based on system bandwidth usage. If
`system bandwidth usage is high, the BWAS (109) requires
`the terminals to employ a less bandwidth intensive coding
`algorithm; similarly, when system bandwidth usage is low,
`the BWAS (109) will allow the terminals to employ higher
`bandwidth use coding algorithms. Codec renegotiation may
`be initiated if there is a disparity between the bandwidth
`allocated to new connections versus ongoing connections or
`an increase in data traffic.
`
`14 Claims, 8 Drawing Sheets
`
`21) Appl. No.: 09/378,196
`(21) Appl. No
`9
`(22) Filed:
`Aug. 19, 1999
`
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 09/238,671,
`filed on Jan. 26, 1999, now Pat. No. 6,757,277.
`(51) Int. Cl.
`(2006.01)
`H04L 2/56
`(52) U.S. Cl. ....................................... 370/356; 370/468
`(58) Field of Classification Search ................ 370/356,
`370/351,352,395.1, 395.2, 395.21,395.41,
`370/395.52,395.53, 401, 411,444, 455, 465-466,
`370/468, 477, 493, 235-236, 254. 255,901-902,
`370/905, 908; 709/223-224, 226; 455/67.1,
`455/450, 509
`See application file for complete search history.
`Ref
`Cited
`eerees e
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`8, 1996 Sharma et al. ................ 370/84
`5,546,395 A
`5,835,495 A 11/1998 Ferriere ...................... 370/465
`5,857,147 A *
`1/1999 Gardner et al. ............ 455/67.1
`6,081.513 A * 6/2000 Roy ........................... 370,260
`6,085,241 A
`7/2000 Otis ........................... 709,223
`
`
`
`
`
`BWAS Receives
`Criteria
`
`BWAS Monitors
`Network Conditions
`
`706
`Criteria Me?
`
`y S.
`
`708
`
`Initiate
`Re-negotiation
`
`
`
`Endpoint Set up
`Procedure
`
`Previous Codecs
`Dropped
`
`Configurable
`Delay
`
`72
`
`74
`
`IPR2018-00884
`Apple Inc. EX1005 Page 1
`
`

`

`US 7,023,839 B1
`Page 2
`
`OTHER PUBLICATIONS
`Tham, “H.323: The Multimedia Communications Standard
`for Local Area Networks.” IEEE Communications Maga
`zine, Dec. 1996, pp. 52-56.
`Thom, Gary A., “H.323: The Multimedia Communications
`Standard for Local Area Networks', IEEE Communications
`
`Magazine, US IEEE Service Center. Piscataway, N.J., Dec.
`1, 1996, Vol. 34, No. 12, pp. 52-56, p. 52, right-hand column,
`line 30-p. 53, left-hand column, line. 33.
`European Search Report Application No. EP 00 30 0466,
`completed May 10, 2000.
`* cited by examiner
`
`IPR2018-00884
`Apple Inc. EX1005 Page 2
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 1 of 8
`
`US 7,023,839 B1
`
`100 N.
`
`02A
`
`102B
`
`104
`
`H.323 Terminal
`
`H.323 Terminal
`
`aw
`
`1.
`
`1.
`
`O
`
`BWAS
`
`109
`
`FIG. 1
`
`302
`
`Control
`PrOCeSSOr
`
`Bandwidth
`Monitor
`
`306
`
`
`
`FIG. 3
`
`304
`
`IPR2018-00884
`Apple Inc. EX1005 Page 3
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 2 of 8
`
`US 7,023,839 B1
`
`
`
`
`
`Video I/O
`
`28
`
`Audio I/O
`
`12
`
`Data
`Equipment
`
`21
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`System
`Control
`User
`Interface
`20
`
`Data int.
`T. 120
`19
`
`Q.931
`Callup
`
`-
`
`
`
`
`
`Coding
`Resources
`111
`
`Packet
`Network
`Interface
`
`13
`
`IPR2018-00884
`Apple Inc. EX1005 Page 4
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 3 of 8
`
`US 7,023,839 B1
`
`
`
`402
`
`
`
`
`
`
`
`
`
`Request COding
`
`
`
`
`
`
`
`Receive and
`StOre
`
`Monitor BW
`uSage
`
`41
`
`FIG. 4
`
`Adjust COding
`
`414
`
`
`
`418
`
`
`
`
`
`420
`
`Restore coding
`Scheme
`
`IPR2018-00884
`Apple Inc. EX1005 Page 5
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 4 of 8
`
`US 7,023,839 B1
`
`START
`
`
`
`
`
`502
`
`
`
`504
`
`MOnitOr BW
`USage
`
`50
`
`Yes
`
`
`
`
`
`Adjust COding
`
`510
`
`s
`
`Yes
`
`
`
`
`
`516
`
`Restore Coding
`Scheme
`
`FIG. 5
`
`IPR2018-00884
`Apple Inc. EX1005 Page 6
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet S of 8
`
`US 7,023,839 B1
`
`ARQ
`
`602
`
`ACF
`
`604
`
`
`
`608
`
`610
`
`62
`
`IPR2018-00884
`Apple Inc. EX1005 Page 7
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 6 of 8
`
`US 7,023,839 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`BWAS Receives
`Criteria
`
`BWAS MonitorS
`Network Conditions
`
`706
`
`Criteria Met?
`
`Yes
`
`Initiate
`Re-negotiation
`
`
`
`Endpoint Set Up
`PrOCedure
`
`Previous COdeCS
`Dropped
`
`Configurable
`Delay
`
`FIG. 7
`
`
`
`
`
`
`
`Receive QOS
`Levels
`
`800
`
`
`
`Receive New
`QoS Request Level
`
`802
`
`Compare Requested
`QOS with Available
`Bandwidth
`
`804
`
`
`
`
`
`
`
`806
`
`BWAVail?
`
`NO
`
`BWAS ACCeSSes
`QOS Database
`
`810
`
`82
`
`Calls Avail.?
`
`814
`
`YeS
`
`Re-Negotiate
`Codec Speed
`
`816
`
`Make Call
`With LOWer
`Codec Speed
`
`
`
`
`
`
`
`Make Cal
`
`END
`
`FIG. 8
`
`IPR2018-00884
`Apple Inc. EX1005 Page 8
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 7 of 8
`
`US 7,023,839 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Client 1 ARO to
`GK
`
`GKACF to
`Client 1
`
`Client 1: H.225.0
`S. Up to GK
`
`GK Relays H.225
`Set Up to Client 2
`
`Client 2 ARO/ACF
`With GK
`
`Client 2 Alerting
`& Connect to GK
`
`
`
`
`
`
`
`
`
`GK Relays Alerting
`& Connect to Client 1
`
`H.245 Control
`Channel
`
`H.245 Capability
`Exchange
`
`
`
`
`
`
`
`
`Open Media Channel
`
`98
`
`920
`
`923
`
`Make Call
`
`BWAS Receives
`QOS Information
`
`BWAS Monitors
`Network Condition
`
`922
`
`Criteria Met?
`
`Yes
`
`lsSue
`ChangeOOdeCSpeed
`
`
`
`
`
`
`
`
`
`Client 1 LOWerS COdeC
`and Sends
`LOWerCodeCSpeed
`to GK
`
`GK Forwards
`LowerCodeCSpeed
`to Client 2
`
`Re-negotiate CodeCS
`
`Drop Old CodeC
`
`
`
`
`
`
`
`
`
`
`
`930
`
`932
`
`933
`
`END
`
`FIG. 9
`
`IPR2018-00884
`Apple Inc. EX1005 Page 9
`
`

`

`U.S. Patent
`
`Apr. 4, 2006
`
`Sheet 8 of 8
`
`US 7,023,839 B1
`
`95
`
`Client 1 ARQ Client H.225
`to GK
`to Client 2
`
`
`
`972
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`GKACF to
`Client 1
`
`Client 1 Set U
`to Client 2
`
`Client 2 ARO/ACF
`With GK
`
`Client 2 H.225
`COnnect
`
`Client 1 & 2
`H.245 Cap. Exch.
`
`H.245
`Master-Slave
`
`Media Channel
`Opened
`
`BWAS Receives
`OOS Information
`
`BWAS Monitors
`NetWOrk Condition
`
`974
`
`981
`
`
`
`
`
`ChangeCodeCSpeed
`
`
`
`Client 1 Changes Codec. 976
`Speed and Sends to
`Client 2
`
`Drop Old
`COdeC
`
`
`
`
`
`Make Call
`
`982
`
`FIG. 10
`
`IPR2018-00884
`Apple Inc. EX1005 Page 10
`
`

`

`1.
`SYSTEMAND METHOD FOR DYNAMIC
`CODECALTERATION
`
`US 7,023,839 B1
`
`2
`their coding capabilities and the specific hierarchy used by
`them. Once this information is returned to the BWAS, the
`BWAS sends another message requiring the user terminals
`to lower their bandwidth usage by selecting a lower speed
`codec. When network traffic drops below a second pre
`configured threshold, the BWAS sends another message
`allowing the user terminals to restore their original codec
`choices.
`The BWAS according to one embodiment monitors band
`width usage, and if there is a disparity between the band
`width allocated to new connections versus ongoing ones or
`an increase in data traffic, the BWAS sends a Lower Codec
`Speed message to all active H.323 entities. This causes the
`H.323 entities to renegotiate their codecs. The original
`calling party then selects a lower speed codec and sends a
`message to the called party to proceed with H.323 codec
`negotiation.
`A better understanding of the invention is obtained when
`the following detailed description is considered in conjunc
`tion with the following drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram illustrating a telecommunications
`system according to an embodiment of the invention;
`FIG. 2 is a diagram of an exemplary H.323 interface
`according to an embodiment of the invention;
`FIG. 3 is a diagram illustrating an exemplary bandwidth
`allocation server (BWAS) according to an embodiment of
`the invention;
`FIG. 4 is a flowchart illustrating operation of an embodi
`ment of the invention;
`FIG. 5 is a flowchart illustrating operation of another
`embodiment of the invention;
`FIG. 6 is a flowchart illustrating communication employ
`ing an embodiment of the invention;
`FIG. 7 is a flowchart illustrating operation of an embodi
`ment of the invention;
`FIG. 8 is a flowchart illustrating bandwidth monitoring
`according to another embodiment of the invention;
`FIG. 9 is a flowchart illustrating operation of an embodi
`ment of the invention; and
`FIG. 10 is a flowchart illustrating operation of another
`embodiment of the invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`The present application is a continuation-in-part of U.S.
`patent application Ser. No. 09/238,671, entitled “System and
`Method for Coding Algorithm Policy Adjustment in Tele
`phony-Over-LAN Networks” (with inventors Shmuel Shaf
`fer, William J. Beyda and Uwe Wrede), filed Jan. 26, 1999,
`now U.S. Pat. No. 6,757,277.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`15
`
`The present invention relates to telecommunications sys
`tems, and in particular, to an improved telephony-over-LAN
`(local area network) system.
`Modern telephony-over-LAN (ToL) systems allow each
`endpoint (e.g., client, gateway) to choose a default hierarchy
`of coding algorithms. For example, an endpoint might be
`configured to first try using adaptive pulse code modulation
`(ADPCM), next G.723, then GSM, etc., until a common
`codec Supported by both the calling and called endpoints is
`found.
`However, the endpoints or clients typically have static
`configurations of preferred codecs. As a consequence, net
`work bandwidth is assigned on a simple availability basis,
`without regard to other users who might wish to place phone
`calls in the future. As a consequence, a few users who
`communicate using coding algorithms that result in high
`bandwidth consumption could use the entire network band
`width, without even realizing bandwidth was in short supply,
`thereby preventing others from placing calls. As such,
`system bandwidth may be inefficiently utilized and even
`result in denial of service to some users. Moreover, Subse
`quently callers with a higher QoS (quality of service) may be
`forced to use a less optimal codec while a preceding call
`with a low QoS communicates using its desired codec.
`While certain data modems, such as described in U.S. Pat.
`No. 5,546,395, allow for dynamic bandwidth adjustment
`between two communicating endpoints, by way of selecting
`the compression rates for voice transmission and the modu
`lation rate, such systems do not allow for broad network
`based supervision of bandwidth allocation.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`SUMMARY OF THE INVENTION
`
`These and other drawbacks in the prior art are overcome
`in large part by a coding algorithm policy adjustment system
`according to the present invention. A bandwidth adjustment
`server or bandwidth allocation server (BWAS) is provided
`which monitors system bandwidth usage, sends requests to
`user terminals to identify their coding capabilities, and
`directs each of the user terminals to adjust their coding
`algorithms based on system bandwidth usage. If system
`bandwidth usage is high, the BWAS requires the user
`terminals to employ a less bandwidth-intense coding algo
`rithm; similarly, when system bandwidth usage is low, the
`BWAS will allow the user terminals to employ higher
`bandwidth-use coding algorithms.
`The BWAS is configured with a first threshold identified
`as the threshold for reducing the coder/decoder (codec)
`speeds of the idle endpoints. The BWAS monitors system
`traffic, or communicates with other system monitors to
`determine system bandwidth usage. The BWAS sends a
`message to the user terminals, requiring them to identify
`
`50
`
`55
`
`60
`
`65
`
`FIG. 1 is a diagram illustrating a telecommunications
`system 100 according to an embodiment of the present
`invention. In particular, the telecommunications system 100
`includes a local area network (LAN) or packet network 101.
`Coupled to the LAN 101 may be a variety of H.323
`terminals 102A, 102B, a multi-point control unit (MCU)
`104, an H.323 gateway 106, an H.323 gatekeeper 108, a
`LAN server 112 and a plurality of other devices such as
`personal computers (not shown). The H.323 terminals 102A,
`102B are in compliance with the H.323 standard. Thus, the
`H.323 terminals 102A, 102B support H.245 for negotiation
`of channel usage, Q.931 for call signaling and call setup,
`registration admission status (RAS), and RTP/RTCP for
`sequencing audio and video packets. The H.323 terminals
`102A, 102B may further implement audio and video codecs,
`T. 120 data conferencing protocols and MCU capabilities.
`Further details concerning the Recommendation H.323 may
`be obtained from the International Telecommunications
`Union (ITU); the Recommendation is hereby incorporated
`
`IPR2018-00884
`Apple Inc. EX1005 Page 11
`
`

`

`US 7,023,839 B1
`
`3
`by reference in its entirety as if fully set forth herein. In
`addition, the gatekeeper 108 has coupled thereto a band
`width allocation server (BWAS) 109 according to a specific
`embodiment of the invention. As will be discussed in greater
`detail below, the BWAS 109 monitors system bandwidth
`usage and directs each H.323 terminal to adopt a particular
`codec or coding algorithm according to bandwidth avail
`ability. It is noted that in other specific embodiments the
`BWAS functionality may also be incorporated into the
`gatekeeper 108, placed on any terminal or server, or embod
`ied as a separate unit separately coupled to the network 101,
`as long as the BWAS can communicate with the endpoints.
`Thus, the figures are merely exemplary.
`A logical diagram of an H.323 interface to LAN 101 is
`shown in FIG. 2, according to an embodiment of the present
`invention. The interface includes a known network terminal/
`device 10 utilizing the ITU-T H.323 protocol, and a packet
`network interface 13 that is coupled to network terminal 10.
`Network interface 13 couples the H.323 device to LAN 101.
`H.323 terminals/devices and equipment carry real-time
`voice, video and/or data. It should be noted that H.323 is an
`umbrella recommendation that sets standards for multimedia
`communications, including telephony-over-LAN communi
`cations. The network can include packet-switched Trans
`mission Control Protocol/Internet Protocol (TCP/IP) and
`Internet Packet Exchange (IPX) over Ethernet, Fast Ethernet
`and Token Ring networks.
`The network terminal 10 is coupled to a video input/
`output (I/O) interface 28, an audio I/O interface 12, a user
`application interface 19, and a system control user interface
`(SCUI) 20. Network terminal 10 also includes an H.225
`layer 24, a video coder/decoder (codec) 15, an audio codec
`14, H.245 protocol functionality 18, Q.931 protocol func
`tionality 16, and RAS protocol functionality 17.
`As seen in FIG. 2, the video I/O interface 28 which may
`be part of the standard H.323 device connects to the video
`codec 15 Such as an H.261 codec for encoding and decoding
`video signals. Coupled between video I/O interface 28 and
`H.225 layer 24, video codec 15 translates encoded video
`signals to H.225 protocol signals. Although the H.261 codec
`can be the video codec used for an H.323 terminal, other
`Video codecs, such as H.263 codecs and others, may also be
`used for encoding and decoding video. The H.245 protocol
`is used to exchange terminal capability information Such as
`the video coding algorithm. Generally, the called terminal
`specifies its capabilities to the calling terminal.
`Audio I/O interface 12, which may be part of a standard
`H.323 terminal, connects to the audio codec 14. Such as a
`G.711 codec, for encoding and decoding audio signals.
`Coupled to audio I/O interface 12, audio codec 14 is coupled
`to H.225 layer 24 and translates audio signals to H.225
`protocol signals. Although the G.711 codec is the mandatory
`audio codec for an H.323 terminal, other audio codecs, such
`as G.728, G.729, G.723.1, G.722, MPEG1 audio, etc. may
`also be used for encoding and decoding speech, in accor
`dance with the present invention. G.723.1 typically is a
`preferred codec because of its reasonably low bit rate, which
`enables preservation of link bandwidth, particularly in
`slower speed network connections. AS is known, when
`communicating, H.323 terminals use a common coding
`algorithm or codec Supported by all entities to the conver
`sation/conference. This information is exchanged during an
`H.245 capability exchange phase.
`The control layer 11 interfaced with SCUI 20 provides
`signaling and flow control for proper operation of the H.323
`terminal. In particular, all non-audio and non-video control
`signaling is handled via SCUI 20. Coupled to SCUI 20 in the
`
`40
`
`45
`
`4
`control layer 11 are H.245 layer 18, Q.931 layer 16 and RAS
`layer 17, which couple to H.225 layer 24. Thus, SCUI 20
`interfaces to the H.245 standard which is the media control
`protocol that allows capability exchange, channel negotia
`tion, Switching of media modes and other miscellaneous
`commands and indications for multimedia communications.
`SCUI 20 also interfaces to the Q.931 protocol which defines
`the setup, teardown, and control of H.323 communication
`sessions. SCUI 20 further interfaces to the Registration,
`Admission, Status (RAS) protocol that defines how H.323
`entities can access H.323 gatekeepers to perform among
`other things address translation, thereby allowing H.323
`endpoints to locate other H.323 endpoints via an H.323
`gatekeeper. The H.225 standard layer 24, which is derived
`from the Q.931 standard, is the protocol for establishing
`connection between two or more H.323 terminals and also
`formats the transmitted video, audio, data and control
`streams into messages for output to the network interface 13
`(e.g., transport over IP network 101). The H.225 layer 24
`also retrieves the received video, audio, data and control
`streams from messages that have been input from network
`interface 13.
`In addition, in accordance with the present invention, the
`H.323 terminals control layer 11 may also include a coding
`resources unit 111 which is used to communicate coding
`resources to the bandwidth allocation server (BWAS), as
`will be described further below. User application interface
`19, which may be a T120 protocol interface as well as other
`types of protocol interfaces, also is coupled between H.225
`layer 24 and a user device 21, which may be for example
`data equipment. Thus, an H.323 network may be configured
`to include several different devices. For example, the net
`work may include a terminal for enabling users connected to
`a LAN to speak, a terminal (i.e., gateway) for enabling a
`caller resident on the LAN to call a second user through the
`public switched network, and/or a terminal for enabling the
`adapter to communicate through a wireless trunk, using a
`wireless telephone. The device may also implement Supple
`mentary services according to the H.450 protocol specifi
`cation.
`The H.323 gateway 106 (FIG. 1) generally provides a
`translation function between H.323 conferencing endpoints
`and other terminal types and performs call setup and clear
`ing on both the LAN side and Switched circuit network (e.g.,
`public switched telephone network or PSTN) side. The
`H.323 gatekeeper 108 performs address translation from
`LAN aliases for terminals and gateways to IP or IPX
`addresses (as defined in the RAS specification) as well as
`bandwidth management (also specified within the RAS
`specification). The H.323 gatekeeper 108 may further be
`used for call routing. Further, according to a specific
`embodiment of the present invention, the gatekeeper 108
`may include BWAS 109 which is used to specify coding
`algorithms (e.g., audio, video and/or both) which may be
`used by particular H.323 terminals, based on available
`system bandwidth. The BWAS 109 communicates the
`required coding algorithm to the H.323 terminals using RAS
`messaging. The H.323 terminals then use standard H.245
`signaling to negotiate coding capabilities among themselves.
`It is noted that, while described primarily with regard to
`audio coding, the present invention is equally applicable to
`Video coding as well.
`More particularly, an exemplary BWAS 109 is illustrated
`in FIG. 3. The BWAS 109 includes a network interface 304
`(which may simply be part of the standard gatekeeper
`interface in some embodiments) which allows for commu
`nication to and from the network terminals. In particular,
`
`10
`
`15
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`IPR2018-00884
`Apple Inc. EX1005 Page 12
`
`

`

`US 7,023,839 B1
`
`5
`RAS messaging may be employed by BWAS 109 to control
`bandwidth usage by defining the codecs that may be used by
`the idle H.323 terminals.
`Abandwidth monitor 306 and a control processor 302 are
`coupled to the network interface 304. The bandwidth moni
`tor 306 monitors bandwidth usage, for example, by counting
`the number of active calls being processed by the gatekeeper
`or by other known methods, e.g., monitoring bit rates. The
`control processor 302 is coupled to a memory 308 which is
`used to store bandwidth threshold information, for example
`in the form of look-up tables. The memory 308 may also be
`used to store information concerning the coding capabilities
`of each of the H.323 terminals. In the discussion below,
`“H.323 terminals' may be any H.323 endpoint such as an
`H.323 client or an H.323 connection in gateway 106. The
`control processor 302 Supervises coding request transmis
`sions, reception of the coding information, and determina
`tion of whether a coding adjustment is necessary. In specific
`embodiments, the BWAS 109 continuously monitors traffic
`on the local segment to determine whether traffic has crossed
`any thresholds, and BWAS 109 may communicate with
`other monitoring agents located on other segments to deter
`mine their bandwidth usage. Therefore, BWAS 109 can
`measure and track the network traffic to make the determi
`nations of the relevant thresholds being crossed, as dis
`cussed below. In other embodiments, the BWAS 109 also
`maintains a database of ongoing calls, their bandwidth
`usage, and their QoS (quality of service) requirements. In
`particular, the BWAS 109 is dynamically aware of whether
`ongoing calls are at or below their requested QoS. If one or
`more new calls require a higher QoS (i.e., bandwidth), then
`the BWAS 109 determines whether lower QoS calls may be
`reset to a still lower QoS codec, as will be discussed below.
`As an example, a flowchart illustrating operation of one
`embodiment of the invention is shown in FIG. 4. In a step
`402, the bandwidth allocation server (BWAS) 109 receives
`configuration information concerning the bandwidth thresh
`old X, which is the threshold that must be met before
`reducing codec speeds. The threshold X, typically measured
`in Megabits per second (Mbps), is stored in the memory 308.
`In a step 404, the BWAS 109 similarly receives configura
`tion information concerning the threshold Y, which is the
`threshold that must be met before restoring coding algorithm
`choices. The threshold Y is also stored in the memory 308.
`Of course, the order of receiving thresholds X and Y may be
`reversed.
`Next, in a step 406, the BWAS 109 sends a request
`message to the H.323 terminals, requesting that they return
`an indication of their available coding algorithms and hier
`archies. According to one embodiment, the request is in the
`form of an RAS message. The request message is received
`at the H.323 terminals in their coding resource units 111 (see
`FIG. 2). The terminals coding resource units 111 access this
`information, in a manner similar to that in which the
`terminals access coding information prior to beginning
`communication with another endpoint. The information is
`then transferred to the BWAS 109, either in the form of an
`RAS message or by using H.245 signaling.
`In a step 408, the coding algorithms/hierarchy informa
`tion is received by the BWAS 109 via the network interface
`304 and stored by the processor 302 in the memory 308.
`Next, in a step 410, the BWAS 109, in particular the
`bandwidth monitor 306, proceeds to monitor system band
`width usage. A signal representative of system bandwidth
`usage is provided to the processor 302, which accesses the
`memory 308 for the threshold value X. The processor
`compares the system bandwidth usage against the threshold
`
`40
`
`45
`
`6
`value X, and determines, in a step 412, whether system
`bandwidth usage has exceeded the threshold X. If not, the
`bandwidth monitor 306 continues to monitor bandwidth
`usage (return to step 410). However, if bandwidth usage is
`determined to exceed the threshold X, then in a step 414, the
`BWAS 109 sends a command to the H.323 terminals order
`ing them to adjust their coding hierarchies so that a lower
`speed codec is employed (the adjustment can be either
`stepping down to the next fastest allowed coding algorithm
`or alternatively stepping down directly to a selected algo
`rithm, e.g., the slowest coding algorithm). Again, this may
`take the form of an RAS message or H.245 signaling. Each
`H.323 terminals coding resource unit 111 then adjusts the
`hierarchy so that the higher-speed, more bandwidth-intense
`coding algorithms are not employed.
`The determination of how far to lower the bandwidth in
`step 414 may be based on a variety of factors, including
`load, traffic expectations, and the like. It being understood
`that any of a variety of methods may be employed, an
`exemplary method is described as follows. The BWAS 109
`calculates the remaining network bandwidth divided by the
`number of idle users to obtain a demand, D, which is the
`demand allocable to each of the users if it placed a call. The
`demand, D, is then modified by two pre-configured factors
`which are stored in the memory 308. The first factor is the
`percentage of voice load allowed (VLA), representative of
`for example, the percentage of bandwidth remaining after
`data usage is determined. Thus, if data calls are allowed 60%
`of network bandwidth, then VLA=40%. The second factor is
`the percentage of calls expected to be activated (EA). For
`example, if there are 100 terminals, and only half are
`expected to be active at any time, then EA=50%. A modified
`demand (MD) is then calculated according to the following
`formula: MD=(D*VLA)/EA. For example, if the threshold
`X were to be exceeded such that 1 Mbps network bandwidth
`is remaining, and 50 idle users were present, then D would
`be 1 Mbps/50 users=20 kilobits per second (kbps)/user. The
`modified demand (MD) would then be (20 kbps/user:40%)/
`50%–16 kbps/user.
`Based on the modified demand (MD), the BWAS 109
`determines that the first coding algorithm in each H.323
`terminals hierarchy that is lower than MD should be
`selected. In the example above, the first coding algorithm
`that is 16 kbps or lower should be selected. If the terminal
`does not have such a coding algorithm, the next lowest is to
`be employed (alternatively, the lowest coding algorithm is to
`be employed). Each H.323 terminal is provided with a
`message from BWAS 109 directing it to reset its coding
`algorithm to the appropriate coding algorithm.
`Returning to FIG. 4, the BWAS 109 continues in step 416
`to monitor system bandwidth usage. Again, the bandwidth
`monitor 306 provides a signal to the processor 302 indica
`tive of system bandwidth usage. In response, the processor
`302 accesses the memory 308 for the threshold Y. As
`discussed above, the threshold Y is the bandwidth usage
`threshold below which the default hierarchy of coding
`algorithms may be employed. The processor 302 then com
`pares the bandwidth usage provided from the bandwidth
`monitor 306 with the threshold Y, in a step 418. If usage has
`not fallen below the threshold Y, then the bandwidth monitor
`continues to monitor bandwidth usage (return to step 416).
`If, however, the bandwidth usage has fallen below the
`threshold Y, then in a step 420, the BWAS 109 sends a
`message to each of the H.323 terminals directing them to
`restore their predetermined choice of coding algorithms or,
`alternatively, a BWAS-specified coding algorithm (for
`example, the re-adjustment can be stepping up to the next
`
`10
`
`15
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`IPR2018-00884
`Apple Inc. EX1005 Page 13
`
`

`

`US 7,023,839 B1
`
`10
`
`15
`
`7
`fastest coding algorithm or alternatively stepping up directly
`to a selected algorithm, e.g., the fastest coding algorithm).
`Each terminals coding resource unit 111 then re-adjusts the
`coding algorithm hierarchy accordingly.
`An alternative embodiment of a method for adjusting
`bandwidth according to the present invention is described
`with reference to FIG. 5. In particular, FIG. 5 is a flowchart
`illustrating a method in which coding algorithm information
`is not required by the BWAS 109. Instead, the BWAS 109
`simply monitors bandwidth usage and orders each H.323
`terminal to adjust to slower coding algorithms according to
`a fixed, predetermined schedule along the algorithm hierar
`chy.
`In a step 502, the bandwidth allocation server (BWAS)
`109 receives configuration information concerning the band
`width threshold X, which is the threshold that must be met
`before reducing codec speeds. The threshold X, typically
`measured in Mbps, is stored in the memory 308. In a step
`504, the BWAS 109 similarly receives configuration infor
`mation concerning the threshold Y, which is the threshold
`that must be met before restoring coding algorithm choices.
`The threshold Y is also stored in the memory 308. Of course,
`the order of receiving thresholds X and Y is not important.
`Next, in a step 506, the BWAS 109, more particularly the
`bandwidth monitor 306, monitors the system bandwidth
`usage. Again, a signal representative of system bandwidth
`usage is provided to the control processor 302, which
`accesses the memory 308 for the threshold value X. The
`processor compares the system bandwidth usage against the
`threshold value X, and determines in a step 508 whether
`system bandwidth usage has exceeded the threshold X. If
`not, the bandwidth monitor 306 continues to monitor band
`width usage (return to step 506). However, if bandwidth
`usage is determined to exceed the threshold X, then in a step
`510 the BWAS 109 sends a command to the H.323 terminals
`ordering them to adjust their coding hierarchies (the adjust
`ment being either stepping down to the next fastest coding
`algorithm or alternatively stepping down directly to a
`selected algorithm, e.g., their slowest coding algorithms).
`Each H.323 terminals coding resource unit 111 then adjusts
`the hierarchy so that the higher-speed, more bandwidth
`intense coding algorithms are not employed.
`According to this embodiment, the selection in step 510
`of the slower coding algorithm is done on a predetermined
`basis. For example, the BWAS 109 may send an RAS
`45
`command or H.245 signaling to the H.323 terminals to step
`down to the next fastest coding algorithm. Alternatively, the
`BWAS 109 may command the H.323 terminals to step down
`directly to their slowest coding algorithms. The coding
`resource unit 111 of each of the H.323 terminals receives the
`message and adjusts its terminals coding hierarchy.
`Once the H.323 terminals have re-set their default choices
`for coding algorithms, the bandwidth monitor 306 continues
`to monitor bandwidth usage, in a step 512. The bandwidth
`monitor 306 provides a signal indicative of bandwidth usage
`to the processor 302. The processor 302, in turn, accesses the
`memory 308 for the threshold value Y. The processor then
`performs a compare operation

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket