`Mirashrafi et al.
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005574934A
`(111 Patent Number:
`[451 Date of Patent:
`
`5,574,934
`Nov. 12, 1996
`
`[54] PREEMPTIVE PRIORITY-BASED
`TRANSMISSION OF SIGNALS USING
`VIRTUAL CHANNELS
`
`(75]
`
`Inventors: Mojtaba Mirasbrafi; Benjamin Vrvilo,
`both of Portland; Peter Tung,
`Beaverton; Krishnan Rajamani,
`Portland, all or Oreg.
`
`[73] Assignee: Intel Corporation, Santa Clara, Calif.
`
`(21] Appl. No.: 340,173
`
`[22) Filed:
`
`Nov. 15, 1994
`
`Related U.S. Application Data
`
`[63)
`
`(5 I)
`(52)
`
`(58)
`
`Continuation-in-part of Ser. No. 157,694, Nov. 24, 1993.
`Int. CJ.6
`............................... G06F 9/46; G06F 13/36
`U.S. Cl .................... 3951800; 364/231.4; 364/241.2;
`364/DIG. 1; 364/DIG. 2; 3951788; 395/561;
`340/825.5; 340/825.16; 370/85.4; 379/94;
`348/12; 348/15
`Field of Search ..................................... 395/800, I 25,
`395/575, 152, 154, 550, 725, 775, 500,
`250, 275, 200, 325, 118, 153, 162, 66,
`650, 879, 12, 68; 364/DIG. 1, DIG. 2,
`514 C, 514 A; 348115, 16, 384, 423, 18,
`17, 388, 385, 14, 12, 400; 370/62, 58.2,
`60, 124, 85.4; 340/825.51, 825.03, 825.5,
`825.16; 381152; 379/94, 95, 96, 206
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4,404,557
`4,475,193
`4,653,100
`4,888,795
`4,998,243
`5,014,267
`5,050,161
`5,056,136
`5,072,442
`
`9/1983 Grow ................................. 340/825.05
`10/1984 Brown ..................................... 370/124
`3/1987 Barnell et al . ............................ 381152
`1211989 Ando et al ................................ 348/18
`3/1991 Kao ........................................... 370/62
`5/1991 Tompkins et al . ........................ 390/62
`9/1991 Golestani .................................. 370/60
`10/1991 Smith ........................................ 380/10
`1211991 Todd ......................................... 370/62
`
`5,073,926 1211991 Suzuki el al . ............................. 348117
`5,132,966 7/1992 Hayano et al ............................ 370n9
`5,157,491 10/1992 Kassatly .................................... 348/15
`7 / 1993 Cucchi ct al. .................... ...... 348/423
`5,227,876
`7/1993 Dangi el al . .............................. 348/17
`5,231.492
`5/1994 Champa .................................... 348/16
`5,315,633
`6/1994 Hancock et al . ........................ 395/800
`5,319,793
`711994 Andrews et al .
`5,333,133
`...................... 370/58.2
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`0523629
`
`7/1992 European Pat. Off . .
`
`OTHER PUBLICATIONS
`
`Lane, John, "The Integrated Services Digital Network"
`(ISDN), 1987, pp. 7-12.
`Eleftheriadis et al., "Algorithms and Performance Evalua(cid:173)
`tion of the Xpbone Multimedia Communication System."
`ACM MultiJnedia 93-Proceedings First ACM International
`Conference on Multimedia, 1 Aug. 1993, Anaheim (US).
`
`(List continued on next page.)
`
`Primary Examiner- Daniel Pan
`Attorney, Agent, or Finn-Steve Mendelsohn; William H.
`Murray
`
`[57)
`
`ABSTRACT
`
`A computer system for transmitting two or more types of
`signals. Each type of signal is assigned a priority level.
`Signals of a particular type are transmitted as they become
`ready for transmission, unless signals of a different type
`having a greater priority become ready for transmission. In
`that case, the transmission of the low-priority signals is
`intenupted to allow transmission of the high-priority sig(cid:173)
`nals. The transmission of the low-priority signals is resumed
`after the transmission of the high-priority signals is com(cid:173)
`plete. In a preferred embodiment directed to conferencing
`systems, audio signals are assigned higher priorities than
`video, data, and control signals in order to provide a high(cid:173)
`quality to the audio portion of a conferencing session.
`
`33 Claims, 41 Drawing Sheets
`
`COt:FtRJ!NCING AP I ARCUITt CTURE
`
`502. SO'I~
`
`'-.----...., - --,-: -~
`~'""""""
`s .. '{
`'-r----..,--.....,...., -~
`.. ····+·· .. ···········
`506"?..~ ......... ~ .................. .•.••..
`
`Ollll!tt'X.
`mii1:::1w1;-.""'
`
`71).f
`
`:
`
`' !
`'
`'o-----,,--T-' 10a i
`
`: 706
`: ~
`
`11~• I ~- 1 20
`
`rin t ~
`l~!~"M :;:lf!m~
`
`1 1 i;~ lj
`
`1'
`
`.1;· ;·
`
`... ; '.
`
`SIO
`
`.
`50 8
`
`1
`5 1 2
`
`IPR2016-01710
`UNIFIED EX1009
`
`
`
`5,574,934
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,335,321
`5,343,473
`5,367,629
`5,374,952
`5,375,068
`5,384,598
`5,384,772
`5,392,223
`
`8/1994 Harney et al ........................... 395/162
`8/1994 Cidon et al ............................ 370/85.6
`1111994 Chu et al ................................ 395/162
`12/1994 Flohr ......................................... 348/12
`12/1994 Palmer et al ....................... 364/514 C
`1/1995 Rodriquez et al ...................... 348/384
`111995 Marshall ................................... 370/60
`2/1995 Caci .................................... 364/514 A
`
`OTHER PUBLICATIONS
`
`Zhang et al., "Video Communication on LANs-Multime(cid:173)
`dia CSCW Applications." CCECE/CCGEI '93.
`Ramanathan et al., "Integrating Virtual Reality, Tele-Con(cid:173)
`ferencing, and Entertainment into Multimedia Home Com(cid:173)
`puters." IEEE Transactions on Consumer Electronics, vol.
`38, No. 2, May 1992.
`Nakamura et al., "Personal Multimedia Teleconferencing
`Terminal." IEEE International Conference on Communica(cid:173)
`tions ICC 90-Session 211. vol. 1, 15 Apr. 1990, Atlanta
`(US).
`
`Maeno et al., "Distributed Desktop Conferencing System
`(Mermaid) Based on Group Communication Architecture."
`IEICE Transactions, vol. E74, No. 9, Sep. 1991, Tokyo JP.
`
`Tanigawa et al, "Personal Multimedia-Multipoint Telecon(cid:173)
`ference System." IEEE INFOCOM 91-Conference on Com(cid:173)
`puter Communications-Session 9D, vol. 3, 7 Apr. 1991, Bal
`Harbour (US).
`
`Computer Conferencing: IBM Scientists Demo Prototype of
`Affordable Computer Conferencing System, Nov. 2, 1992.
`EDGE, on & about AT&T, V7, n223, p.22.
`
`Chen et al., "A Multimedia Desktop Collaboration System,"
`GLOBECOM 92-EEE Global Telecommunications Con(cid:173)
`ference, vol. 2, 6 Dec. 1992. -9 Dec. 1992. Orlando (US).
`
`Vin et al., "Multimedia Conferencing in the Etherphone
`Environment." Computer, vol. 24, No. 10, Oct. 1991. Long
`Beach (US).
`
`
`
`~
`,J:..
`~
`Q
`~
`
`~ ~
`c:r
`..,,
`
`~
`\C
`\C
`~
`...
`N
`~
`~
`
`z Q
`
`'J'l •
`d •
`
`108
`1
`
`106
`1
`
`108
`
`1
`
`106
`
`1
`
`SPEAKER
`
`MONITOR
`
`SPEAKER
`
`~NITOR
`
`AUDIO
`ANALOG
`
`,
`VIDEO
`ANALOG
`
`100
`
`{_
`
`B
`
`SYSTEM
`CONFERENCING
`
`.
`.
`
`AUDIO
`ANALOG
`
`VIDEO
`ANALOG
`
`~
`110
`(DIGITAL)
`ISON NETWORK
`
`I
`
`1
`
`AUDIO
`ANALOG
`
`~
`
`'
`
`AUDIO
`ANALOG
`
`''
`
`DEO
`ANALOG
`
`VI
`
`A
`
`SYSTEM
`
`CONFERENCING
`
`VIDEO
`LOG
`
`ANA
`
`L
`100
`
`CROPHONE
`~
`104
`
`MI
`
`CAMERA
`~
`102
`
`CROPHONE
`~
`104
`
`MI
`
`CAMERA
`~
`102
`
`FIG. 1. POINT-TO-POINT CONFERENCING NETWORK
`
`
`
`•
`00
`~ •
`
`Nov. 12, 1996
`
`Sheet 2 of 41
`
`5,574,934
`
`100
`
`U.S. Patent
`
`mmm
`
`FIG. 2. CONFERENCING SYSTEM HARDWARE CONFIGURATION
`
`mom
`
`104
`CROPHOHE
`
`MI
`
`OM
`
`FR
`
`110
`ISON
`TO/FROM
`
`'
`
`102
`CAMERA
`FROM
`
`''
`
`---+ TO SPEAKER
`L..206
`
`108
`
`~
`ISA BUS 208
`
`
`
`m_=_.___E§_..53E25
`
`E:3aN3
`
`AUDIO/COMM BOARD
`
`.5:55.9E:
`
`VIDEO BOARD
`
`2:
`
`§_:n_mE.2.8_.__.B§_§9239...;
`
`
`
`momwow
`
`202
`
`wowmaE
`
`AND MEMORY
`
`HOST PROCESSOR
`
`106
`MONITOR
`
`TO
`
`E:
`
`:222....
`
`
`
`Emma:ma::o_fiH.%.__
`
`
`
`
`
`20:559.".28mm§Em<msmfimwmoz.uzmmmn_zou.~.O_n—
`
`
`
`
`
`
`
`
`BUS
`2
`
`VIDEO
`31
`~
`
`208
`ISA BUS
`TO/FROM
`
`~ '
`
`h
`
`INTERFACE
`ISA BUS
`
`310L
`
`="'
`\C
`""""
`\C
`""""
`~N
`~
`
`z 0
`
`c •
`
`•
`r.11
`
`102
`CAMERA
`FROM
`
`CONVERTER
`VIDEO A/D
`
`308
`
`MODULE
`
`VIDEO CAPTURE
`~
`306
`
`VRAM
`
`~
`304
`
`PROCESSOR
`
`PIXEL
`
`~
`302
`
`204
`
`FIG. 3. VIDEO BOARD HARDWARE CONFIGURATION
`
`
`
`ISA BUS
`208
`~
`
`8 10
`___.. SPEAK ER
`
`TO
`
`HARDWARE
`AUDIO 1/0
`~
`410
`
`104
`MICROPHONE
`
`FROM
`
`INTERFACE
`ISA BUS
`
`40~8
`
`PROCESSOR
`SIGNAL
`DIGITAL
`
`~
`406
`
`MEMORY
`
`~
`4 04
`
`110
`
`.___. ISON
`
`/FROM
`
`TO
`
`INTERFACE
`
`ISON
`
`~
`402
`
`206
`
`FIG. 4. AUDIO/COMM BOARD HARDWARE CONFIGURATION
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 5 of 41
`
`5,574,934
`
`FIG. 5. CONFERENCING SYSTEM SOFTWARE ARCH ITECTURE
`
`"'
`50~ '
`AUOIO/VIOEO
`CCllFERENCING APPLN
`
`.....
`r
`DATA CONFERENCING -z._504
`APPLICATION
`
`\.
`
`~
`
`\.
`
`~
`
`100
`--
`
`544 1 1
`
`CONFERENCE MGR
`
`I CONFERENCING API (VCI) I
`" 506
`512
`510
`lr1
`~
`I ~1
`VIDEO API
`COMM API(TII )
`AUDIO API
`
`514
`1
`
`WAVE API
`
`552
`~
`I PWAVE API I
`
`524
`~
`
`WAVE
`DRIVER
`
`516
`~
`
`I
`VIDEO
`MANAGER
`
`VIDEO CAPTURE
`DRIVER
`
`l
`I
`
`C<XilM
`MANAGER
`~
`518
`
`----i
`
`AUDIO
`MANAGER
`~
`520
`
`-z._522
`
`508
`
`548
`~ r-----
`VIDEO
`DECODE
`DRIVER
`I
`VIDEO
`PLAYBACK
`DRIVER
`~
`550
`
`VIDEO/ HOST INTERFACE
`
`DSP INTERFACE
`
`1
`~
`526 528
`
`530-z..
`
`VIDEO
`MICROCODE
`
`BOARD OSP
`INTERFACE
`
`IL532
`
`534
`~
`
`53~
`
`538--z._
`
`AUDIO
`TASK
`
`HOST DEVICE
`DRIVER
`
`WAVE
`_J TASK
`
`ri_ PWAVE
`TASK
`
`540--z_
`
`COMM
`TASK
`
`~
`554
`
`
`
`~
`~
`\C
`
`\,II
`
`(J] "" ~
`
`\,II
`
`(J]
`
`~
`......
`!'tl
`!'tl
`="'
`
`(I).
`
`0 ...., ...
`
`!--"
`
`= I IN
`=
`I AUDIO
`=
`=
`
`I OUT
`I AUDIO
`
`PRE-CONDITIONER
`AUDIO AMPS &
`
`-
`
`)
`
`I
`SPEAKER
`
`'
`
`1306
`
`AUDIO CODEC
`~
`
`208
`
`TO/FROM ISA BUS
`
`i
`
`,._
`
`INTERFACE
`DSP/ISA
`
`TI 320c31 DSP
`
`256Kw
`DRAM
`
`SRAM 32Kw
`
`I
`I EE PROM
`
`RJ-45
`S-BUS
`
`~,
`
`RJ-45
`S-BUS
`
`-1
`
`RELAY
`BYPASS
`
`206
`
`- -
`
`CIRCUIT
`
`FILTER ANALOG
`ISOLATION &
`
`SERIAL CONTROL LINE
`
`I
`CHIP
`
`,_______
`
`ISON INTERFACE
`SI EM ENS PEB2085
`
`,_______
`a-Bil
`
`_______
`
`-,
`
`CIRCUIT
`
`FILTER ANALOG
`ISOLATION &
`
`-
`
`CHIP
`
`ISON INTERFACE
`SI EM ENS PEB2085
`
`8-BIT
`
`-
`
`32-BIT
`
`INTERFACE
`
`ISON I DSP
`
`•
`00.
`d •
`
`PREFERRED AUDIO/COMM BOARD HARDWARE CONFIGURATION
`
`FIG. 6.
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 7 of 41
`
`5,574,934
`
`FIG. 7. CONFERENCING API ARCHITECTURE
`
`502' 504-z_J'
`~
`
`CONFERENCING APPLICATION
`~--------------------------------------'
`
`""')
`
`544-zi
`CONFERENCE MANAGER
`~
`~--------------------------------------'
`'
`50E>--z_1 __________ ---------------- ------------------------ -----,,-----------------------,
`
`'
`
`'
`
`""')
`
`CONFERENCING FINITE
`STATE MACHINE
`
`i.---.
`
`CONFERENCING
`PRIMITIVE VALIDATOR
`
`~
`702
`
`·~
`
`70()
`~
`CONFERENCING
`CALLBACK
`
`:
`
`?lQ l_
`
`COMM
`CALLBACK
`
`,,
`CONFERENCING PRIMITIVE DISPATCHER
`
`-Z....708
`
`'
`
`j
`
`71()
`~
`
`720
`~
`AUDIO
`PRIMITIVE
`
`COMM
`PRIMITIVE
`~
`712
`l-------------------- -------- --------------------- ------------- ________________ J
`,,
`•I
`
`VIDEO
`PRIMITIVE
`
`COMM
`API
`
`~
`510
`
`VIDEO
`API
`
`~
`508
`
`AUDIO
`API
`
`~
`512
`
`
`
`FIG. BB
`
`CF_HongupCa 11
`
`CCST_CONNECTED1---------~ CCST_CLOS INC
`
`FIG. BA
`
`CF_HongupCa/ I CCST_CLOSING
`
`CF_ACCEPT_NTFY
`
`NTFY
`CF_HANClP_
`
`CCST_CONNfCTED
`
`CF_HANGLP_NTFY
`
`CF_ERROR_NTFY
`
`CCST_ACCEPT/Nc~--
`
`CF_ERROR_NTFY
`CF_HANGUP_NTFY
`
`NTFY
`CF_ACC£PT_
`
`CCST_IDLE
`
`CF_/nit
`
`CCST_NULL
`
`•
`00
`d •
`
`CF_ERROR_NTFY
`CF_HANGUP_NTFY
`
`CF_RejeclCol /
`
`NTFY
`
`CF_ CALL_
`
`CCST_CALLED
`
`CF_lnil
`
`CCST_/Ol[
`
`CF_Uok eCa 11
`
`CCST_M.ll
`
`CALLEE
`
`CALLER
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 9 of 41
`
`5,574,934
`
`CF_CapMon (local stream)
`CF_PJayRcvd (remote stream)
`
`CSST_!NIT
`
`CSST_ACT/V[ ,_ __
`
`Unrecoverob 1 e
`Resource
`Foi Jure
`
`CF_DestroyStream
`
`CF_Send$treom (on/off)
`CF_P/oyStreom (on/off)
`CF_RecordStreom ( on/off)
`CF_Contro/Streom
`·
`CF_SnopStreom
`
`CCST_FAILUR£
`
`FIG. 9
`
`
`
`~
`~
`"" \0
`~
`-...l
`VGrabFrome
`VPause(on/off )/ 'O..
`Ul
`
`(on)
`VP Jay
`
`FIG. JOB
`
`JOA
`
`FIG.
`
`VGrabFrame
`VPause( on/off)/
`VMonitor(on/ofF)/
`
`·
`
`PLAY
`
`LJNKIN
`
`(off)
`VP lay
`
`VL ink In
`
`(on)
`
`VGrobFrame
`VPause(on/off )/
`VMonitor(on/off )/
`
`·
`
`(on)
`
`VL inkOut
`
`CAPTURE
`
`LINKOUT
`
`OPEN
`
`(on)
`VCopture
`
`OPEN
`
`ERROR
`
`VC/ose
`
`/NIT
`
`ERROR
`
`VC/ose
`
`/NIT
`
`REMOTE PLAYBACK STREAM
`
`LOCAL CAPTURE STREAM
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 11of41
`
`5,574,934
`
`FIG. 11. VIDEO MANAGER COMPONENTS
`
`516
`~
`r------------------------------------------------------------------------------------- -------------1
`I
`VIDEO MANAGER
`I
`I
`I
`
`1102
`
`VIDEO MANAGER
`LIBRARY
`[DLL]
`
`SENOMESSAGE
`INTERFACE - -- --1--------1 1106
`
`1108
`
`RECEIVE
`
`NE'TVI
`[DLL]
`
`TII
`
`VCAPT
`[EXE]
`
`VPLAY
`[EXE]
`
`AVSYNC
`[DLL]
`
`1110
`
`I
`I
`I
`I
`I
`I
`1
`I
`
`I ..
`
`I
`I
`I
`I
`I
`I
`I
`I
`l--------------------------- ------------------- --------------------------------------------------'
`
`TRANSMIT
`
`52
`
`VIDEO
`CAPTURE
`DRIVER
`
`VIDEO
`DECODE
`DRIVER
`
`548
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 12 of 41
`
`5,574,934
`
`z
`
`L.!...I
`
`lf)
`
`~
`
`M
`
`N
`
`U-l
`~
`0::: u...
`>-
`U-l
`~
`
`~ z -::c
`-l <
`31::
`
`.
`~ -
`
`
`
`FIG. 13
`
`.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`.
`
`AUDIO HW
`
`DEVICE DR/ VER
`
`1306
`
`1304
`
`532 :
`
`536 :
`
`BOARD DSP l/F
`
`STACK
`DRIVER
`
`1302
`
`CONTROL
`
`INFO
`STATUS
`
`&
`
`DSP DRIVER
`
`•
`
`I /F _.._ __
`
`___ ...___ DSP
`5287
`
`DRIVER
`
`WAVE
`
`520
`
`524
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`MANAGER
`AUDIO
`
`•
`rJ'J
`~ •
`
`/SDN VC BOARD 205
`
`AUDIO AP/
`
`WAVE AP!
`
`512
`
`514
`
`PC HOST 202
`
`
`
`FIG. 14B
`
`ARegisterUonitor
`
`ARegisterUonitor
`
`PLAY
`
`L/NK/N
`
`FIG. 14A
`
`AMonitor(on/orr)
`
`ARegister Monitor
`AUoni tor( on/off)
`
`(on)
`
`ALinkOut
`
`CAPTURE
`
`(off)
`AP lay
`
`AL ink In
`
`(on)
`
`LINKOUT
`
`OPEN
`
`(on)
`ACaplure
`
`(off)
`ACapture
`
`OPEN
`
`ERROR
`
`AC lose
`
`/NIT
`
`ERROR
`
`AC lose
`
`IN! T
`
`~ • rJ'J. •
`
`REMOTE PLAYBACK STREAM
`
`LOCAL CAPTURE STREAM
`
`
`
`FIG. 15
`
`104 ~---'-7'"' , __ J ____ ~-~A-~.._J ____ \~',,_CJ
`
`lOB
`
`Audio fM
`
`1304
`
`/VCodcBK
`
`Device Driver
`SAC
`
`/VCadcBK
`
`Device Driver
`SAC
`
`IO~ut()
`
`/O_S/NK
`
`/O_al/oc{)
`
`/O_free()
`
`/O_SOURCE
`
`/O_get()
`
`/esp
`
`Stackable Driver
`Echo/Suppression
`
`/esp
`
`Stackable Driver
`Echo/Suppression
`
`~
`Jo-'
`~
`Jo-'
`~
`
`~ ="
`
`:z 0
`
`G. 728 decoder
`ADPCM decoder
`
`Conpression Engines
`
`Mu/aw decoder
`CSU decoder
`
`/mxrO
`
`Stackable Driver
`Mixer/Sp/ itter
`
`/mxrO
`
`Stackable Driver
`Mixer/Sp/ itter
`
`1512
`
`Stackable Driver
`DXF
`/gsm:O
`
`1508~...--.
`
`1510
`
`1506
`
`Stackable Driver
`DXF
`/gsm:O
`
` 728 coder
`ADPCM coder
`
`G.
`
`Corrpression Engines
`
`Mu/ow coder
`GSM coder
`
`/tsp
`
`SS~ut()
`
`Stackable Driver
`Strip Timestanp
`
`/tsp
`
`Stackable Driver
`Append Times t anp
`
`JO_ol /oc() •
`
`JO_free()
`
`SS_get ()
`
`1504
`
`PLAYBACK
`
`THREAD
`
`1502
`
`
`
`AUDIO HW
`
`INPUT
`
`AS_CLOSE_CHAN
`AS_REGCHANHDLR
`
`1306
`
`DEVICE ORI VER
`
`SAC
`
`1302
`
`1304
`
`DRIVERS
`
`STACK
`
`OF
`
`SS_put
`
`AS_COIN_HAJKJ.P_NOTIFY
`AS_RECf/VECOAIPL[T[
`AS_CL OS[_ CHAN._ OK
`AS_R[GCHAMIJLR...OK
`
`TMS_COUUAND
`
`540
`
`COMM TASK
`
`AS_RECE I VECOMPLETE
`AS_CLOSE_CHAN
`AS_RECCHANHDLR
`
`AUDIO HW
`
`INPUT
`
`1306
`
`DEVICE DRIVER
`
`SAC
`
`1302
`
`1304
`
`DRIVERS
`
`AS_COlll_HAMA.P_NOTIFY
`AS_CL OSE_CHA/'l.OK
`AS_RfCCHAIHJLR_OK
`
`r-----''----.
`
`STACK
`
`OF
`
`SS_get
`
`TUS_PLA YBACK
`
`TMS_CAP TUR£
`
`PLAYBACK THREAD
`
`SS_get
`
`CAP TUR£ THREAD
`
`1504
`
`PIP£1 DRIVER
`
`1502
`
`SS_put
`
`SS_get
`
`PIPE2 DRIVER
`
`INPUT
`DRIVER
`
`!SON
`
`OUTPUT
`DRIVER
`
`/SON
`
`FIG. 16
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 17 of 41
`
`5,574,934
`
`FIG. 17. COMM SUBSYSTEM LAYERS
`
`HOST (WINDOWS)
`202 '-.
`
`UPPER
`LAYERS
`
`TII.DLL
`
`DLM.DLL
`
`RDLM.DLL
`
`532 L.
`
`AUDIO/COM
`M
`X) 4
`BOARD (SPO
`206
`
`DSP INTERFACE
`
`CONTROL (D CHAN)
`
`DATA COMM TASKS
`
`D CHAN DRIVER
`
`B CHAN DRIVERS
`
`
`
`f(cid:173)
`
`_____ _,n,_,_,.. 5..-1-0_._t,_,T-+A..+l-1-T----+-/ -
`I
`
`I
`
`[J r111vr
`
`_ ~--__
`
`--i-'----18-1-5-'"-r-l--n..._..\~T--1-1.h+-.I T,__ _
`
`\11vr
`
`r
`
`.
`
`\
`
`\
`\
`
`I
`I
`I
`I
`I
`I
`I
`
`VC APP
`
`e • 00
`
`•
`
`502
`
`COMM S~'ACK
`
`HOST-2
`
`528
`202
`
`528
`
`COMM\ STACK
`
`.__,,_
`
`504
`_
`
`'
`----
`
`I-_
`
`~---
`
`-
`
`-
`
`VC APP
`
`502
`
`\
`HOST-11
`I
`\
`\
`\
`\
`
`202
`
`COMM
`206 "----t-~-+-~~~-'-~~~~~~-+--'
`
`538
`
`AUDIO
`
`:
`I
`
`(
`
`I
`
`~NALL~r~~~~~~~~i;:r~~----ls~...:_---J~GNALL~
`
`FIG. 18
`
`l TO
`
`D CHANNEL
`
`I
`
`DA TA + CONTROL
`VIRTUAL CHANNELS
`CONTROL
`
`540
`
`2 B CHANNELS
`
`_L_
`
`540
`
`110
`
`DATA
`
`___ , __ _
`
`I BOARD-2
`
`:
`I
`
`538
`
`206
`BOARD-I._--+--~
`COMM
`
`AUDIO
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 19 of 41
`
`5,574,934
`
`/NIT
`
`END SESSION
`
`BEGIN SESSION
`
`REJECT CONN
`
`CONN IN
`
`ACCEPT CONN
`
`REJECT CHAN
`
`ACCEPT
`CHAN
`
`I
`
`/
`
`", CONN REJECTED
`'\
`\
`
`/
`
`/
`
`/
`CONN
`REQUEST
`
`REQUEST
`CONN
`
`CONN OUT
`
`I
`I
`I
`
`I
`/
`/ CONN ACCEPTED
`
`CLOSE CONN
`
`CONNCTED
`
`/
`
`/
`
`' " CHAN REJECTED
`'
`'
`
`OPEN
`CHAN
`
`SEND
`
`l
`I CHAN
`/ACCEPTED
`
`ACTIVE REQUEST
`
`RESULT OF REQUEST
`
`c=.::> STATE
`
`FIG. 19
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 20 of 41
`
`5,574,934
`
`INCOMING
`CALL
`
`OUTGOING
`CALL
`
`NULL
`
`Conn Requested
`
`APP co I Is TI I
`Mak eConnec t ion
`
`Al Joe
`
`IDLE
`
`Al Joe
`
`IDLE
`
`Send Connect ion
`Req.
`to APP
`
`OLM
`MokeConn
`
`APP Accepts
`OLM Accept Conn
`
`Coll
`Progress
`
`Conn
`Accepted
`
`Conn Accepted
`
`ALIVE
`
`Control Chonne I
`handshake
`
`FIG. 20
`
`ESTABLISHED
`
`Send Connect ion
`£stab/ ished
`Notification to APP
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 21 of 41
`
`5,574,934
`
`NULL
`
`(Connection in CONN_ALIVE slate)
`
`DLM open channel 0
`
`. AWAIT CTL
`OPEN
`
`Channel open notification
`Send heartbeat
`
`Receive heartbeat
`
`(connection 1n CONN_ ESTAB state)
`
`FIG. 21
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 22 of 41
`
`5,574,934
`
`RECEIVE
`CHANNEL
`
`NULL
`
`SEND
`CHANNEL
`
`Chan Request CTL Jlsg.
`A I Joe Tl I and DUJ chan
`
`APP coils Tl/ OpenChannel
`A I Joe Tl I and DLM chan
`
`IDLE
`
`IDLE
`
`DLMOpen
`
`DLMOpen
`
`OLM Channe I Opened
`Open ROLM Channe I
`Send Chan Req to APP
`
`OLM Channe I Opened
`Send Open CTL Alsg.
`
`APP Accepts
`Send accept CTL Alsg.
`
`Receive accept CTL llsg.
`Open RDLAI Chonne 1
`
`Send Chon Accepted to APP
`
`FIG. 22
`
`
`
`23
`
`FIG.
`
`-----Network Traffic
`
`Successful return from coll
`
`Asyncronous event not if icat ion
`
`Call to Conm manager
`
`Rece i veComp lete
`
`L-~------1 ReceiveDota
`
`DATA
`
`RegisterChanHandler
`
`Accept Channe I
`
`--~---
`
`---------------
`
`--------
`r---.;;..--......J ------------------
`------------------
`----------1 RegisterChanHandler
`
`--------
`--------------
`
`DataSent
`
`SendDatar---------~1
`
`-------
`
`------
`
`Regis t erChanHandl er r--_-__ -_-__ -_-_J
`--------------------
`RegisterChanHond/er 1--------1
`Accept Chonne I r=-_ -~ _--_-_-_ -----~--~-=-------=-=--=--=-~,..,,_,,,_l (
`
`L--------1 Beg inSess ion
`
`---------------
`COMM MANAGER
`
`NETWORK
`
`Beg i nSess ion 1--------------~---'
`
`--------
`
`COMM MANAGER
`
`COMM INTERFACE
`
`COMM INTERFACE
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 24 of 41
`
`5,574,934
`
`FIG. 24. COMPRESSED VIDEO BITSTREAM FORMAT
`
`(BITS)
`
`(FIELD)
`
`16
`
`8
`
`4
`
`4
`
`32
`
`32
`
`0-
`
`LENGTH
`
`FLAGS
`
`RESERVED
`
`TYPE
`
`TIME CAPTURED
`
`PKT NUMBER
`
`FRAME DATA
`
`H
`E
`A
`D
`E
`R
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 25 of 41
`
`5,574,934
`
`FIG. 25. COMPRESSED VIDEO DATA FIELD
`
`(BITS)
`
`(FIELD)
`
`16
`
`16
`
`32
`
`32
`
`16
`
`16
`
`8
`
`8
`
`8
`
`8
`
`VERSIONNUMBER
`
`FLAGS
`
`DATASIZE
`
`RESERVED I
`
`IMAGEHEIGHT
`
`IMAGEWIDTH
`
`UVQUANT
`
`YQUANT
`
`STILLSTRIP
`
`STILLTHRESH(LOW)/
`FILTERTHRESH(HIGH)
`
`8/MV
`
`MOTIONVECTORS[]
`
`0-
`
`HUFFMAN DATA
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 26 of 41
`
`5,574,934
`
`FIG. 26. COMPRESSED AUDIO FORMAT
`
`(BITS )
`
`30
`
`(FIELD)
`
`TIMESTAMP
`
`MUTE
`
`EXTENSION
`
`H
`E
`A
`D
`E
`R
`
`0-
`
`DATA
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 27 of 41
`
`5,574,934
`
`FIG. 27. RELIABLE TRANSPORT COMM PACKET FORMAT
`
`(BITS)
`
`(FIELD)
`
`8
`
`16
`
`16
`
`0-
`
`CONTROL
`
`LENGTH
`
`CRC
`
`DATA
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 28 of 41
`
`5,574,934
`
`FIG. 28. UNREALIABLE TRANSPORT COMM PACKET FORMAT
`
`(BITS)
`
`(FIELD)
`
`8
`
`8
`
`8
`
`8
`
`8
`
`8
`
`8
`
`8
`
`8
`
`0-
`
`16
`
`8
`
`FLAG
`
`ILINK QMUX
`
`SEQUENCE #
`
`ISEQ QMUX
`
`NULL
`
`RECEIVER LC#
`
`SENDER LC#
`
`S<lil/EOM
`
`MESSAGE #
`
`DATA
`
`CRC
`
`FLAG
`
`H
`E
`A
`D
`E
`R
`
`t
`I LINK
`
`HDLC FLAG -
`• ·-t
`ISEQ
`-
`+
`t
`IMULTI
`-
`+
`t
`ISTX
`~
`
`HDLC CRC -
`
`HDLC FLAG
`
`l
`
`H
`D
`l
`c
`
`D
`A
`T
`A
`
`j
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 29 of 41
`
`5,574,934
`
`Tl/ -DU.I SESSION & CONNECT/ ON ESTABLISHMENT
`
`Tl/
`
`OLM
`
`OLM
`
`Tl/
`
`DLll_BeginSession
`
`DUl_llok eConnec l ion
`
`--~ -
`
`CONN_ESTABL/SHED
`
`--
`
`FIG. 29A
`
`DLll_Beg i nSess ion
`
`DLALL i sten
`
`-- - --~
`CONN_REOUESTED
`
`Dlll_AcceptConnection
`
`---
`
`- ~
`CONN_[ ST ABL I SHED
`
`Tl I-DUI CONNECTION & SESSION TEARDOWN
`
`Tl/
`
`DLM
`
`OLM
`
`Tl/
`
`DLll_C/oseConnection
`
`~ ----
`
`CONN...._CLOSLCOllPLET£
`
`DlAl_EndSess ion
`
`...-- -
`Sf SS_ CLOSED
`
`---
`
`----......
`
`CONN_CLOSE_NOT /FY
`
`DLJL[ndSess ion
`
`--- --~
`
`Sf SS_ CLOSED
`
`FIG. 29B
`
`
`
`FIG.30
`
`VC BOARD BASIC ARCH I TEC TUR£
`
`ISA BUS
`
`=:AUDIO
`
`IN
`
`-
`
`OUT
`=I AUDIO
`
`RJ-45
`I S-BUS
`
`RJ-45
`I S-BUS
`
`RELAY
`
`•
`rJ).
`0 •
`
`ISOLATION -
`
`-
`
`& FILTER
`
`-
`
`& FILTER -
`ISOLATION
`
`-
`
`-
`
`PEB2085
`I SIEMENS
`I
`l
`l
`PEB2085
`-r
`I SIEMENS
`I
`
`PRE-COND
`
`AMP &
`AUDIO
`
`I
`
`SPEAKER
`
`-
`
`CODEC
`AUDIO
`
`(HARRY)
`INTERFACE -
`
`ISA
`
`TI 320c31
`
`33Mhz
`
`32K SRAM
`
`256K DRAM
`
`+·
`
`I ££PROM I
`
`I
`
`INTERFACE
`
`C31
`
`I
`
`SS/ l/F
`
`HDLC
`
`-
`
`FIFO'S
`
`2X32
`
`FIFO'S
`
`2X32
`
`,-----------------------,
`
`MODULE CONN.
`ACCELERATOR
`
`SS/ !/F
`
`HDLC
`
`F/FO'S
`
`2X32
`
`l/F
`
`SERIAL
`
`-
`
`L _____________ -----------'
`I VC ASIC
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`T
`I
`I
`I
`I
`I
`I
`I
`
`
`
`VC ASIC BASIC ARCH/ T£CTUR£
`
`-
`-
`
`/SAC 1/0 BUS
`
`MULTIPLEXED 8 BIT
`
`INTERFACE :-
`
`-1/0 BUS
`
`r
`
`-
`
`8-CHANNELS
`
`L/N£-SID£ SS/
`
`~-
`
`,___ P TO S, S TOP
`
`INTERFACE
`
`ACCELERATOR MODULE SERIAL
`
`--
`
`HDLC OR NOT
`82 I NT£RF A CE
`
`HDLC OR NOT
`B 1 INTERFACE
`
`-
`
`'-'--
`
`'-'- --
`
`,___
`
`-~
`
`INTERFACE
`
`LINE-SIDE 8-CHANNEL
`
`'-'-
`
`HDLC OR NOT
`B2 INTERFACE
`
`,.__
`
`8-CHANNELS
`
`PHONE-SIDE SS/
`
`HDLC OR NOT
`Bl INTERFACE
`
`~~ -
`
`--
`
`--
`FIFO'S
`
`,.__
`
`.
`
`-
`
`-
`
`l/F
`BUS
`CPU
`
`•
`00
`~ •
`
`PHONE-SI DE 8-CHANNEL r INTERFACE
`
`REGISTERS
`
`GLOBAL
`
`
`
`FIG .
`
`LI
`
`Ml
`HP
`-LO
`
`-
`
`-
`
`SAC
`
`CONTROL STATUS
`RELAY
`
`DOUT
`DIN
`CLOCK
`FSYNC
`
`-
`
`DATA
`
`CLOCK
`
`/ ~ / ~
`'
`
`/~ / ~
`
`1&2
`LINE
`
`1&2
`SET
`
`-
`
`-
`
`l/F
`PHONE
`ANALOG
`
`-
`
`-
`
`(II L llE/&2
`CODECS
`LINEAR
`
`-
`
`~-
`
`ON 5£11&2
`CODECS
`u-LAW
`
`.
`.
`. . . . . . .
`.
`.
`INTERFACE:
`MEMORY •
`. . . ............... FSYNC
`
`/ 3
`/
`
`i
`
`v32
`
`/ 24"
`/
`
`'
`
`ADDR DATA STROBES I NT2-0
`
`TMS320C31-33
`
`c_ .----:.J
`I DRAM 256KxJ2 : ~
`I
`I
`-. -
`I
`I SRAU J2KxJ2
`I
`I
`I
`~ CJ I UEUORY
`I
`-------,
`
`I
`
`BANK!.
`
`BANK2
`
`I
`
`r
`
`~
`
`. . . . . . . ~
`. . . . . . . . .
`.
`. SAC l/F
`. .
`. . . . . . . .
`.
`.
`.
`. ANALOG
`.
`'
`
`PHONE l/F
`
`DSP INTERFACE
`
`•
`ARB/ TER •
`
`DMA
`
`STROBES :
`
`HARRY3
`
`PORT
`COMM
`
`:
`
`•
`
`~ 8 l'l - ~~
`I T
`l
`~
`INTERFACE:
`INTERFACE
`££PROM : •• ) SA. BUS0
`
`v;
`
`:0 fil
`
`~
`
`./SA BUS
`
`-
`
`-
`
`££PROM
`CONF/C
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 33 of 41
`
`5,574,934
`
`FIG. 33.
`
`ON-DEMAND INVOCATION
`
`3302
`
`3304
`
`CONFERENCE MANAGER GETS COMM
`CHANNEL REQUEST FROM SITE A.
`
`CONFERENCE MANAGER GETS
`APPLN #1 ID FROM REQUEST.
`
`3308
`
`CONFERENCE MANAGER
`REJECTS REQUEST.
`
`y
`
`y
`
`3312
`
`CONFERENCE MANAGER LAUNCHES
`APPLN #1 AND INFORMS APPLN #1
`THAT CALL IS IN PROGRESS.
`
`3316
`
`CONFERENCE MANAGER
`REJECTS REQUEST.
`
`¥ ._.. __________
`
`____.
`
`3318
`
`3320
`
`CONFERENCE MANAGER ACCEPTS
`CHANNEL REQUEST.
`
`CONFERENCE MANAGER NOTIFIES
`APPLN #1 THAT CHANNEL IS OPEN
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 34 of 41
`
`5,574,934
`
`FIG. 34. MANAGING MULTIPLE APPLICATIONS
`
`3404
`'-
`
`3402 '- AUDIO/VIDEO CONFERENCING APPLN ASKS CONFERENCE MANAGER
`TO ESTABLISH CONNECTION FOR CONFERENCING WITH
`A REMOTE CONFERENCING SYSTEM.
`+
`CONFERENCE MANAGER PASSES CONNECTION REQUEST TO VCI .
`t
`VCI PASSES CONNECTION REQUEST TO TII.
`t
`3408 l.. TII CAUSES A CONNECTION TO BE ESTABLISHED AND VCI CAUSES
`TRANSMIT/RECEIVE AUDIO/VIDEO CHANNELS TO BE ESTABLISHED
`WITH THAT CONNECTION.
`
`3406 l..
`
`~
`3410 L. DATA CONFERENCING APPLN ASKS CONFERENCE MANAGER TO
`ESTABLISH TRANSMIT/RECEIVE DATA CHANNELS WITHIN
`THE EXISTING CONNECTION.
`
`3412 '-Z..
`
`3414 "{_
`
`~
`CONFERENCE MANAGER PASSES CHANNEL REQUEST TO VCI .
`+
`VCI PASSES CHANNEL REQUEST TO TI!.
`t
`3416 'L_ CONFERENCE MANAGER CAUSES TRANSMIT/RECEIVE DATA CHANNELS
`TO BE ESTABLISHED WITHIN THE EXISTING CONNECTION.
`t
`CONFERENCING SESSION WITH lWO APPLNS PROCEEDS
`USING A SINGLE CONNECTION.
`
`3418 'L.
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 35 of 41
`
`5,574,934
`
`FIG. 35. REMOTE MAINTENANCE OF
`HIGH-RESOLUTION COUNTERS
`
`SYSTEM A
`
`NETWORK
`
`SYSTEM B
`
`3502 L_
`
`HIGH-RESOLUTION COUNTER
`jooooo1ooj 111oj
`
`3504 L_
`
`HIGH-RESOLUTION COUNTER
`
`jooooo1ooj 1111I ____.
`
`TIME STAMP
`
`!11111
`
`3506 {__
`
`HIGH-RESOLUTION COUNTER
`I 000001 oo j 1111 I
`
`HIGH-RESOLUTION COUNTER
`
`. I 000001 oo j 111o1 .
`
`r
`
`HIGH-RESOLUTION COUNTER
`
`. I 000001ooj111 o I
`
`r
`
`HIGH-RESOLUTION COUNTER
`
`. I 000001ooj1111 I
`
`r
`
`3508 L
`
`HIGH-RESOLUTION COUNTER
`
`TIME STAMP
`
`HIGH-RESOLUTION COUNTER
`
`jooooo 1o1J0000 I f---+ jooooJ f---+ I 000001 oo J 1111 J
`
`3510 L_
`
`HIGH-RESOLUTION COUNTER
`jooooo 1o1j0000 I
`
`HIGH-RESOLUTION COUNTER
`
`. !000001o1 joooo I
`
`3512 L_
`
`HIGH-RESOLUTION COUNTER
`
`TIME STAMP
`
`HIGH-RESOLUTION COUNTER
`
`I 000001o1loo1 o I ~ joo1ol ~ I 000001ooJ1111 I
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 36 of 41
`
`5,574,934
`
`FIG. 36.
`
`FLOW CONTROL OVER RELIABLE CHANNELS
`
`3602 L
`
`3604 L
`
`3606 L
`
`3608 L
`
`3610 L
`
`....
`
`~
`
`+
`CONFERENCING SYSTEM A TRANSMITS SIGNAL PACKETS TO
`CONFERENCING SYSTEM B OVER RELIABLE CHANNELS.
`+
`CONFERENCING SYSTEM B RECEIVES SIGNAL PACKETS.
`t
`CONFERENCING SYSTEM B BEGINS TO PROCESS RECEIVED PACKETS.
`t
`CONFERENCING SYSTEM B SENDS ACKNOWLEDGMENT MESSAGE TO
`CONFERENCING SYSTEM A AS RECEIVED PACKETS ARE PROCESSED.
`t
`CONFERENCING SYSTEM A RECEIVES ACKNOWLEDGMENT MESSAGES
`FROM CONFERENCING SYSTEM B.
`
`I
`
`t
`
`.
`
`~
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 37 of 41
`
`5,574,934
`
`FIG. 37. PREEMPTIVE PRIORITY-BASED TRANSMISSION
`
`3702 t_
`
`3704 t_
`
`3706 -z_
`
`3708 l_
`
`3710 t_
`
`RECEIVE ONE OR MORE PACKETS OF SECOND TYPE OF SIGNAL.
`+
`BREAK SECOND-TYPE PACKETS INTO FRAGMENTS AND BEGIN TO
`TRANSMIT SECOND-TYPE PACKETS TO REMOTE CONFERENCING SYSTEM.
`t
`RECEIVE ONE OR MORE PACKETS OF FIRST TYPE OF SIGNAL
`BEFORE TRANSMISSION OF SECOND-TYPE PACKETS IS COMPLETE .
`
`•
`
`INTERRUPT TRANSMISSION OF SECOND-TYPE PACKETS,
`BREAK FIRST-TYPE PACKETS INTO FRAGMENTS, AND
`TRANSMIT FIRST-TYPE PACKETS TO REMOTE CONFERENCING SYSTEM .
`
`RESUME TRANSMISSION OF SECOND-TYPE PACKETS.
`
`•
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 38 of 41
`
`5,574,934
`
`FIG. 38. RATE NEGOTIATION
`
`TRANSMITTING RATEi STREAM.
`
`RECEIVE RATEi
`
`UPDATE TO REQUESTED RATE AND
`
`TRANSMITTING RATE2 STREAM.
`
`RECEIVE
`RATE2
`
`RECEIVE RATE2
`
`RECEIVE
`RATE3
`
`UPDATE TO REQUESTED RATE AND
`
`TRANSMITTING RATE3 STREAM.
`
`RECEIVE RATE3
`
`+-------_.. SEND RATE_EST.
`
`RECEIVE
`RATE_EST
`
`RECEIVE
`RATE3
`
`RATE NEGOTIATION COMPLETE.
`
`
`
`U.S. Patent
`
`Nov. 12, · 1996
`
`Sheet 39 of 41
`
`5,574,934
`
`FIG. 39. CALLED NODE PERFORMANCE
`DURING 64 KBPS UPGRADE.
`
`TRANSMITTER RATE = 56 KBPS;
`RECEIVER RATE = 64 KBPS:
`TRANSMITTING RATE1 STREAM.
`
`TRANSMITTER RATE = 64 KBPS:
`RECEIVER RATE = 64 KBPS;
`TRANSMITTING RATE3 STREAM.
`
`RATE NEGOTIATION COMPLETE.
`
`RECEIVE
`RATE2
`
`RECEIVE
`RATE_EST
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 40 of 41
`
`5,574,934
`
`FIG. 40. CALLING NODE PERFORMANCE
`DURING 64 KBPS UPGRADE.
`
`TRANSMITTER RATE = 56 KBPS;
`RECEIVER RATE : 56 KBPS;
`TRANSMITTING RATEi STREAM.
`
`RECEIVE RATE1
`
`TRANSMITTER RATE = 64 KBPS:
`RECEIVER RATE = 64 KBPS:
`TRANSMITTING RATE2 STREAM.
`
`RECEIVE
`RATE3
`
`- - - - - - - - SEND RATE_EST.
`
`RECEIVE
`RATE3
`
`RATE NEGOTIATION COMPLETE.
`
`
`
`U.S. Patent
`
`Nov. 12, 1996
`
`Sheet 41 of 41
`
`5,574,934
`
`FIG. 41. LOOPBACK LINE PERFORMANCE
`DURING 64KBPS UPGRADE.
`
`TRANSMITTER RATE = 56 KBPS:
`RECEIVER RATE = 56 KBPS;
`TRANSMITTING RATEi STREAM.
`
`RECEIVE RATE I
`
`TRANSMITTER RATE = 64 KBPS;
`RECEIVER RATE = 64 KBPS;
`TRANSMITTING RATE2 STREAM.
`
`RECEIVE RATE2
`
`TRANSMITTER RATE = 64 KBPS;
`RECEIVER RATE = 64 KBPS;
`TRANSMITTING RATE3 STREAM.
`
`RECEIVE RATE3
`
`SEND RATE_EST.
`
`RATE NEGOTIATION COMPLETE.
`
`
`
`5,574,934
`
`1
`PREEMPTIVE PRIORITY-BASED
`TRANSMISSION OF SIGNALS USING
`VIRTUAL CHANNELS
`
`INCORPORATION BY REFERENCE
`
`5
`
`2
`for receiving the signals of the second type from the second
`means. The communications subsystem interrupts the trans(cid:173)
`mission of the signals of the first type when the signals of the
`second type are ready for transmission. The communications
`subsystem resumes the transmission of the signals of the first
`type after the transmission of the signals of the second type
`is complete.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`This application is a continuation-in-part of U.S. patent
`application Ser. No. 08/157,694, filed Nov. 24, 1993, which
`is incorporated herein in its entirety by reference. This
`application is also related to U.S. patent application Ser. No. 10
`08/305,206 (filed Sep. 13, 1994), U.S. patent application
`Ser. No. 08/137,319 (filed Oct. 14, 1993) now U.S. Pat. No.
`5,452,299, and in U.S. patent application Ser. No. 08/170,
`146 (filed Dec. 20, 1993), which are all incorporated herein
`in their entireties by reference.
`
`15
`
`BACKGROUND OF THE INVENTION
`
`Other objects, features, and advantages of the present
`invention will become more fully apparent from the follow(cid:173)
`ing detailed description of the preferred embodiment, the
`appended claims, and the accompanying drawings in which:
`FIG. 1 is a block diagram representing real-time point(cid:173)
`to-point audio, video, and data conferencing between two
`PC systems, according to a preferred embodiment of the
`present invention;
`FIG. 2 is a block diagram of the hardware configuration
`of the conferencing system of each PC system of FIG. 1;
`FIG. 3 is a block diagram of the hardware configuration
`of the video board of the conferencing system of FIG. 2;
`FIG. 4 is a block diagram of the hardware configuration
`25 of the audio/comm board of the conferencing system of FIG.
`2;
`
`1. Field of the Invention
`The present invention relates to audio/video conferencing,
`and, in particular, to systems for real-time audio, video, and 20
`data conferencing in windowed environments on personal
`computer systems.
`2. Description of the Related Art
`It is desirable to provide real-time audio, video, and data
`conferencing between personal computer (PC) systems
`operating in windowed environments such as those provided
`by versions of Microsoft® WindowsTM operating system.
`There are difficulties, however, with providing real-time
`conferencing in non-real-time windowed environments.
`It is accordingly an object of this invention to overcome
`the disadvantages and drawbacks of the known art and to
`provide real-time audio, video, and data conferencing
`between PC systems operating in non-real-time windowed
`environments.
`It is a particular object of the present invention to provide
`real-time audio, video, and data conferencing between PC
`systems operating under a Microsoft® WindowsTM operat(cid:173)
`ing system.
`Further objects and advantages of this invention will
`become apparent from the detailed description of a preferred
`embodiment which follows.
`
`FIG. 5 is a block diagram of the software configuration of
`the conferencing system of each PC system of FIG. 1;
`FIG. 6 is a block diagram of a preferred embodiment of
`the hardware configuration of the audio/comm board of FIG.
`4;
`
`30
`
`FIG. 7 is a block diagram of the conferencing interface
`layer between the conferencing applications of FIG. 5, on
`35 one side, and the comm, video, and audio managers of FIG.
`5, on the other side;
`FIG. 8 is a representation of the conferencing call finite
`state machine (FSM) for a conferencing session between a
`local conferencing system (i.e., caller) and a remote confer-
`40 encing system (i.e., callee);
`FIG. 9 is a representation of the conferencing stream FSM
`for each conferencing system participating in a conferencing
`session;
`FIG. 10 is a representation of the video FSM for the local
`45 video stream and the remote video stream of a conferencing
`system during a conferencing session;
`FIG. 11 is a block diagram of the software components of
`the video manager of the conferencing system of FIG. 5;
`FIG.12 is a representation of a sequence ofN walking key
`frames;
`FIG. 13 is a representation of the audio FSM for the local
`audio stream and the remote audio stream of a conferencing
`system during a conferencing session;
`FIG. 14 is a block diagram of the architecture of the audio
`subsystem of the conferencing system of FIG. 5;
`FIG. 15 is a block diagram of the interface between the
`audio task of FIG. 5 and the audio hardware of audio/comm
`board of FIG. 2;
`FIG. 16 is a block diagram of the interface between the
`audio task and the comm task of FIG. 5;
`FIG. 17 is a block diagram of the comm subsystem of the
`conferencing system of FIG. 5;
`FIG. 18 is a block diagram of the comm subsystem
`architecture for two conferencing syste