`(12) Patent Application Publication (10) Pub. No.: US 2007/0005804 A1
`RideOut
`(43) Pub. Date:
`Jan. 4, 2007
`
`US 200700.05804A1
`
`(54) MULTICAST VIDEOCONFERENCING
`(76) Inventor: Neil Rideout, Nova Scotia (CA)
`Correspondence Address:
`PERKINS COE LLP
`P.O. BOX 21.68
`MENLO PARK, CA 94026 (US)
`
`(21) Appl. No.:
`
`10/534,370
`
`(22) PCT Filed:
`
`Nov. 12, 2003
`
`(86). PCT No.:
`
`PCT/USO3A36349
`
`S 371(c)(1),
`(2), (4) Date:
`
`Jul. 3, 2006
`
`Related U.S. Application Data
`(60) Provisional application No. 60/425,621, filed on Nov.
`11, 2002.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 5/16
`(52) U.S. Cl. .............................................................. 709/246
`(57)
`ABSTRACT
`In one embodiment, the invention is a method of transferring
`data. The method includes receiving a first video data stream
`at a first machine. The method also includes multicasting the
`first video data stream in uncompressed and raw form
`through a network. The method further includes receiving
`the first video data stream at a second machine. The method
`also includes playing the first video data stream on the
`second machine.
`
`Endpoint
`
`Multiport
`Control Unit
`
`Page 1 of 68
`
`GOOGLE EXHIBIT 1023
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 1 of 39
`
`US 2007/0005804 A1
`
`B-Frame Dependencies
`
`Frame Type:
`Display Order: l
`Transmission Order:
`
`B B P
`2
`3
`
`B B P
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mirr. 3:
`
`Séide;
`
`set.
`ise
`Sai,
`
`Sefiki i
`
`s
`
`Sarass
`
`
`
`i Sig s
`s:
`29S $335i 29 S39
`s SigE
`535iSigis SRE:
`
`'3. g. "
`...:
`
`w
`
`wr
`
`
`
`Fig. 4
`
`Page 2 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 2 of 39
`
`US 2007/0005804 A1
`
`
`
`Streaming
`Sever
`
`as ar...as s r. r. sp. a aur ra ar- a -
`was
`A.
`
`torage Device:
`
`a
`
`Source-based
`Rate Control
`
`Transport
`Protocols
`
`b
`
`Page 3 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 3 of 39
`
`US 2007/0005804 A1
`
`HOST
`
`ROUTER
`
`Packe
`Classifie
`
`
`
`Endpoint
`
`Fig. 7
`
`Multiport
`Control Unit
`
`
`
`Page 4 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 4 of 39
`
`US 2007/0005804 A1
`
`To other
`Softswitches
`
`-- SIP-T
`
`s
`
`Fig. 8
`
`
`
`
`
`
`
`
`
`IP Network
`
`
`
`
`
`H.323
`ateway
`
`PSTN
`Switch
`s
`
`Fig. 9
`
`Page 5 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 5 of 39
`
`US 2007/0005804 A1
`
`System control User Interface
`
`Mic
`
`Camer
`
`Data
`application
`
`H.245
`control
`
`Fig. 10
`
`Packet Loss Pattern
`
`ACK Information
`
`
`
`- - - 6
`- - - - -
`6
`90
`9 0
`
`6
`
`Page 6 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 6 of 39
`
`US 2007/0005804 A1
`
`sex) at E issus trul
`
`
`
`(six) or resursue
`
`Page 7 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 7 of 39
`
`US 2007/0005804 A1
`
`
`
`9
`I
`
`Page 8 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 8 of 39
`
`US 2007/0005804 A1
`
`Forward
`Direction
`
`
`
`Raw Combined
`audio/video data
`Client #1
`
`Splod 30)
`
`Multicast
`GL
`
`TAPI3 & IGMP V3
`
`Client #2
`
`Multicast
`GL
`
`
`
`Check Points
`
`
`
`Reverse
`Direction
`
`Fig. 14
`
`Page 9 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 9 of 39
`
`US 2007/0005804 A1
`
`
`
`Group
`
`Unicast (%)
`CEPU/RAVE
`OS
`É3.
`
`Multicast ('%)
`CPUIRA
`OS
`
`System Resources (%)
`Ulic
`Wulicast
`
`Page 10 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 10 of 39
`
`US 2007/0005804 A1
`
`
`
`
`
`
`
`Source: 't
`Client
`
`Page 11 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 11 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 12 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 12 of 39
`
`US 2007/0005804 A1
`
`ÖNEERENC
`NEcEE5.
`
`
`
`
`
`Page 13 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 13 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 14 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4, 2007 Sheet 14 of 39
`
`US 2007/0005804 A1
`
`
`
`
`
`Page 15 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4,
`2007 Sheet 15 Of 39
`
`US 2007/0005804 A1
`
`
`
`Page 16 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4, 2007 Sheet 16 of 39
`
`US 2007/0005804 A1
`
`
`
`F
`
`. 24
`
`Page 17 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 17 of 39
`
`US 2007/0005804 A1
`
`
`
`assa
`192.168.0.243
`
`S
`
`Page 18 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4, 2007 Sheet 18 of 39
`
`US 2007/0005804 A1
`
`
`
`Fig. 27
`
`Page 19 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4, 2007 Sheet 19 of 39
`
`US 2007/0005804 A1
`
`
`
`F
`
`28
`
`Page 20 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 20 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 21 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 21 of 39
`
`US 2007/0005804 A1
`
`
`
`are Steyehere
`Serca 2 (Serca2)
`serca 1 (Serca)
`Dave King (Nightstalker)
`popo popo (popo)
`Tin Old (TinOld)
`
`Page 22 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 22 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 23 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 23 of 39
`
`US 2007/0005804 A1
`
`
`
`
`
`
`
`Page 24 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 24 of 39
`
`US 2007/0005804 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`// ±
`
`, !
`
`Page 25 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 25 of 39
`
`US 2007/0005804 A1
`
`Page 26 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 26 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 27 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 27 of 39
`
`US 2007/0005804 A1
`
`
`
`Page 28 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 28 of 39
`
`US 2007/0005804 A1
`
`PSEE SUTENTRANET COMMUNICATIONS
`
`1. ON LINE LIST
`
`
`
`4. CoNFERENCE to
`JOIN NAME
`
`
`
`
`
`PISEE SUTE
`CENT
`
`
`
`6. SDPBLoB
`V
`
`5. REQUEST
`fo
`JOIN
`CONFERENCE
`
`N
`LOGINSERVER
`
`1. ONLINE
`LIST
`
`PSEE Suit
`CLENT 32
`
`7. CONNFERENCE
`CONNECTED
`
`Fig. 37
`
`STEPS:
`1. On-line list is sent to each client
`2. Client it starts Conference
`3. SDP BLOB" is sent to client #1
`4. Conference name is sent to client #2
`5. Client #2 requests conference name SDP BLOB'
`6 SDP BOB' is sent to client #2
`7. Conference connected
`
`* SDP BLOB contains specific information about each conference
`
`Page 29 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 29 of 39
`
`US 2007/0005804 A1
`
`-
`
`C9
`
`2
`
`9
`5 U
`E
`
`
`
`Page 30 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 30 of 39
`
`US 2007/0005804 A1
`
`d_1WS,
`
`
`
`Page 31 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 31 of 39
`
`US 2007/0005804 A1
`
`PFSEE SUTENTERNET COMMUNICATIONS
`
`
`
`
`
`LOGINSERVER
`
`SENDING AND
`ReCEVNG USER
`ACCOUNTS
`
`RECEIVING RECUEST
`AND SENONG
`BOB INFORMATION
`
`LS SERVER
`
`NERNEf MBONE
`COUD
`
`
`
`
`
`
`
`
`
`
`
`
`
`SENOING AND
`RECEIVING
`CONFrtNCE
`
`
`
`CONFERENCE
`ISP ROUTER
`(NON Muricast TERMINATED
`ENABLEO)
`
`
`
`SENDING
`ReCUST
`
`SPMULCAST
`ENABLED ROUTER
`
`SENOING AND
`RECEIVING
`CONFERENCE
`
`SPMULCAST
`ENABLED ROUTER
`
`SENONG AND
`RECEIVING
`CONFSRENCE
`
`PISEE SUTE
`CLIN 3
`CONFERENCE
`CONNECTED
`
`PSEE SUTE
`CLENT E1
`
`PiSEE SUTE CONFERENCE
`CLENE-2
`CONNECTED
`
`Clients #2 and #3 can join / create a conference without
`difficulty because their ISP uses a multicast enabled
`Outer.
`
`Client #1 will not be able to joint create a conference
`because their ISP does not use a multicast enabled
`router.
`
`Fig. 40
`
`Page 32 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 32 of 39
`
`US 2007/0005804 A1
`
`SEESENTERNET COMMUNICATIONS
`
`SOLUTION
`
`-
`
`OSN SERVER
`
`SENING AND
`RECEIVING USER
`ACCOUNTS
`
`ReCEVINGRECUES
`ANO SENDING
`OBINFORMATION
`
`S SERVER
`
`RECEVNG
`AND SENDING
`BOBENFORMATION
`
`
`
`
`
`MJCAS
`NNENG
`
`SERVER
`
`
`
`
`
`NERNE ABONE
`COU
`
`
`
`V
`SendMG AND
`RECEIVING
`UNCAST
`CONFERENCE SENDING AND
`TO CENT #1
`RECEWING
`NCAS
`CONFERNC
`TO CLENT1
`
`SENONG AN)
`RECEWING SER
`ACCOUNTS
`
`
`
`
`
`SENONG AN
`RECEVNG
`NCAS
`CONFERENCE
`OCENT
`
`
`
`
`
`
`
`CoNFERENCE
`CONNECTED
`
`SPMUticAS
`ENABLEO ROUTER
`
`
`
`SENONG AND
`RECEWING
`CONFERENCE
`
`E
`
`PSEE SE
`CEN2
`
`SNEEENSE
`CONNECTED
`
`ISP ROUTER
`(NON MULTICAST
`ENABLED)
`
`SENDING AN
`RECEWING USER
`ACCOUNS
`
`SEESE
`CEN 1
`
`Fig. 41
`
`Client #2 can join create a conference without difficulty because their ISP uses a multicast enabled
`Outer.
`
`Client #1 will be able to join f create a conference via a Multicast Tunneling Server.
`The Multicast Tunneling Server receives a multicast IP and converts it to a standard unicast Pallowing
`non multicasting routers to receive and transmit the single.
`
`Page 33 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 33 of 39
`
`US 2007/0005804 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Isvoll?nw
`
`Page 34 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 34 of 39
`
`US 2007/0005804 A1
`
`
`
`SERCA is
`
`F.C. IMO, CO."
`
`s
`
`Welcome fo 8ERCA Technologies Online
`Products F. pet Serca Technologies Inc. is 6 research and development
`re... super compey designing citing edge Software creating effordelle
`favoisilag
`and practical applications for business and personal use. Serca g
`Locofor
`Technologies team is 0xperienced in managing all aspects of 3
`reas
`programming and interactive muhimedia such as:
`S.
`• Visual Basic, Visual C++, C++, C
`• Access Programming, VBA for Access. Excel
`8 Cobo. Microfocus CObol
`• SQL-standard query language- SOL Pius
`• Delphi
`o Powerbuilder
`wd
`s
`ere
`
`Page 35 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 35 of 39
`
`US 2007/0005804 A1
`
`
`
`BM compatible
`
`BM Copatible
`
`S.
`
`
`
`login Serve
`
`Fig. 45
`
`Page 36 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 36 of 39
`Always Active
`Every 1/2 second
`
`US 2007/0005804 A1
`
`Variables
`strerrorlogFile
`stirritor
`
`a1 button for 15 ports
`is Not enabled
`
`Else
`
`if button for 25 ports
`is No enabled
`
`Else
`
`
`
`
`
`
`
`
`
`ext
`
`for i loop - 0 to 4
`
`True
`
`EbState() caption is equal to
`state officp Server
`
`False
`
`
`
`for i loop - 5 to 9
`
`bState().ception is equal to
`state of tcp Server
`
`False
`
`Next i
`
`
`
`
`
`
`
`
`
`21 button for 35 ports
`is No enabled
`
`Tre
`
`for iop 10 to 14
`
`rule
`
`bSete(), caption is equal to
`state of tcp Server
`
`Ef
`
`False
`
`Fig. 46
`
`Page 37 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 37 of 39
`
`US 2007/0005804 A1
`
`so-- - - - - - - - -va was ww see eross - as a se -a -- a Kara a vr rv was arms a aaa & a sa- - - - - -sa or a new •
`code
`
`:
`
`- - -
`- -
`- rss - - - - - - - sers. . . -- . . . ---w
`Shared on Network
`
`
`
`
`
`5 ti
`s
`
`ne
`
`Delete Transaction files
`
`
`
`offline Request
`
`R
`
`decypher Transaction(s)
`
`
`
`Read Nife
`
`
`
`:
`
`:
`
`
`
`
`
`Path of where treng, files
`reside on PSProte Serwer
`s
`
`i
`
`i
`:
`:
`:
`
`t
`
`
`
`w-
`
`
`
`
`
`
`
`
`
`
`
`- - - - - - - - - - - - - - - - - - - - - -aa- - - - - - - - - - - - - - - - - -o- - - - - - - - - - - --
`
`------------------------...--------...-----...--...-J.
`- - - - -
`
`Transactions:
`1. User:DNickName PNumberaFriencsert D. FriencNickName friendlp
`OUserd Nickname. Pnumbergfriendused Friendnickname
`
`
`
`Ndles:
`The date being sent to a server must be placed in a text box
`A text box must also be created to hold a reply from the server
`
`Fig. 47
`
`Page 38 of 68
`
`
`
`Patent Application Publication Jan. 4, 2007 Sheet 38 of 39
`
`US 2007/0005804 A1
`
`PrSee Suite Back End Requirements
`
`C C
`Pofile
`O
`database
`
`Behind Firewal
`
`C C
`Login
`Database
`
`
`
`Outside Firewal
`
`. Spawnable, each new instal requires a
`:
`;
`... sepeate processor, unique (P and port
`
`th. a
`
`hubers.
`
`Drive connection
`Mapped Drive
`... rerneAccess to Pendport number
`
`NTERNET
`COU)
`
`Fig. 48
`
`Page 39 of 68
`
`
`
`Patent Application Publication
`
`Jan. 4, 2007 Sheet 39 of 39
`
`US 2007/0005804 A1
`
`
`
`wae,
`
`
`
`pun i samnos tarp
`
`Page 40 of 68
`
`
`
`US 2007/0005804 A1
`
`Jan. 4, 2007
`
`MULTICAST VIDEOCONFERENCING
`
`FIELD
`0001. The present invention relates to the field of data
`transmission. More particularly, the present invention relates
`to videoconferencing using a low-bandwidth approach.
`
`BACKGROUND
`0002 Quality Video Conferencing over a network is
`becoming more and more desirable in businesses and edu
`cation as well as for personal use. Video Conferencing is a
`many-to-many relationship, but also includes video tele
`phony and distance education. Presently, there are two main
`types of audio/video conferencing. First is desktop audio/
`Video conferencing, where a small camera is typically placed
`on top of a personal computer (PC) or workstation and video
`is usually displayed in a small window, potentially with
`shared applications (such as a shared whiteboard). The
`second type of video conferencing is studio based audio/
`Video conferencing. Here, a room is specially equipped for
`Video conferencing with one or more cameras, microphones,
`large monitors and possibly other equipment; such as an
`overhead camera for document viewing (Type 1 is typically
`software based; type 2 is typically hardware based). The
`room in which studio conferencing occurs may not be
`specifically for this purpose. Instead, a standard seminar
`room with portable equipment may be used. Typically, this
`type of conferencing is used for formal meetings.
`0003 Currently, networks and video conferencing func
`tion on a unicast-based technology. Therefore, the internet
`ends up being a best effort network that has high bandwidth
`requirements, significant packet loss, packet delay variation,
`quality degradation and time expenses. As a result, end users
`have become accustomed to the lack of quality in audio/
`Video data transmission and the constant waiting for the data
`to be received.
`0004 As mentioned, typically, the transmission of full
`motion video across any computer network, such as, WAN.
`LAN, CAN, WAP, is achieved using unicast technology.
`Unicast depends on compression and decompression algo
`rithms in order to transmit vast amounts of video/audio data.
`Further, unicast requires delay times for buffering video,
`which is the ability to pre-load portions or all of the video
`onto a computer for viewing. Also, there is a loss of video
`quality when compression of the video is used. The prob
`lems accompanying such transmission can only be achieved
`by:
`0005) 1) hardware modifications
`0006. 2) bulky deployment
`0007 3) high bandwidth availability
`0008 4) large computer processor availability
`0009 5) need for compression of video data
`0010 More importantly, the ability to simultaneously
`video conference more than 3 participants of the video
`conference poses a challenge.
`0011 Compression and decompression costs a lot of time
`and computer resources. Compression also degrades the
`quality of the video/audio data. Over the years, end users
`accepted slow speed and poor video quality. With respect to
`
`audio, certain codecs like MP3 provide more speed but less
`quality. WAV provides better quality but less speed. Thus,
`each time a user downloads video/audio from the internet,
`the user necessarily trades off Some aspect of performance.
`0012. The use of video compression and decompression
`to transfer video data from one source to another requires a
`Sufficient amount of time and the result is poor quality.
`Therefore, video conferencing to a large number of partici
`pants becomes almost impossible in a unicast environment.
`In this situation, as well as many others, a multicast envi
`ronment would alleviate the above mentioned problems with
`its low bandwidth usage and time efficiency benefiting any
`network.
`
`SUMMARY
`0013 In one embodiment, the invention is a method of
`transferring data. The method includes receiving a first video
`data stream at a first machine. The method also includes
`multicasting the first video data stream in uncompressed and
`raw form through a network. The method further includes
`receiving the first video data stream at a second machine.
`The method also includes playing the first video data stream
`on the second machine.
`0014. In an alternate embodiment, the invention is an
`apparatus for videoconferencing. The apparatus includes a
`user interface having a video capture component and a video
`display component. The apparatus also includes a processor
`coupled to the user interface to control the video capture
`component and receive data from the video capture compo
`nent and to control the video display component and send
`data to the video display component. The apparatus further
`includes a network interface coupled to the processor to
`receive data from the video capture component and to
`multicast to a network the data from the video capture
`component. The network interface is further to receive
`multicast video data from the network and to send multicast
`data to the processor for use with the video display compo
`nent.
`0015. In another alternate embodiment, the invention is a
`computer-implemented method of videoconferencing
`through a network. The method includes receiving a first
`video stream at a first machine. Additionally, the method
`includes multicasting the first video stream through the
`network. Moreover, the method includes receiving the first
`Video stream at a set of machines. Also, the method includes
`playing the first video stream on the set of machines.
`0016.
`In yet another alternate embodiment, the invention
`is a machine-readable medium having embodied therein
`instructions, which, when executed by a processor, cause the
`processor to perform a method. The method includes receiv
`ing a first video data stream at a first machine. The method
`further includes multicasting the first video data stream in
`uncompressed and raw form through a network. Also, the
`method includes receiving the first video data stream at a
`second machine. Additionally, the method includes playing
`the first video data stream on the second machine.
`0017. In still another embodiment, the invention is a
`computer-implemented method of videoconferencing
`between multiple computers through a network utilizing a
`low-bandwidth and low-overhead protocol that avoids the
`high resource and high bandwidth requirements of prior
`
`Page 41 of 68
`
`
`
`US 2007/0005804 A1
`
`Jan. 4, 2007
`
`Videoconferencing methods. The method includes receiving
`a first video data stream at a first machine through a user
`interface of the first machine suitable for capturing video
`data. The method also includes multicasting the first video
`stream through the network without first compressing the
`first video stream and without first translating the first video
`stream into a non-video stream data format. The method
`further includes receiving the first video stream as multicast
`through the network at a set of machines. Moreover, the
`method includes playing the first video stream in a manner
`perceptible to users through a user interface for use by users
`to perceive images as received at the first machine on the set
`of machines.
`0018. In yet another alternate embodiment, the invention
`is an apparatus for videoconferencing. The apparatus
`includes a means for receiving a first video data stream. The
`apparatus also includes a means for multicasting the first
`Video data stream in uncompressed and raw form. The
`apparatus further includes a means for receiving the multi
`cast first video data stream at a remote location. Moreover,
`the apparatus includes a means for playing the multicast first
`Video data stream at the remote location.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0019. The following drawings are exemplary of various
`embodiments and are thus illustrative of the claimed inven
`tion rather than limiting.
`0020 FIG. 1: The figure displays the location of frame
`types for inter-frame.
`0021
`FIG. 2: This figure shows how the rate shaper
`manages the compressed video and where it fits in the
`network.
`0022 FIG. 3: The figure displays characteristics of Real
`time transport Protocol.
`0023 FIG. 4: The figure displays characteristics of Real
`time transport control protocol (RTCP).
`0024 FIG. 5: The figure illustrates the process that occurs
`between host and router in Resource Reservation Protocol
`(RSVP).
`0.025
`FIG. 6: The figure illustrates call signaling in
`H.232.
`0026 FIG.7: The figure illustrates RAS control in H.225.
`0027 FIG. 8: The figure shows a Softswitch architecture.
`0028 FIG. 9: The figure shows Real-Time Multimedia
`over ATM (RMOA).
`0029 FIG. 10: The figure displays a TCP control box
`0030 FIG. 11: The figure shows the loss of packets and
`ACK information.
`0031 FIG. 12: The figure displays a RAP simulation
`result of the transmission rate of a single RAP flow with and
`without fine grain rate adaptation. A) Without fine grain rate
`adaptation. B) With fine grain rate adaptation.
`0032 FIG. 13: The figure displays a ratio of throughput
`AIMD/Binomial.
`0033 FIG. 14: The figure demonstrates multicast in the
`forward and reverse direction between two clients.
`
`0034 FIG. 15: The figure shows CPU usage and Oper
`ating System (OS) usage for a unicast and multicast envi
`ronment along with total System Usage (System usage is
`calculated by CPU/RAM usage plus OS usage for both
`methods).
`0035 FIG. 16: The figure illustrates connections between
`an ILS server and users.
`0036 FIG. 17: The figure illustrates a one-to-many con
`nection using an ILS server.
`0037 FIG. 18: The figure illustrates an Intranet connec
`tion for a net meeting.
`0038 FIG. 19: The figure illustrates a source client
`sending raw audio/video data to a number of destinations.
`0.039
`FIG. 20: The figure illustrates an embodiment of a
`P/See Suite internet communications solution.
`0040 FIG. 21: The figure illustrates another embodiment
`of a P/See Suite internet communications solution.
`0041
`FIG. 22: The figure illustrates a multicast system
`showing media streams of a one-to-many net meeting.
`0042 FIG. 23: The figure illustrates sending video from
`one client to another.
`0.043
`FIG. 24: The figure displays the initial P/See user
`interface. When the executable is selected for P/See Suite
`the illustrated application displays. Here the chat box is
`displayed but when the actual application opens one must
`select the chat button in order for it to come into view.
`0044 FIG. 25: The figure displays consequences of the
`ILS button. The ILS (Internet Server Locator) button dis
`plays the illustrated window. This allows the user to use the
`selected ILS, create a new one, delete one from the list, and
`cancel the option.
`0045 FIG. 26: The figure displays consequences of the
`profile button. The Profile button displays the illustrated
`window. It details the users information and gives the user
`the ability to change/update the information. Here the user
`also has the option to hide personal details from other users.
`Any changes to the page will be saved.
`0046 FIG. 27: The figure displays consequences of the
`services button. When the Services button is selected the
`illustrated window displays. It allows the user to select one
`of the quick launch buttons and thereby display the home
`page of the selected web site in the browser.
`0047 FIG. 28: The figure displays consequences of the
`search button. When the search button is selected the illus
`trated window is displayed. Here the user has the ability to
`search for a friend via first name, last name, and/or nick
`name. When the search is complete, clicking on the friends
`name adds them to the list.
`0048 FIG. 29: The figure displays consequences of the
`conditions button. When the button is selected the illustrated
`window appears with the startup tab already selected. Here
`the user is able to select an auto login (No password
`required), change their current status (Available?unavail
`able), and to view system information.
`0049 FIG. 30: The figure displays consequences of the
`conditions button with the friends tab selected. When the
`conditions button is selected and the friends tab is selected
`
`Page 42 of 68
`
`
`
`US 2007/0005804 A1
`
`Jan. 4, 2007
`
`the illustrated form displays. This allows the user to view
`what conditions/restrictions, if any, their friends have. Con
`ditions/Restrictions may include: able to (send and/or
`receive) video, audio, or chat.
`0050 FIG. 31: The figure displays consequences of the
`conditions button with the blocktab selected. The conditions
`buttons displays the interface with the block tab selected.
`Here the user is able to unblock a previous user that was
`selected as a friend. Also, here a new user can be created or
`change users.
`0051 FIG. 32 illustrates an embodiment of two clients
`coupled together through a network Such as the internet.
`0.052
`FIG. 33 illustrates an embodiment of a loop used
`for transmission through checkpoints between two clients.
`0053 FIG. 34 illustrates combination of data streams in
`one embodiment.
`0054 FIG. 35 illustrates connections between user
`devices or clients and servers in one embodiment.
`0.055
`FIG. 36 illustrates users in a conference and prun
`ing in one embodiment.
`0056 FIG. 37 illustrates connection of a conference in
`one embodiment.
`0057 FIG. 38 illustrates double loop connections in one
`embodiment.
`0.058
`FIG. 39 illustrates using an email for multicasting
`in one embodiment.
`0059 FIG. 40 illustrates conference connections and
`terminations in one embodiment.
`0060 FIG. 41 further illustrates conference connections
`and terminations in one embodiment.
`0061
`FIG. 42 illustrates multicasting in one embodi
`ment.
`0062 FIG. 43 illustrates a user interface for videocon
`ferencing in one embodiment.
`0063 FIG. 44 illustrates browsing in a multicast envi
`ronment in one embodiment.
`0064 FIG. 45 illustrates a one-to-many videoconference
`in one embodiment.
`0065 FIG. 46 illustrates the flow of information from a
`Source client computer to the ILS through the login server,
`the profile server, and through the registry server in one
`embodiment.
`0.066
`FIG. 47 illustrates the flow of data through the
`login server, profile server, and registry server in one
`embodiment.
`0067 FIG. 48 illustrates the backend requirements for a
`3-server set-up (login/profile/registry servers) in one
`embodiment
`0068 FIG. 49 illustrates a set of interconnected systems
`with a data stream flowing therebetween in one embodi
`ment.
`
`DETAILED DESCRIPTION
`0069. A method and apparatus for multicast videoconfer
`encing is described. The invention is described with refer
`
`ence to various embodiments, which are exemplary and
`illustrative in nature, rather than limiting. Features or aspects
`of one embodiment may be included in other embodiments
`as appropriate, and may not be required for Some embodi
`ments of the invention. The scope of the invention is
`determined by the appended claims.
`0070 Incorporated herein by reference is application Ser.
`No. 60/425,621 as filed in the United States Patent Office on
`Nov. 11, 2002.
`0071. In one embodiment, the invention is a method of
`transferring data. The method includes receiving a first video
`data stream at a first machine. The method also includes
`multicasting the first video data stream in uncompressed and
`raw form through a network. The method further includes
`receiving the first video data stream at a second machine.
`The method also includes playing the first video data stream
`on the second machine.
`0072. In an alternate embodiment, the invention is an
`apparatus for videoconferencing. The apparatus includes a
`user interface having a video capture component and a video
`display component. The apparatus also includes a processor
`coupled to the user interface to control the video capture
`component and receive data from the video capture compo
`nent and to control the video display component and send
`data to the video display component. The apparatus further
`includes a network interface coupled to the processor to
`receive data from the video capture component and to
`multicast to a network the data from the video capture
`component. The network interface is further to receive
`multicast video data from the network and to send multicast
`data to the processor for use with the video display compo
`nent.
`0073. In another alternate embodiment, the invention is a
`computer-implemented method of videoconferencing
`through a network. The method includes receiving a first
`video stream at a first machine. Additionally, the method
`includes multicasting the first video stream through the
`network. Moreover, the method includes receiving the first
`Video stream at a set of machines. Also, the method includes
`playing the first video stream on the set of machines.
`0074. In yet another alternate embodiment, the invention
`is a machine-readable medium having embodied therein
`instructions, which, when executed by a processor, cause the
`processor to perform a method. The method includes receiv
`ing a first video data stream at a first machine. The method
`further includes multicasting the first video data stream in
`uncompressed and raw form through a network. Also, the
`method includes receiving the first video data stream at a
`second machine. Additionally, the method includes playing
`the first video data stream on the second machine.
`0075. In still another embodiment, the invention is a
`computer-implemented method of videoconferencing
`between multiple computers through a network utilizing a
`low-bandwidth and low-overhead protocol that avoids the
`high resource and high bandwidth requirements of prior
`Videoconferencing methods. The method includes receiving
`a first video data stream at a first machine through a user
`interface of the first machine suitable for capturing video
`data. The method also includes multicasting the first video
`stream through the network without first compressing the
`first video stream and without first translating the first video
`
`Page 43 of 68
`
`
`
`US 2007/0005804 A1
`
`Jan. 4, 2007
`
`stream into a non-video stream data format. The method
`further includes receiving the first video stream as multicast
`through the network at a set of machines. Moreover, the
`method includes playing the first video stream in a manner
`perceptible to users through a user interface for use by users
`to perceive images as received at the first machine on the set
`of machines.
`0076.
`In yet another alternate embodiment, the invention
`is an apparatus for videoconferencing. The apparatus
`includes a means for receiving a first video data stream. The
`apparatus also includes a means for multicasting the first
`Video data stream in uncompressed and raw form. The
`apparatus further includes a means for receiving the multi
`cast first video data stream at a remote location. Moreover,
`the apparatus includes a means for playing the multicast first
`Video data stream at the remote location.
`0077. Multicast technology is not restricted to audio/
`video conferencing. Multicast can be utilized by, but not
`limited to, teleconferencing, distributed games, software/file
`distribution, video/audio distribution, and replicated data
`base updates. Its varied applications are audio/video con
`ferencing, internet telephony, and streaming audio/video.
`0078 Multicast application models can be either point
`to-multipoint or multipoint-to-multipoint. Where point-to
`multipoint is one source to multiple receivers and multi
`point-to-multipoint is multiple sources and multiple
`receivers.
`0079 Unicast technology creates a one-to-one (1 to 1)
`connection from the source computer to the client computer.
`Multicast technology, on the other hand, can create a con
`nection from the source computer to any number of client
`computers by creating a one-to-one, one-to-many, or many
`to-many relationship. With a one-to-many connection, the
`bandwidth is increased by reducing the number of streams
`sent. Unlike unicast, multicast does not have to use com
`pression and decompression to transmit audio/video data.
`Instead, it transmits raw audio/video data over any given
`network leaving a clear, good quality audio/video picture
`and sound. Therefore, multicasting offers efficiency for the
`multicast group and peace and quite for those who are not
`participating.
`0080. There are some desirable features for multimedia
`networking, such as bandwidth, delay, loss, VCR-like func
`tion, and decoding complexity for example. Bandwidth is
`the rate of flow of data from one point to another point over
`time. During this flow there is some delay and loss of data
`occurs. When data is transmitting from sender to receiver
`there is some complexity in decoding algorithm. Therefore,
`it may be useful to have a VCR-like function set, such as,
`play, forward, reverse, stop, and pause for example.
`0081. The following desc