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 PDF

Info

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
Application number
CA002404506A
Other languages
French (fr)
Other versions
CA2404506C (en
Inventor
David Slik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bycast Inc
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2404506A1 publication Critical patent/CA2404506A1/en
Application granted granted Critical
Publication of CA2404506C publication Critical patent/CA2404506C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session 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.
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.
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.
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.
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.
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.
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.
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.
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.
CA2404506A 2000-03-29 2001-03-26 Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies Expired - Fee Related CA2404506C (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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