throbber
United States Patent [19]
`Sreenan
`
`[54] RESOURCE MANAGEMENT SYSTEM FOR A
`BROADBAND MULTIPOINT BRIDGE
`
`[75] Inventor: Cormac J. Sreenan, Green Village.
`NJ.
`
`[73] Assignee: Lucent Technologies Inc., Murray Hill.
`NJ.
`
`[21] Appl. No.: 851,056
`[22] Filed:
`May 5, 1997
`
`Related US. Application Data
`
`[63] Continuation of Ser. No. 560,446, Nov. 17, 1995, aban
`cloned.
`
`[51] Int. (31.6 ................................................. .. G06F 15/176
`[52] US. Cl. ................................ .. 395/200.56; 395/200.7;
`395/200.59; 370/17; 370/54; 370/8513
`[58] Field of Search .......................... .. 395/200.56, 200.7,
`395/20059; 370/8513, 17, 54
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,905,282 2/1990 McGlynn et a1. ...................... .. 380/48
`5,086,426 2/1992 Tsukakoshi et a1. .
`370/8513
`5,131,016
`7/1992 Broughton et a1. ..
`.... .. 375/240
`5,309,437
`5/1994 Perlman et a1.
`370/8513
`5,341,477
`8/1994 Pitkins et al.
`395/20009
`5,426,637
`6/1995 Derby et a1, .
`370/8513
`5,461,611 10/1995 Drake, Jr. et al.
`370/54
`
`5,485,455
`
`1/1996 Dobbins et al. . . . . .
`
`. . . . . . .. 370/60
`
`5,509,123
`5,526,344
`5,530,695
`
`395120015
`4/1996 Dobbins et a1.
`370/16
`6/1996 Diaz et a1. ..... ..
`6/1996 Dighe et a1. ............................ .. 370/17
`
`OTHER PUBLICATIONS
`
`“Video conferencing, ?le storage, and management in mul
`timedia computer systems”, Rangan, P.V., Computer Net
`works and ISDN Systems 25, (1993) pp. 901-919.
`
`USO05742772A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,742,772
`Apr. 21, 1998
`
`“Panel-Discussion Multimedia Conferencing over ATM
`Network”. Wakahara, T., and Unemoto, K., IEEE Com. Soc.
`Int. Conf. 0n Multimedia Communications, May 1994.
`“Multipoint Multimedia Conferencing”, Clark, W.J.. IEEE
`Communications Magazine, May 1992, pp. 44-50.
`“Issues of Reserving Resources in Advance”, Wolf, L.C., et
`211.. 5th Int. Workshop on Network and 0p. Sys. Support For
`Digital Audio & Video, Apr. 1995.
`“A Standards-Based Multimedia Conferencing Bridge”,
`Horn, D.N., et al., AT&T Technical Journal, Jan/Feb. 1993.
`pp. 41-49.
`“A Versatile Audio Bridge for Multimedia Conferencing”,
`Horn. D.N. and Shanna, A., Proc. of IEEE ICC ’94, pp.
`1754-1762.
`“Montage: Continuous Presence Teleconferencing Utilizing
`Compressed Domain Video Bridging”, Gaglianello, RD.
`and Cash, G.L., Proc. of IEEE [CC ’95, pp. 573-581.
`
`Primary Examiner-Robert B. Harrell
`Assistant Examiner—Saleh Najjar
`
`[57]
`
`ABSTRACT
`
`An electronic bridge resource management system, having a
`programmatically-implemented processing system. A bridge
`service interfaces with a plurality of clients and receives a
`quality of service (QOS) speci?cation from each of the
`clients. A resource manager receives a QOS speci?cation
`from the bridge service, distributes at least one QOS con
`straint associated with the QOS speci?cation across ?ow
`processing modules of a channel, determines resource
`requirements for each of the flow processing modules, and
`then determines whether bridge resources can be allocated to
`meet the QOS speci?cation. The clients may alter their QOS
`speci?cations and retry if the resource manager denies them
`admission because of a lack of available bridge resources.
`
`20 Claims, 5 Drawing Sheets
`
`
`
`24\ GROUP, CLIENT AND CHANNEL: comm AND ACCESS ll
`
`CONTROL y
`
`l
`
`FEEDBACK
`
`25\ SYNCHRONIZATION, COMBINATION, TRANSFORMATION
`
`,gg‘g‘gli],
`
`28\B1s[m SIGNALLING, AAL/ATM PROCESSING, DATA TRANSMlT/RECEIVE Egg‘
`
`1
`
`DATA m
`
`om our
`
`CISCO Exhibit 1007, pg. 1
`
`

`
`US. Patent
`
`Apr. 21, 1998
`
`Sheet 1 0f 5
`
`5,742,772
`
`FIG. 1
`
`MULTIMEDIA [12
`TERMINAL
`
`MULTIMEDIA [12
`TERMINAL
`
`MULTIMEDIA f1 2
`TERMINAL
`
`MULTIMEDIA _/—t2
`TERMINAL
`
`FIG. 2
`
`vIDED fIB
`PROCESSING
`IL
`“
`
`14
`
`BROADBAND ATM NETWORK
`
`u
`U
`AUDIo [20
`PROCESSING
`
`m
`/
`
`PROCESSING
`\
`
`22
`
`SERVICE
`HOST
`
`16
`
`CISCO Exhibit 1007, pg. 2
`
`

`
`US. Patent
`
`Apr. 21, ‘1998
`
`Sheet 2 of 5
`
`5,742,772
`
`FIG. 3
`
`24% GROUP, CLIENT AND CHANNEL: CONTROL AND ACCESS
`CONTROL T
`FEEDBACK
`
`II
`
`SBERéBECEE
`
`26\-
`
`SYNCHRONIZATION. COMBINATION, TRANSFORMATION
`
`PFESéENSNSEhG
`
`II
`
`28x BISDN SIGNALLING, AAL/ATN PROCESSING, DATA TRANSMIT/ RECEIVE
`
`NlfgévgsK
`
`DATA ' IN
`
`DATA OUT
`
`CISCO Exhibit 1007, pg. 3
`
`

`
`Apr. 21, 1998
`
`Sheet 3 of 5
`
`5,742,772
`
`FIG. 4
`
`CLIENT A
`
`AUDIO
`
`7
`
`CLIENT B
`
`AUDIO
`
`FIG. 5
`
`I
`
`44
`
`1
`
`2 4
`
`6
`
`1 AND 2
`
`1
`
`1
`
`2
`
`CONVERT
`
`SYNCHRONIZE
`
`CISCO Exhibit 1007, pg. 4
`
`

`
`US. Patent
`
`Apr. 21, 1998
`
`Sheet 4 of 5
`
`5,742,772
`
`FIG. 6
`
`@60
`70@ RESERVATION MANAGER
`66
`
`64
`
`SYNCHRONIZATION
`CONTROLLER
`
`COMBINATION
`CONTROLLER
`
`62
`
`TRANSFORMATION
`CONTROLLER
`
`72
`
`68
`
`'
`
`/
`RESOURCE SCHEDULERS
`
`MEMORY
`/
`52
`
`'
`
`OSPs
`l
`54
`
`CPUs
`K
`56
`
`NETWORKS
`I
`58
`
`CISCO Exhibit 1007, pg. 5
`
`

`
`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 5 of 5
`
`5,742,772
`
`FIG. 7
`
`BRIDGE
`SERVICE
`
`OOS
`MANAGER
`
`RESERVATION COMBINATION
`CONTROLLER
`MANAGER
`
`~ (5)
`‘'''‘"_-—-> I5)
`
`(8)
`
`(7)
`
`~
`
`(9) A
`
`_
`
`-
`
`T
`
`-
`
`CLIENTA CLIENTB CLIENTC
`(1)
`
`CREATE
`CLIENT
`
`(2)
`
`CREATE
`GROUP
`
`(3)
`
`CREATE
`CHANNEL
`
`(4)
`JOIN
`CHANNEL
`
`TO
`CREATE (
`)
`CLIENT
`JOIN
`GROUP
`
`CHAONNEL ‘
`
`(11)
`
`CREATE
`CLIENT _
`
`JOIN
`GROUP ‘
`JOIN
`CHANNEL
`
`CISCO Exhibit 1007, pg. 6
`
`

`
`5,742,772
`
`1
`RESOURCE MANAGEMENT SYSTEM FOR A
`BROADBAND MULTIPOINT BRIDGE
`
`This is a continuation of application Ser. No. 08/ 560,446,
`?led on Nov. 17. 1995, now abandoned.
`
`FIELD OF THE INVENTION
`The present invention relates to a system for efficiently
`allocating broadband bridge resources. In particular, the
`system allows client applications to negotiate quality of
`service contracts with a bridge resource manager.
`
`10
`
`2
`SUMMARY OF THE INVENTION
`
`A bridge provides a set of services to enable efficient
`operation of multipoint applications. In a broadband context,
`the task of designing a multipoint bridge is complicated by
`several factors, including diiferent media types, asynchro
`nous (packet) communications, and heterogeneous termi
`nals. The present invention is directed to resource manage
`ment within a broadband multipoint bridge.
`According to one aspect of the invention. an electronic
`bridge resource management system comprises a
`programmatically-implemented processing system having
`bridge service and resource manager software. The bridge
`service interfaces with a plurality of clients'and receives a
`quality of service (QOS) speci?cation from each of the
`clients. The resource manager receives the QOS speci?ca
`tion from the bridge service and distributes at least one QOS
`constraint associated with said QOS speci?cation across the
`?ow processing modules of a channel. The resource man
`ager then determines the resource requirements for each of
`the ?ow processing modules, and determines whether bridge
`resources can be allocated to meet the QOS speci?cation. As
`part of the QOS contract negotiation process, the clients may
`alter their QOS speci?cations and retry if the resource
`manager denies them admission because of a lack of avail
`able resources.
`According to a second aspect of the invention, a method
`is provided for implementing a bridge degradation policy
`where a client passes service degradation policy information
`to the bridge. The degradation policy information relates to
`a prioritization amongst either clients. channels. or groups.
`The bridge then stores data corresponding to the degradation
`policy information in the appropriate client, channel or
`group data structure. The bridge implements the speci?ed
`degradation policy should a bridge resource overload occur.
`
`DESCRIPTION OF THE DRAWINGS
`
`The invention will be described in greater detail below
`with reference to the attached drawings, of which:
`FIG. 1 is a diagram showing a typical bridge system
`con?guration.
`FIG. 2 is a diagram showing an example of a distributed
`bridge.
`FIG. 3 is a functional block diagram illustrating the
`overall bridge architecture.
`FIG. 4 is a diagram illustrating the basic FPMs and ?ows
`for a single (audio) channel, two client conference.
`FIG. 5 is a diagram showing several examples of multi
`port FPMs.
`FIG. 6 is a diagram illustrating the components of the
`bridge software architecture for QOS management.
`FIG. 7 is a chart illustrating interactions between clients
`and bridge for forming a three client audio conference.
`
`DESCRIPTION OF THE PREFERRED
`EMBODINIENT
`In the following description of the preferred embodiment,
`a “group” refers to a collection of clients that participate in
`a multi-user application. For each group that the bridge is
`asked to create. it maintains a data structure.
`A client is a software program that runs at a multimedia
`terminal and interacts with the bridge service to allow a user
`to take part in a group. In order to participate in a particular
`multi-user application. a user is expected to select and run
`the corresponding client program. For example. a user could
`
`BACKGROUND OF THE INVENTION
`As the deployment of high-speed networking accelerates
`to reach homes and o?ices. the popularity of multi-user
`applications is expected to increase dramatically. Examples
`of these applications include conferencing. game playing.
`collaborative working and distance learning. Multi-user
`applications usually involve diiferent information types,
`such as control data. video, images and audio, which are
`exchanged between the various user terminals, i.e.. they are
`multipoint. Designing a system to support these multi-media
`multipoint applications presents two key challenges: a scal
`able technique for managing potentially complex
`interactions. and the use of resources in an e?icient and
`economical fashion. In the Narrowband-ISDN context, these
`issues are addressed for multi-user conference calls by using
`a bridge. also known as a multipoint control unit (MCU). A
`bridge is a logically centralized service that performs data
`combination and conference management. e.g., adding!
`dropping users. It accepts audio from each of the users,
`mixes the signals and transmits the resulting signal in return,
`thereby enabling multipoint communication over point-to
`point links.
`In a packet based network like Broadband-ISDN, it is of
`course possible to provide these bridge functions in a
`distributed manner at sophisticated terminals, e.g., personal
`computers (PCs) and workstations. However, there are
`cogent arguments for the use of a bridge in this scenario also.
`Simple terminals will continue to be attached to the network
`and may not be capable of supporting these functions.
`Directly attached ATM devices. as well as telephones, fall in
`this category. By providing a logically centralized focus of
`control. many of the management issues are simpli?ed,
`notably with respect to maintaining accurate state informa
`tion and providing secure access. Regarding the use of
`bandwidth, a bridge-based solution can be highly e?icient,
`avoiding any unnecessary data transmission. For example,
`one doesn’t need to receive individual (bandwidth intensive)
`audio and video channels from each user.
`Designing a broadband bridge is considerably more com
`plex than for the narrowband network and raises several
`issues which must be addressed in order to make this
`approach viable. The focus of the present invention is on
`how to efficiently manage bridge resources, an issue which
`is motivated by the following four considerations. Firstly,
`the range of applications is much wider, demanding a greater
`?exibility in terms of bridge functions and the resources they
`demand. Secondly, the capabilities of terminals will vary. as
`will the types of compression and data channel processing
`that they support. Thirdly. use of a packet network in
`combination with variable bit rate tra?ic such as compressed
`video. introduces issues of bridge resource management
`akin to those for the network itself. Fourthly. operation of the
`bridge can have serious consequences for the end to end
`Quality of Service (QOS) received by audio and video
`channels. notably in regard to delay and packet loss.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`CISCO Exhibit 1007, pg. 7
`
`

`
`5 .742,772
`
`10
`
`20
`
`25
`
`35
`
`3
`participate in a multi-player game and a multi-user confer
`ence by running both the game and conference clients.
`Client information is recorded in a bridge-maintained data
`structure.
`Associated with a group are one or more channels. where
`each channel allows communication of a speci?c informa
`tion type between the clients in the group. Examples of
`information types are audio. video and Whiteboard data. A
`channel is represented by a bridge-maintained data structure
`and realized using a set of dedicated ?ow processing mod
`ules (FPM s) and connecting ?ows (described in detail later).
`For an audio conference with three clients. for example. the
`channel consists of a pair of flows for I/O to each client and
`an audio mixing FPM at the bridge.
`Each user participates in a group by interacting with a
`bridge using his/her terminal, typically via a graphical user
`interface (GUI). Terminals may take many forms. including
`PCs and set-top boxes, and are equipped with broadband
`network access and some I/O devices. such as a display,
`speaker. microphone and/or a camera. Application software.
`running on the terminal or its agent (e.g.. a PC controlling
`access to a telephone) uses a signalling protocol such as
`remote procedure call (RPC) to interact with the bridge
`service.
`The bridge service is software running on the bridge to
`implement the application programmer’s interface (API) to
`the services provided by the bridge. A bridge is designed to
`allow simultaneous access by multiple groups. The broad
`band network is used to transport control information (i.e..
`signalling) and data tra?ic over virtual circuits between the
`bridge and terminals. Data tra?ic includes continuous media
`(CM) such as audio and video. which may be used depend
`ing on particular application requirements, user preferences
`and terminal capabilities.
`FIG. 1 shows a typical system con?guration where a
`bridge 10 and various multimedia terminals 12 are intercon
`nected by a broadband ATM network 14. A bridge is a
`computer system designed to handle large internal and
`external data bandwidth. such as available on modern class
`server machines (e.g., Silicon Graphics Inc. Challenge
`servers). A network service provider may implement a
`bridge server as a switch adjunct in an intelligent network.
`The bridge 10 may be physically realized using a collection
`of networked hosts. offering perhaps, media-speci?c facili
`ties such as video processing. Such a distributed bridge
`arrangement is illustrated in FIG. 2 Where a bridge service
`host 16. a video processing host 18. an audio processing host
`20. and a data processing host 22 are interconnected by the
`broadband network 14 itself. Moreover. the concepts of the
`present invention could also be supported by multiple coop
`erating bridges.
`The bridge service API allows user applications (clients)
`to access the facilities of a bridge 10. When a request is
`received by the bridge service it is processed and a reply is
`returned to the client. indicating success or failure. As part
`of processing each request the bridge service may initialize
`or modify state information which it maintains to record
`information about groups and clients. The interface to the
`bridge 10 is de?ned by the API and associated state infor
`mation. The interface might also support multi-level groups
`(e.g.. to allow sub-conferences).
`As already de?ned. a group refers to a collection of clients
`that participate in a multi-user application involving a bridge
`10. For each group..the bridge service maintains a data
`structure as part of its state information. It also maintains
`per-client information. with a distinct client data structure
`
`4
`for each group in which a user participates. These data
`structures maintained by the bridge. and their constituent
`?elds, are as follows:
`Group Data Structure
`1. group identi?er
`2. list of current clients (i.e.. the participants)
`3. group owner (the creator by default)
`4. current status (e.g.. starting, ongoing. paused. future
`reservation)
`5. schedule (start time/date. duration)
`6. floor control policy (e.g., open. selected client
`coordinates. bridge coordinates requests sequentially)
`7. access control policy (e.g.. open. restricted client list)
`8. setup mode (active-bridge initiated. passive)
`9. billing (e.g.. owner. equal client shares. usage-based)
`10. media channels (number and type. e.g., video. audio.
`whiteboard)
`Client Data Structure
`1. client identi?er
`. user details (name. address)
`. client address
`. authentication key (cryptographic key)
`. current group (can be null)
`. current status (active/inactive)
`. event reporting (on/off. event mask)
`. acceptable data formats (compression. coding)
`. available media devices (types. capabilities)
`10. list of current channels
`11. media channel mask
`12. presentation options (e.g.. window quadrants. audio
`based selection)
`Several pararneterized calls are provided as part of the
`API. including those to: (1) create and destroy a group; (2)
`create and destroy a client; (3) allow a client to join or leave
`a group; and (4) set or get attributes of a group or client.
`As illustrated in FIG. 3, the bridge architecture comprises
`three basic elements: the bridge service 24. channel pro
`cessing 26, and network access 28. The bridge service 24
`implements the API and grants bridge access to clients,
`groups and channels. Some of the channels being used in a
`group may require processing by the bridge 10 (the channel
`processing function 26 in the present invention is performed
`by the FPMs). In particular. CM may be operated on to
`perform synchronization. combination and/or transforma
`tion. Synchronization is essential so that temporal relation
`ships between CM can be maintained. Combination refers to
`functions which can be applied to a set of CM. e.g..
`individual gain controls for audio. and image scaling for
`video. The need for transformation arises due to the use of
`heterogeneous data formats and device capabilities. For
`example, one multimedia terminal might have an MPEG
`compression board while the other participant has only
`JPEG support. The bridge must also access the broadband
`network 14 in order to receive and transmit control and data
`(including CM). and execute the appropriate communica
`tions protocols. For example. the network access function 28
`of the bridge supports BISDN signalling. AAL/ATM
`processing. and data transmit/receive.
`An important requirement in operating a bridge 10 is
`performance. In other words. how to give clients access to
`a group with a level of performance that is acceptable and
`predictable. This in turn demands an appropriately designed
`resource management system. In the narrowband case this is
`
`40
`
`45
`
`50
`
`55
`
`65
`
`CISCO Exhibit 1007, pg. 8
`
`

`
`5,742,772
`
`15
`
`5
`drastically simpli?ed by the fact that the maximum band
`width is low, even for CM, and the current usage easily
`determined by the number of active physical network con
`nections. In addition, the set of processing functions is
`usually quite limited and statically de?ned, allowing imple
`mentation using a bank of DSPs. For a broadband bridge,
`however, the set of processing functions will be larger and
`will need to be capable of being dynamically updated, e.g.,
`to accommodate a new video compression format. This
`places an increased emphasis on software implementations.
`Furthermore, the maximum bandwidth will be signi?cant
`and, more importantly, may vary even for a given CM
`channel, making it more di?icult to determine current usage
`requirements. The present invention therefore provides an
`efficient technique for managing access to bridge resources.
`In essence, a bridge 10 is a server in a large distributed
`computing system. The conventional way of dealing with
`resource management in such systems is to rely on an
`operating system to control resource access by a collection
`of user-level entities, often called processes or domains. This
`allows the processes to operate independently but share a
`common platform. For a broadband bridge, this could take
`the form of a bridge service that instantiates a process to deal
`with each new group. That process'would then deal with its
`client’s requests, and perform channel processing and dis
`tribution. Each process would make requests to the operat
`ing system in order to access resources, such as CPUs,
`DSPs, memory and network I/O. While this is a reasonable
`model, it makes it di?icult to allocate resources in a manner
`which is both e?icient and can ensure predictable schedul
`ing. For a broadband bridge, a ?ner degree of resource
`management is desirable. This is important in order to
`support the Quality of Service (QOS) requirements of CM
`channels, which typically have stated delay, jitter and loss
`tolerances.
`In general terms, a QOS contract is an agreement with a
`resource provider for use of that resource to satisfy a speci?c
`performance requirement. QOS de?nes the expected perfor
`mance for data transport on a ?ow. It is speci?ed as a set of
`parameters describing the type of QOS contract, traffic and
`performance. Broadband networks are designed to support
`QOS contracts on an end to end basis. In the system of the
`present invention, these contracts are extended to encompass
`bridge operation.
`-
`An architecture for QOS has a set of basic functions:
`speci?cation, negotiation, translation, admission control,
`policing and scheduling. User speci?cations describe tra?ic
`characteristics (e. g., mean/peak bandwidth, burstiness), per
`formance requirements (e.g., delay, jitter, losses), and type
`of QOS contract (e.g., guaranteed, statistical). In order to try
`to ensure that these QOS requirements can be attained. a
`user must negotiate with a QOS manager. This entails
`passing the speci?cation information and waiting to see if
`access will be granted or denied The speci?cation is trans
`lated by the QOS manager to a set of resource demands, e.g.,
`amount of memory and CPU cycles, and used in combina
`tion with knowledge of already existing applications to
`perform an admission control test. The result determines
`whether a QOS contract can be established for use of the
`system as requested. If a contract is granted, a policing
`mechanism aims to ensure that the stated source tra?ic limits
`are upheld. while the scheduling mechanism aims to try and
`meet performance requirements.
`In order to allow QOS-driven resource management for a
`broadband bridge 10, the system of the present invention
`allows clients to establish contracts for bridge access in a
`similar manner as they do for network access. Furthermore.
`
`rather than simply allocating resources based on number of
`groups, clients or channels, higher e?iciency is achieved by
`associating resources with channel processing activities.
`Such resource allocation is enabled by introducing the
`concepts of “?ows” and “?ow processing modules”.
`Recall that a group may involve several channels, some of
`which may carry CM. Each client will contribute to, and
`receive, some or all of the channels in its group. Thus, for a
`given channel, the bridge 10 will be receiving data from
`clients, operating on it. and returning the resulting data. An
`example is a group which has a single channel over which
`each client transmits its audio and receives the combined
`signal in return.
`A “?ow” is the connection for carrying data from/to a
`client and the connection for carrying data internally
`between the channel processing stages 26 of the bridge 10.
`Each channel comprises a set of ?ows. A ?ow is always
`associated with a particular channel within a group. but not
`necessarily a single client of that group. Essentially. a ?ow
`is a unidirectional pipe for data transport between ports that
`is implemented using a network virtual circuit (VC) or
`internally to the bridge 10, by using bridge memory buffers.
`The various functions 26 that can be applied to a channel
`are realized using ?ow processing modules (FPMs), which
`could be implemented as functions in a programming lan
`guage library. Each one of these implement a single well
`de?ned function and execute at run time as independently
`schedulable threads. A thread is a software program that
`exists to execute an FPM instance or process a flow within
`a client. Thus, once a given FPM is selected, an instance of
`that FPM is created and assigned to a thread for execution.
`Each FPM is designed to receive data for a particular
`channel on one or more input ?ows, process it to perform a
`self-contained function, and then transmit the resulting data
`on its output ?ow(s). A simple example of a FPM is one
`which is responsible for receiving ?ow data from an incom
`ing network VC. More sophisticated examples include
`FPMs for combining audio and performing video format
`conversions. As part of its de?nition, a FPM may accept
`parameters which tailor its behavior. For example, a JPEG
`video compression FPM would accept a quantization factor.
`Each PPM performs software initialization and core pro
`cessing. Once an instance of an FPM is created, it performs
`initialization which involves interpreting control
`parameters, setting up data structures, etc. The FPM instance
`then enters a loop where its core processing takes place. In
`particular, this is a loop in which the FPM reads data from
`its input ?ow(s), processes it and writes the results to its
`output ?ow(s). Core processing may be implemented in
`diiferent ways independent of the FPM’s functional de?ni
`tion. For example, an audio combination FPM may be
`executed on a CPU or using a DSP. Traditionally DSPs have
`been used to support audio and image manipulation, but with
`faster processor speeds and suitably designed compression
`techniques it is possible to implement many such features in
`software (e.g., a video mixer) thereby facilitating the incre
`mental addition of new bridge functions.
`-
`Software allocates bridge resources to each FPM instance
`admitted for execution. Such allocations are an important
`aspect of the present system. It is by controlling how each
`thread accesses the bridge resources that QOS contracts can
`be honored.
`FIG. 4 shows the use of FPMs to implement a two client
`conference with just a single (audio) channel. where client
`A 30 and client B 32 communicate via the bridge 10. Two
`FPMs 34. 36 are used for receiving audio information and
`two FPMs 38. 40 are used for transmitting audio informa
`
`25
`
`35
`
`40
`
`45
`
`55
`
`65
`
`CISCO Exhibit 1007, pg. 9
`
`

`
`5 ,742,772
`
`7
`tion. Flows 42 carry data to/from the bridge and interconnect
`the FPMs for a given channel. Data is processed in a
`pipeline, arriving ?'om the network and traveling on ?ows
`through a sequence of FPMs.
`FPMs are allowed to have more than one input and output
`port. A port is an end-point for communication over a ?ow.
`It is associated with a particular thread, running on either the
`bridge or a multimedia terminal. FIG. 5 shows four
`examples of multiport FPMs: a Convert FPM 44 having a
`single input and output port; a Synchronize FPM 46 having
`two input ports and two output ports; a combine FPM 48
`having two input ports and a single output port; and a select
`FPM 50 having two input ports and a single output port.
`Each FPM also has control and feedback ports for interact
`ing with the bridge service (not shown).
`The FPM/?ow model requires extensions to the bridge
`service API and state information as previously presented.
`Data structures for a channel, ?ow and FPM/Thread are as
`follows:
`Channel Data Structure
`1. channel identi?er
`2. channel type (e.g., audio. video, data, animation, etc.)
`3. owner (e.g.. group identi?er)
`4. list of ?ows (flow identi?ers)
`5. list of FPMs (module identi?ers)
`Flow Data Structure
`1. ?ow identi?er
`. owner (default is group)
`. source (hostlthread/port)
`. sink (host/thread/port)
`. network VC information (e.g., AFM address, unicast or
`multicast VC)
`. QOS (contract type, tra?ic and performance)
`’ FPM/Thread Data Structure
`
`15
`
`20
`
`25
`
`30
`
`. module identi?er
`. owner (default is group)
`. control/event ports
`. list of input ports
`. list of output ports
`. operating parameters
`. resource handles (a “ticket” allowing access to allo
`cated bridge resources)
`Access to the above items is achieved by extending the
`API with the following parameterized calls: (1) create and
`destroy a channel; (2) join and leave a channel; and (3) set
`and get channel attributes.
`The FPM/?ow model aims to simplify the process of
`translating a client’s requirements for service quality and
`bridge functions in terms of actual resource needs. As
`mentioned. resources are allocated so that a thread can
`execute an instance of an FPM. In the bridge, these resources
`(represented in FIG. 6) are memory 52, DSPs 54. CPUs 56,
`internal and external bus/network access 58. Other resources
`used to transport or process data may also be allocated. e.g.,
`switches.
`'
`FIG. 6 shows the components of the software architecture
`needed for resource management within a bridge. Access to
`the bridge is by way of the Bridge Service 60. which passes
`requests on to the resource management system. ‘There are
`three levels of resource management. the lowest being the
`individual resource schedulers 62. which allow access to
`resources by those FPMs admitted for execution. A resource
`scheduler selects from amongst waiting FPMs according to
`a scheduling policy. In order to allow performance con
`
`8
`straints to be satis?ed, a scheduling algorithm of the type
`used in fast packet switches is employed, i.e.. support for
`priority and time deadlines. At the middle level are three
`controllers, de?ned for synchronization 64. combination 66.
`and transformation 68 FPMs, one for each of the three types
`of processing that the bridge implements. These keep track
`of the available FPMs and can estimate their resource
`requirements for a given parameter and tra?ic set. At the top
`level is the QOS Manager 70. This can be viewed as a
`higher-level scheduler which performs admission control
`and coordinates resource access. A resource handle is an
`identi?er issued by the QOS Manager 70 for use by an FPM
`to gain access to a particular resource. This is achieved by
`presenting the handle to the appropriate resource scheduler
`62. At the same level as the QOS Manager 70 is the
`Reservation Manager 72, which allows longer term man
`agement by handling advance reservation of bridge
`resources.
`In order to explain the detailed interactions of the three
`levels of resource management. an example will be used. A
`three client audio-only conference and the various interac
`tions necessary to realize it is shown in FIG. 7. The owner
`makes arequest (1) to the Bridge Service 60 to create a client
`which we call Client A. and subsequently to create a group
`(2) that will have a total of three clients, a single audio
`channel, and which is to start immediately. The bridge
`service 60 allocates and initializes client and group data
`structures. returning an indication of success to Client A.
`Client A then requests (3) that the channel be created. and
`that a FPM for audio combination should be associated with
`it. If successful, the channel data structure and a FPM data
`structure (for the audio combination FPM) are created by the
`bridge service. Client A then requests (4) to join that
`channel, supplying the QOS parameters (i.e., the QOS
`speci?cation) it expects for the ?ow to be received from the
`bridge.
`It is at this point that the Bridge Service 60 calls (5) on the
`QOS Manager 70 to decide whether the client should be
`admitted for execution. Admission control involves three
`basic steps: constraint distribution. resource translation, and
`admission decision. Constraint distribution involves a soft
`ware algorithm for decomposing the overall QOS con
`straints (as given in the speci?cation) in terms of operating
`constraints for the individual threads which are executing
`FPMs for that channel. Various approaches can be used for
`implementing constraint distribution. One approach is to
`simply distribute the constraints equally. A more sophisti
`cated approach corresponds to a two phase protocol used for
`virtual circuit establishment in some wide area ATM net
`works. In the ?rst phase the network QOS speci?cation is
`passed sequentially through each switch between the source
`and sink aiming to satisfy the overall constr

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