CA2404506A1 - Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies - Google Patents
Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies Download PDFInfo
- Publication number
- CA2404506A1 CA2404506A1 CA002404506A CA2404506A CA2404506A1 CA 2404506 A1 CA2404506 A1 CA 2404506A1 CA 002404506 A CA002404506 A CA 002404506A CA 2404506 A CA2404506 A CA 2404506A CA 2404506 A1 CA2404506 A1 CA 2404506A1
- Authority
- CA
- Canada
- Prior art keywords
- packets
- data streams
- output
- queue
- locations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
Abstract
A distribution network architecture resistant to component failure is provid ed for distributing streaming media which supports partial mesh and ring-based topologies. Data streams are provided to and transmitted from distribution router clusters employing a shared broadcast medium having one-to-many relationship between respective input distribution routers and output distribution routers. The shared broadcast medium can be a plurality of hubs configured to transmit packets and signaling on opposite, unidirectional pat hs.
Claims (25)
1. A system for distributing data streams comprising:
a plurality of input distribution routers;
a plurality of output distribution routers; and a broadcast network connecting the outputs of each of said input distribution routers to the inputs of said output distribution routers, said plurality of input distribution routers being configured to receive multiple equivalent data streams, said broadcast network being operable to provide duplicate said data streams from respective said input distribution routers to each said output distribution routers, said output distribution routers being operable to selectively queue packets from duplicate said data streams to generate an output signal.
a plurality of input distribution routers;
a plurality of output distribution routers; and a broadcast network connecting the outputs of each of said input distribution routers to the inputs of said output distribution routers, said plurality of input distribution routers being configured to receive multiple equivalent data streams, said broadcast network being operable to provide duplicate said data streams from respective said input distribution routers to each said output distribution routers, said output distribution routers being operable to selectively queue packets from duplicate said data streams to generate an output signal.
2. A system as claimed in claim 1, wherein said equivalent data streams are provided by different sources.
3. A system as claimed in claim 1, wherein said packets output from said input distribution routers need not be synchronized and said output distribution routers being operable to synchronize said packets in said output signal.
4. A system as claimed in claim 1, wherein said input distribution routers are operable to provide packets received in corresponding said equivalent data streams with a stream identification code, said output distribution routers being operable to generate said output signal from said packets in said duplicate data streams having a selected said stream identification code.
5. A system as claimed in claim 1, wherein said input distribution routers are configured to store packets in said equivalent data streams in respective variable length queues, the length of said data queues being selected to accommodate a delay associated with providing a plurality of transmission paths for said equivalent data streams.
6. ~A system as claimed in claim 1, wherein said input distribution routers are operable to retransmit packets in their corresponding said equivalent data stream when a collision occurs in said broadcast network.
7. ~A method of distributing data streams comprising the steps of:
transmitting equivalent data streams on plural network paths;
receiving data streams at respective first locations, each of said locations having at least one queue;
identifying received streams via stream identification codes;
queuing packets in said data streams in said at least one queue when received at said respective first locations;
transmitting said packets from said at least one queue in respective said first locations onto a broadcast medium;
receiving said packets from said broadcast medium at second locations, said second locations being operable to receive corresponding said packets from said equivalent data streams; and writing said packets in a queue at respective said second locations.
transmitting equivalent data streams on plural network paths;
receiving data streams at respective first locations, each of said locations having at least one queue;
identifying received streams via stream identification codes;
queuing packets in said data streams in said at least one queue when received at said respective first locations;
transmitting said packets from said at least one queue in respective said first locations onto a broadcast medium;
receiving said packets from said broadcast medium at second locations, said second locations being operable to receive corresponding said packets from said equivalent data streams; and writing said packets in a queue at respective said second locations.
8. A method as claimed in claim 7, further comprising the step of generating an output data stream from said packets in said queue at one of said second locations.
9. A method as claimed in claim 7, further comprising the step of removing said stream identification code from said packets in said queue at one of said second locations.
10. A method as claimed in claim 7, wherein said writing step comprises the step of discarding said packets corresponding to one of said packets stored in said queue at each of said second locations.
11. A method as claimed in claim 7, wherein said packets received via said broadcast medium are queued if said second locations recognize said stream identification code thereof.
12. A method as claimed in claim 7, wherein said packets received via said broadcast medium are queued if said second locations have not previously received a packet having a sequence number corresponding to the received said packets.
13. A method as claimed in claim 7, wherein said packets of said data streams are not synchronized at said first locations.
14. A method as claimed in claim 7, wherein said packets of said data streams need not be synchronized when received at said second locations, and further comprising the steps of:
synchronizing said packets in said queue at said second locations; and generating an output data stream from synchronized said packets.
synchronizing said packets in said queue at said second locations; and generating an output data stream from synchronized said packets.
15. An input device for distributing streaming media comprising:
a receiving device for receiving a data stream comprising packets, said packets having a sequence number;
a processing device connected to said receiving device for providing said packets in said data stream a stream id;
a queue connected to said processing device and having a variable length for storing said packets; and a transmitting device connected to said queue for transmitting said packets in said queue, said processing device being operable to control when said packets are removed from said queue for transmission.
a receiving device for receiving a data stream comprising packets, said packets having a sequence number;
a processing device connected to said receiving device for providing said packets in said data stream a stream id;
a queue connected to said processing device and having a variable length for storing said packets; and a transmitting device connected to said queue for transmitting said packets in said queue, said processing device being operable to control when said packets are removed from said queue for transmission.
16. A input device as claimed in claim 15, wherein the length of said queue is selected in accordance with a system parameter for determining the amount of delay permitted for said packets to traverse multiple network paths.
17. An output device for distribution streaming media comprising:
a receiving device for receiving packets from a broadcast medium providing plural and equivalent data streams, said packets in said data streams having corresponding unique stream identification codes;
a processing device being programmable to filter from said packets corresponding ones of said packets having a selected one of said stream identification codes;
a queue connected to said processing device for storing the corresponding ones of said packets; and a transmitting device connected to said queue for generating a data stream from said packets stored therein.
a receiving device for receiving packets from a broadcast medium providing plural and equivalent data streams, said packets in said data streams having corresponding unique stream identification codes;
a processing device being programmable to filter from said packets corresponding ones of said packets having a selected one of said stream identification codes;
a queue connected to said processing device for storing the corresponding ones of said packets; and a transmitting device connected to said queue for generating a data stream from said packets stored therein.
18. An output device as claimed in claim 17, wherein said processing device is programmable to discard said packets having a sequence number corresponding to that of one of said packets in said queue.
19. An apparatus for distributing data streams comprising:
a first plurality of hubs operable to receive input data streams comprising packets and to generate a plurality of equivalent output data streams therefrom; and a second plurality of hubs each operable to receive a plurality of said output data streams from different ones of said first plurality of hubs and to generate a second output data stream therefrom;
wherein said first plurality of hubs and said second plurality of hubs are operable to generate collision detection signaling when provision, respectively, of said input data streams and said output data stream thereto results in a collision, each of said first plurality of hubs and said second plurality of hubs being said configured to transmit said packets and said collision detection signaling using respective ones of opposite in unidirectional paths.
a first plurality of hubs operable to receive input data streams comprising packets and to generate a plurality of equivalent output data streams therefrom; and a second plurality of hubs each operable to receive a plurality of said output data streams from different ones of said first plurality of hubs and to generate a second output data stream therefrom;
wherein said first plurality of hubs and said second plurality of hubs are operable to generate collision detection signaling when provision, respectively, of said input data streams and said output data stream thereto results in a collision, each of said first plurality of hubs and said second plurality of hubs being said configured to transmit said packets and said collision detection signaling using respective ones of opposite in unidirectional paths.
20. A method of distributing data streams comprising the steps of:
opening a data stream from a plurality of sources therefor;
transmitting said data stream as broadcast data streams to a plurality of input devices;
identifying each of said broadcast data streams with a stream identification code;
storing packets in said data stream received at each of said plurality of input devices in a first queue;
reading from each said first queue to generate an output data stream; and transmitting each said output data stream to a plurality of output devices.
opening a data stream from a plurality of sources therefor;
transmitting said data stream as broadcast data streams to a plurality of input devices;
identifying each of said broadcast data streams with a stream identification code;
storing packets in said data stream received at each of said plurality of input devices in a first queue;
reading from each said first queue to generate an output data stream; and transmitting each said output data stream to a plurality of output devices.
21. A method as claimed in claim 20, further comprising the steps of analyzing each said output data stream received at respective said output devices;
storing said packets in the received said output data stream into a second queue when the corresponding said stream identification code matches a selected stream identification code; and discarding said packets corresponding to each said output data stream received at said output devices that is determined to be duplicative with respect said packets in said second queue.
storing said packets in the received said output data stream into a second queue when the corresponding said stream identification code matches a selected stream identification code; and discarding said packets corresponding to each said output data stream received at said output devices that is determined to be duplicative with respect said packets in said second queue.
22. A method as claimed in claim 20, further comprising the step of generating a second output data stream using at least one of said plurality of output devices.
23. A method as claimed in claim 22, wherein said packets in said output data stream need not be synchronized and said generating step comprises the step of synchronizing said packets in said second output data stream.
24. A method as claimed in claim 20, further comprising the steps of transmitting said second output data stream to at least one device in a ring-based network.
25. A method as claimed in claim 20, further comprising the steps of transmitting said second output data stream to at least one device in a ring-based network and to plural devices via a broadcast.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/537,419 US6725274B1 (en) | 2000-03-29 | 2000-03-29 | Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies |
US09/537,419 | 2000-03-29 | ||
PCT/CA2001/000388 WO2001074016A2 (en) | 2000-03-29 | 2001-03-26 | Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2404506A1 true CA2404506A1 (en) | 2001-10-04 |
CA2404506C CA2404506C (en) | 2010-07-20 |
Family
ID=24142554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2404506A Expired - Fee Related CA2404506C (en) | 2000-03-29 | 2001-03-26 | Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies |
Country Status (4)
Country | Link |
---|---|
US (1) | US6725274B1 (en) |
AU (1) | AU2001242182A1 (en) |
CA (1) | CA2404506C (en) |
WO (1) | WO2001074016A2 (en) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983464B1 (en) * | 2000-07-31 | 2006-01-03 | Microsoft Corporation | Dynamic reconfiguration of multimedia stream processing modules |
FI20010552A0 (en) * | 2001-03-19 | 2001-03-19 | Stonesoft Oy | Processing of state information in a network element cluster |
DE10225548B4 (en) * | 2002-06-06 | 2004-12-30 | Siemens Ag | computer arrangement |
US7624158B2 (en) * | 2003-01-14 | 2009-11-24 | Eycast Inc. | Method and apparatus for transmission and storage of digital medical data |
US7613767B2 (en) * | 2003-07-11 | 2009-11-03 | Microsoft Corporation | Resolving a distributed topology to stream data |
US7712108B2 (en) * | 2003-12-08 | 2010-05-04 | Microsoft Corporation | Media processing methods, systems and application program interfaces |
US7733962B2 (en) * | 2003-12-08 | 2010-06-08 | Microsoft Corporation | Reconstructed frame caching |
US7900140B2 (en) * | 2003-12-08 | 2011-03-01 | Microsoft Corporation | Media processing methods, systems and application program interfaces |
US7735096B2 (en) * | 2003-12-11 | 2010-06-08 | Microsoft Corporation | Destination application program interfaces |
US20050185718A1 (en) * | 2004-02-09 | 2005-08-25 | Microsoft Corporation | Pipeline quality control |
US7934159B1 (en) | 2004-02-19 | 2011-04-26 | Microsoft Corporation | Media timeline |
US7941739B1 (en) | 2004-02-19 | 2011-05-10 | Microsoft Corporation | Timeline source |
US7664882B2 (en) * | 2004-02-21 | 2010-02-16 | Microsoft Corporation | System and method for accessing multimedia content |
US7577940B2 (en) * | 2004-03-08 | 2009-08-18 | Microsoft Corporation | Managing topology changes in media applications |
US7609653B2 (en) * | 2004-03-08 | 2009-10-27 | Microsoft Corporation | Resolving partial media topologies |
US7669206B2 (en) * | 2004-04-20 | 2010-02-23 | Microsoft Corporation | Dynamic redirection of streaming media between computing devices |
US7590750B2 (en) * | 2004-09-10 | 2009-09-15 | Microsoft Corporation | Systems and methods for multimedia remoting over terminal server connections |
US7801127B2 (en) * | 2004-10-25 | 2010-09-21 | Ineoquest Technologies, Inc. | System and method for creating a sequence number field for streaming media in a packet-based networks utilizing internet protocol |
US7852754B2 (en) * | 2006-03-17 | 2010-12-14 | Tellabs San Jose, Inc. | Method and apparatus for managing faults in a ring network |
US9083551B2 (en) * | 2006-03-17 | 2015-07-14 | Tellabs Operations, Inc. | Method and apparatus for media distribution using VPLS in a ring topology |
US8015032B2 (en) * | 2006-05-16 | 2011-09-06 | General Electric Company | Broadcasting medical image objects with digital rights management |
US20090150548A1 (en) * | 2007-11-13 | 2009-06-11 | Microsoft Corporation | Management of network-based services and servers within a server cluster |
US8089863B2 (en) * | 2009-07-28 | 2012-01-03 | Motorola Solutions, Inc. | RF site resilience using multiple visitor location registers simultaneously |
US8726141B2 (en) * | 2009-10-28 | 2014-05-13 | Metaglue Corporation | Content integrity management system |
CN102315640A (en) * | 2010-07-09 | 2012-01-11 | 中国电力工程顾问集团华东电力设计院 | Failure set handling system and method for multilayer power grid |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377327A (en) * | 1988-04-22 | 1994-12-27 | Digital Equipment Corporation | Congestion avoidance scheme for computer networks |
US5093824A (en) | 1990-03-27 | 1992-03-03 | Bell Communications Research, Inc. | Distributed protocol for improving the survivability of telecommunications trunk networks |
EP0562251A2 (en) | 1992-03-24 | 1993-09-29 | Universities Research Association, Inc. | Parallel data transfer network controlled by a dynamically reconfigurable serial network |
DE4416718C2 (en) | 1994-05-11 | 1997-08-21 | Siemens Ag | Circuit arrangement for the trouble-free rerouting of a message cell stream to an alternative path |
CN1150514A (en) | 1994-06-08 | 1997-05-21 | 英国电讯有限公司 | Access network |
US5802278A (en) | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
US5761602A (en) * | 1995-09-13 | 1998-06-02 | Wagner Dsp Technologies | Hybrid multichannel data transmission system utilizing a broadcast medium |
US5831975A (en) * | 1996-04-04 | 1998-11-03 | Lucent Technologies Inc. | System and method for hierarchical multicast routing in ATM networks |
US5809286A (en) | 1996-05-01 | 1998-09-15 | Mci Communications Corporation | Method and apparatus for emulating a dynamically configured digital cross-connect switch network |
US5892535A (en) * | 1996-05-08 | 1999-04-06 | Digital Video Systems, Inc. | Flexible, configurable, hierarchical system for distributing programming |
US5778187A (en) * | 1996-05-09 | 1998-07-07 | Netcast Communications Corp. | Multicasting method and apparatus |
JP3332733B2 (en) * | 1996-07-11 | 2002-10-07 | 株式会社東芝 | Node device and packet transfer method |
US5841775A (en) | 1996-07-16 | 1998-11-24 | Huang; Alan | Scalable switching network |
US5936940A (en) * | 1996-08-22 | 1999-08-10 | International Business Machines Corporation | Adaptive rate-based congestion control in packet networks |
US6101180A (en) * | 1996-11-12 | 2000-08-08 | Starguide Digital Networks, Inc. | High bandwidth broadcast system having localized multicast access to broadcast content |
US6148410A (en) * | 1997-09-15 | 2000-11-14 | International Business Machines Corporation | Fault tolerant recoverable TCP/IP connection router |
US6233245B1 (en) * | 1997-12-24 | 2001-05-15 | Nortel Networks Limited | Method and apparatus for management of bandwidth in a data communication network |
US6195349B1 (en) | 1998-01-28 | 2001-02-27 | 3Com Corporation | Scalable logical LAN |
US6577634B1 (en) * | 1998-07-01 | 2003-06-10 | Hitachi, Ltd. | Method for sharing network information and a router apparatus |
US6349329B1 (en) * | 1998-09-29 | 2002-02-19 | Radiowave.Com, Inc. | Coordinating delivery of supplemental materials with radio broadcast material |
US6006259A (en) | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
US6408000B1 (en) * | 2000-03-24 | 2002-06-18 | Securities Industry Automation Corporation | Multicast data distribution system |
-
2000
- 2000-03-29 US US09/537,419 patent/US6725274B1/en not_active Expired - Lifetime
-
2001
- 2001-03-26 AU AU2001242182A patent/AU2001242182A1/en not_active Abandoned
- 2001-03-26 WO PCT/CA2001/000388 patent/WO2001074016A2/en active Application Filing
- 2001-03-26 CA CA2404506A patent/CA2404506C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2001074016A2 (en) | 2001-10-04 |
WO2001074016A3 (en) | 2002-02-28 |
AU2001242182A1 (en) | 2001-10-08 |
US6725274B1 (en) | 2004-04-20 |
CA2404506C (en) | 2010-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2404506A1 (en) | Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies | |
US6529508B1 (en) | Methods and apparatus for packet classification with multiple answer sets | |
US7187687B1 (en) | Pipeline method and system for switching packets | |
US7738450B1 (en) | System architecture for very fast ethernet blade | |
US8718051B2 (en) | System and method for high speed packet transmission | |
US8824466B2 (en) | Creating and/or managing meta-data for data storage devices using a packet switch appliance | |
HU203178B (en) | Switching system and method for switching digital signals converted into symbol sequences provided with a head of path information content | |
JP5615747B2 (en) | Optical packet transmission / reception system | |
EP1432203A3 (en) | Low latency digital audio over packet switched networks | |
WO2002056525A2 (en) | Technique for forwarding multi-cast data packets | |
CN103944837A (en) | A network processor unit and a method for a network processor unit | |
JP2005260967A (en) | Method, apparatus and system for synchronized combining of packet data | |
JPH0574978B2 (en) | ||
JP2002164915A (en) | System and method for synchronizing communications | |
CA2371037C (en) | A node and method for the removal of expired packets from a communication network | |
JP2003518874A (en) | data communication | |
US7590090B1 (en) | Time segmentation sampling for high-efficiency channelizer networks | |
JPH08510887A (en) | Synchronization circuit structure | |
EP1052808A1 (en) | Communications network using priority classes | |
JP2022524423A (en) | Transmitters and receivers, serializers and deserializers, methods for transmission and reception, and methods for serialization and deserialization. | |
Wang et al. | Flexilink: A unified low latency network architecture for multichannel live audio | |
JP2009171157A (en) | Utilization method of ring buffer, and switching device | |
US20020037018A1 (en) | Apparatus and method for reducing the line rate of time-multiplexed signals | |
Shoch | Design and performance of local computer networks | |
US8666248B2 (en) | Method for data frame reduction in a photonic-based distributed network switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20180326 |
|
MKLA | Lapsed |
Effective date: 20180326 |