US6310886B1 - Method and apparatus implementing a multimedia digital network - Google Patents

Method and apparatus implementing a multimedia digital network Download PDF

Info

Publication number
US6310886B1
US6310886B1 US09/135,753 US13575398A US6310886B1 US 6310886 B1 US6310886 B1 US 6310886B1 US 13575398 A US13575398 A US 13575398A US 6310886 B1 US6310886 B1 US 6310886B1
Authority
US
United States
Prior art keywords
network
node
packet
schedule
nic
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.)
Expired - Lifetime
Application number
US09/135,753
Inventor
James M. Barton
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.)
Citigroup Global Markets Realty Corp
Adeia Media Solutions Inc
Original Assignee
Tivo Inc
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 Tivo Inc filed Critical Tivo Inc
Priority to US09/135,753 priority Critical patent/US6310886B1/en
Assigned to TIVO, INC. reassignment TIVO, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BARTON, JAMES M.
Priority to AU51067/99A priority patent/AU5106799A/en
Priority to PCT/US1999/016113 priority patent/WO2000018108A2/en
Priority to US09/953,472 priority patent/US7158531B2/en
Application granted granted Critical
Publication of US6310886B1 publication Critical patent/US6310886B1/en
Assigned to CITYGROUP GLOBAL MARKETS REALTY CORP. reassignment CITYGROUP GLOBAL MARKETS REALTY CORP. SECURITY AGREEMENT Assignors: TIVO INC.
Assigned to CITIGROUP GLOBAL MARKETS REALTY CORP. reassignment CITIGROUP GLOBAL MARKETS REALTY CORP. CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 018866 FRAME 0510. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Assignors: TIVO INC.
Assigned to TIVO INC. reassignment TIVO INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CITIGROUP GLOBAL MARKETS REALTY CORP., AS ADMINISTRATIVE AGENT
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TIVO SOLUTIONS INC.
Assigned to TIVO SOLUTIONS INC. reassignment TIVO SOLUTIONS INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: TIVO INC.
Anticipated expiration legal-status Critical
Assigned to TIVO SOLUTIONS INC. reassignment TIVO SOLUTIONS INC. RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Assignors: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Definitions

  • the invention relates to data communications networks. More particularly, the invention relates to an improved method and apparatus for managing the allocation of data capacity on a physically shared network segment among devices attached to that segment, where the shared access method uses Time Division Multiple Access (TDMA) techniques within a baseband channel.
  • TDMA Time Division Multiple Access
  • TDMA networks are described in R. Metcalfe, D. Boggs, C. Thacker, B. Lampson, Multipoint data communication system with collision detection , U.S. Pat. No. 4,063,220 (Dec. 13, 1977).
  • the Metcalfe et al patent is a seminal teaching, presently being referenced in 186 other patents. Examples of such networks are traditional Ethernet, IEEE Standard 802.3 for coaxial cable, and IEEE Standard 802.11 for local area wireless networking. Additionally, new technologies are being developed which provide Ethernet-like characteristics on other physical mediums, such as Category 1 or 2 unshielded twisted pairs or AC power lines.
  • a feature of most emerging shared-capacity technologies is that the achievable transmission rate between nodes on the network varies based on such factors as the node itself, topology of the network, and electrical noise. Such networking is often called rate-adaptive networking because each node adapts it's basic transmission parameters to achieve the best rate to some other node. Unlike previous shared-capacity networks, it is not possible to describe the maximum bandwidth of the network, or to predict a priori the achievable data rate between any two nodes.
  • ethernet refers to all such networks. Fundamental characteristics of an ethernet are:
  • CSMA Carrier Sense Multiple Access
  • CD Collision Detection
  • a random backoff algorithm which attempts to de-synchronize nodes which have sent colliding packets by having each node wait a (short) random amount of time before retrying the transmission.
  • streaming media refers to long-term, continuous flows of digital information that must achieve a constant data rate measured over short periods.
  • the device has a packet buffer of some fixed size, and it is the responsibility of the sending device to insure that packets are delivered in a timely way such that the buffer never becomes empty, and that there is always room in the buffer for the next packet sent.
  • on-demand refers to other digital information flows on the network.
  • data fetched by an Internet Web browser is usually formatted as packets of TCP data, but there is no time-sensitivity to how the packets actually flow through the network. Buffers for such traffic are assumed to be large and carefully managed in software. Ideally, it is desirable to mix streaming media and on-demand traffic arbitrarily on the network to achieve the most efficient use of the network bandwidth. However, the two types of traffic are counter-posed in requirements for the underlying network.
  • Token passing schemes have serious weaknesses that preclude their use in many environments. These include a requirement that all nodes have the same bandwidth to all other nodes; each node must implement complex recovery schemes to reconstruct capacity allocations and prioritization if any node fails; each node must implement a complex suite of protocols to insure reliable operation, thus increasing the cost of a node and lowering it's reliability (from both hardware and software failures); and passing the token through intermediate, non-transmitting nodes adds latency and decreases capacity. Token-ring networks have fallen into technical disfavor versus ethernet networks in many applications for these reasons.
  • K. Crisler, M. Needham, Method for Multi-Purpose Utilization of Resource in a Communication System , U.S. Pat. No. 5,295,140 (Mar. 15, 1994) and K. Sardana, Adaptive Hybrid Multiple Access Protocols , U.S. Pat. No. 5,012,469 (Apr. 30, 1991) contain a good overview of these methods, which may be generally referred to as reservation protocols. In these methods, it is assumed that each node has sufficient capability to participate in a contention-based reservation protocol, resulting in long-term assignment of shared network capacity to particular nodes.
  • a general feature of these methods is the complexity of the reservation protocol, which increases the cost to implement any given node and reduces the node's reliability. Additionally, these protocols require each node to advertise it's desire for the resources of the network continuously to maintain it's reservation. This is done to allow quick recovery from failed nodes, but it consumes additional network bandwidth that might be more gainfully used and increases node cost. Finally, the overall capacity of the network is lowered because it is not always possible to fill each fixed-size slot to capacity.
  • RSVP Resource Reservation Protocol
  • RSVP in a single shared network environment is that it is a peer-to-peer protocol, and assumes intermediate routers are simply allocating and deallocating bandwidth within their backplane and at the network ports, such that notions of total available bandwidth and managed reservations are disallowed.
  • the devices share a physical network and the bandwidth between any two devices is arbitrary, the lack of such knowledge leads to conflicts between devices. This is a key issue, one as yet unresolved by any standard protocol specification.
  • the method and apparatus described herein addresses the problems of bandwidth allocation on a shared digital network, using a unique, novel, and simple mechanism for scheduling streaming media and on-demand transmissions such that efficient use of the network is achieved, while maintaining stable data delivery rates.
  • One embodiment of the invention provides a simple means by which any device can present a sequenced stream of packets to a network for transmission and have those packets sent at precisely specified times. This function is implemented with minimal additional hardware in each network node, thereby reducing or eliminating added cost.
  • Another embodiment of the invention allows nodes to transmit on-demand packets on the network without disrupting the ongoing flow of streaming data, and without requiring the intervention of any centralized controller or the use of a token-passing or slotted reservation scheme.
  • Another embodiment of the invention provides for maximal efficiency in the transmission of on-demand data by allowing nodes to contend for access to the shared network during times when the network is available for on-demand data. At the same time, any conflict that might arise if all nodes were not able to send their packets during one of those periods is avoided.
  • FIG. 1 is a block schematic diagram showing a general model of a rate-adaptive broadcast packet network in which transmission rate and signal quality may vary between nodes;
  • FIG. 2 is a block schematic diagram showing an abstract working model on which the herein described method and apparatus are used according to the invention.
  • FIG. 3 is a block schematic diagram showing enhancement to a software driver interface for a normal NIC according to the invention.
  • FIG. 4 is a flow diagram showing how schedule data structure maintained in each node describes active streams, bandwidth allocation, and candidate slot for non-stream transmissions according to the invention.
  • This invention relates generally to an improved method and apparatus for managing the allocation of data capacity on a physically shared network segment among the devices attached to that segment, where the shared access method uses Time Division Multiple Access (TDMA) techniques within a baseband channel.
  • TDMA Time Division Multiple Access
  • FIG. 1 is a block schematic diagram showing a general model of a rate-adaptive broadcast packet network in which transmission rate and signal quality may vary between nodes according to the invention.
  • the method and apparatus of this invention concern the enhancements, modifications, and methods required to implement a streaming media service which operates in parallel with on-demand packet-based services on a shared-media ethernet style network 10 which may include a network controller 12 , while providing reliable, glitch-free delivery of the streaming media between various network nodes 14 - 18 , and while maximizing the efficient use of the physical transmission medium.
  • FIG. 2 is a block schematic diagram showing a typical abstract networking model on which the herein described method and apparatus are used according to the invention.
  • bold lines indicate specific areas which are addressed by the method and apparatus disclosed herein, i.e. real-time packet protocol 20 , a bandwidth allocation protocol 21 , and a Network Interface Component (NIC) 22 .
  • NIC Network Interface Component
  • NIC Network Interface Component
  • a method which provides for the distributed management of available bandwidth on a Local Area Network (LAN) to achieve maximal use of the physical transmission medium, while meeting standards for Quality-of-Service (QOS) for streaming media.
  • LAN Local Area Network
  • QOS Quality-of-Service
  • a preferred embodiment of a method for performing the distributed reservation of bandwidth on the shared transmission medium which is both reliable and simple to implement.
  • NIC Network Interface Component
  • Standard practice NIC hardware combines three functions:
  • PHY Physical Layer
  • FIG. 2 Physical Layer (PHY) 24 (FIG. 2 ), which handles the actual media and which varies depending on the media type. This application contemplates no new or unique methods or techniques in regards to physical network media.
  • MAC 23 which is responsible for obtaining control of the network transmission medium, and properly framing and transmitting a packet of data on that medium.
  • the methods of this application apply specifically to networks which use the Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol which is the standard for contention-based broadcast (i.e. ethernet) networks.
  • CSMA/CD Carrier Sense Multiple Access with Collision Detection
  • This invention contemplates no new or unique methods or techniques in regards to media access control.
  • Sequencing and control which concerns for example retrying transmission if the carrier is busy or conflicts occur; moving packets between local buffers and host memory as required; and interacting with the host to handle control operations properly, such as interrupts, or starting and stopping the NIC.
  • the host provides packets for transmission along with certain control flags and other data which modify how the NIC processes a packet.
  • the methods and apparatus of this invention apply to this group of functions 22 .
  • FIG. 3 is a block schematic diagram showing enhancement to a software driver interface for a normal NIC according to the invention.
  • FIG. 3 gives a pictorial overview of the additional NIC apparatus supporting the invention. There are the five key elements of this apparatus:
  • the NIC incorporates a free-running counter 31 with at least microsecond resolution, and a suitably long period. This counter may be read or modified by the host processor at any time.
  • Various flags 32 may be set.
  • the NIC In response to a flag 34 which may be set individually for each packet, the NIC is required to load a register 33 with a host-specified value, this register being identical in size with (1) above. The NIC is then required to wait, without accessing the transmission media, until the register value matches that of the free-running counter 51 . When this occurs, the NIC must transmit the packet (except see (3)).
  • This register is referred to as the PREWAIT register herein.
  • the host may set another flag 35 for each packet indicating that the packet itself should not be transmitted on the media.
  • the actions of (2) above shall apply, except that when the counter values match (as determined by a comparator 36 , the NIC marks the packet done and continues on to the next packet in sequence.
  • the NIC In response to another flag 39 which may be set individually for each packet, the NIC is required to load a register 38 with a host specified value, this register being identical in size with (1) above. The NIC then transmits the packet, after waiting until the appropriate time if (2) above is active. The NIC may encounter contention for the transmission media. If the NIC is unable to send the packet before this register value matches that of the free-running counter 51 , as determined by a comparator 39 , then it ceases attempting to transmit the packet, and indicates that it was not sent by setting the appropriate bit in host memory. If case (3) is active, i.e. the packet was not to be transmitted, the NIC waits until this register matches the value of the free running counter, indicates it has finished with the packet, and continues operation. This register is referred to as the TIMEOUT register herein.
  • the host on demand, may request that a packet which is waiting for transmission as described in (2) above be canceled. If transmission has not yet begun, the packet flags 37 are marked appropriately, and the NIC stops processing packets. Otherwise, transmission of the packet is completed normally.
  • a schedule 48 for the transmission medium 44 indicating when various network devices are permitted to transmit on the medium 44 , and to indicate unscheduled portions of the bandwidth 45 which are contended for by the devices.
  • Such a strategy allows the designer to eliminate network contention during periods where scheduled transmissions 46 are taking place. It also allows for limited contention for unscheduled portions of the bandwidth 45 , with the ability to stop contention in time for the next scheduled transmission.
  • Standard scheduling algorithms rely on the fact that there is a fixed amount of some quantity (e.g. time, material, processor clock cycles, or IO channel capacity) available, and then use some form of fitting algorithm to distribute this fixed quantity among competing demands.
  • some quantity e.g. time, material, processor clock cycles, or IO channel capacity
  • this form of scheduling is not possible because each device may communicate at a different rate with any other given device.
  • the method described here relies on the observation that while transmission rates are unpredictable on such a network, the time it takes to transmit a block of X bytes between two nodes is solely determined by the achievable bandwidth between those nodes and the size of the block to be transmitted. If an arbitrary scheduling interval is chosen, then it becomes possible to schedule the use of the medium based on the time it takes for each transmission, regardless of the available bandwidth between any two nodes.
  • FIG. 4 is a flow diagram showing how a scheduling data structure maintained in each node describes active streams, bandwidth allocation, and candidate slots for non-stream transmissions according to the invention
  • Each node on the network is required to maintain a representation of the network schedule locally.
  • Each node is also responsible for setting the free-running counter 51 (see FIG. 3) in the NIC with a network-relative clock value 52 which is periodically broadcast by a selected node. The period of this broadcast is determined by the maximum acceptable clock drift in each node, such that synchronization of each nodes' clock with a central clock is maintained.
  • the schedule consumes very little space.
  • Each scheduled block of time is represented by an allocation record 40 , which contains fields describing the network clock time at which the block begins, the duration of time represented by the block, and the re-scheduling period, for continuous, constant-rate streams of data.
  • the schedule may be thought of as beginning at the time ⁇ NOW>, and continuing indefinitely into the future.
  • the block represents a constant rate stream of data
  • the block is re-inserted at the appropriate point in the schedule for sending the next block of data.
  • This method of scheduling use of the shared network is unique, in that there is no fixed-duration schedule nor any notion of the maximum capacity of the network or that this capacity is explicitly divided into fixed-size chunks. It is also unique in that many of the scheduling tasks, such as maintaining the reservation for a streaming media transmission, are distributed and performed on each node in parallel, regardless of the presence or absence of particular nodes.
  • Allocation records are set up and (eventually) torn down on command from a selected node.
  • a portion of the network schedule is reserved for management overhead, which includes managing allocation records. This reservation is sized for a broadcast bandwidth suitable to reach every device on the network, i.e. it is sized for the device with the lowest available bandwidth. This implies that allocation records can be set up or torn down in every node on the network with a single transmission.
  • a node When a node receives an allocation message, it performs the proper operation on it's local copy of the schedule. If the node is not sending the stream of data, it allocates a dead-space record 43 , which indicates to the node that it is not to transmit during that period (it can still receive packets).
  • the NIC apparatus above easily supports this strategy.
  • the NIC software driver For each packet, the NIC software driver provides the proper clock values and flag settings (refer to FIG. 3) to cause the packet to be sent at the correct time.
  • the schedule has a direct correspondence to the typical ring-buffer algorithm used for queuing packets to be sent through a NIC.
  • one preferred embodiment of the invention combines a buffer and an allocation record into a single data structure, and uses the ring-buffer to hold the schedule (refer again to FIG. 4 ).
  • a useful discussion of this method can be found in B. Petersen, W. Sherer, D. Brown, L.-C. Lo, Network interface with host independent buffer management , U.S. Pat. No. 5,299,313 (Mar. 29, 1994).
  • the NIC enhancements described earlier add a layer of software controlled sequencing and synchronization to the basic NIC behavior.
  • Begin insertAllocationRecord ⁇ if (schedule is empty) ⁇ insert record at start of schedule: start NIC; return; ⁇ for (each record in the schedule) do ⁇ if (new record goes before this record) ⁇ if (this record is first in schedule) ⁇ stop NIC; insert new record; start NIC; ⁇ otherwise ⁇ insert new record; ⁇ return; ⁇ ⁇ insert record at end of schedule; ⁇ End
  • This algorithm relies on the fact that the NIC has been made synchronous by requiring it to wait until a particular clock value before transmitting a packet. Therefore, the first record in the schedule always represents a packet in the NIC waiting for transmission. If a new allocation record is to be sent at a time between ⁇ NOW> and when the waiting packet would be sent, then the waiting packet must be canceled, the new record inserted, and the NIC restarted with the new packet.
  • the NIC software driver For allocation records which reserve space for other nodes to transmit, the NIC software driver indicates that a packet should not actually be sent when the proper clock value is reached; instead the NIC waits until the contention timeout value is reached, and then continues processing the next packet.
  • An object of this method is to combine time-sensitive (i.e. streaming media) transmission with on-demand data transmission, such that packets involved in synchronous data transmissions are unaffected by other traffic, while providing the maximum possible throughput for on-demand data.
  • time-sensitive i.e. streaming media
  • This method provides for this capability through simple modifications of the basic scheduling method and apparatus. Note that all network transmissions are of known duration because packet size and bandwidth between source and destination nodes is known.
  • the NIC software driver on a particular node scans it's local copy of the schedule 47 , inserting the packet 48 , 43 into the first unscheduled space 45 big enough to hold it.
  • the method for inserting streaming media packets is modified, such that if a conflict occurs between a streaming media and an on-demand packet, the streaming media packet is always scheduled into that space. A previously scheduled on demand packet is deleted from the schedule and re-inserted in the first available slot in this case, having been replaced in the schedule by the streaming media packet.
  • Ordering of transmission of asynchronous packets from different sources may not be maintained because they vary in size, and a particular available transmission window may be too small for a given packet, which is expected behavior from an Ethernet style network. However, ordering of packets from the same source is maintained by this method.
  • IP Internet Protocol suite
  • IP has certain low-level maintenance protocols, such as ICMP, RIP, ARP and others which involve rare, single-packet transmissions.
  • TCP is designed to work well between widely scattered nodes on the Internet, therefore throughput varies dramatically and packets arrive at random intervals.
  • Dedicating bandwidth for such traffic is both wasteful and performance-limiting: wasteful because the bandwidth is mostly unused, and performance-limiting because the dedicated bandwidth is, by necessity, small.
  • Reservation protocols have far too much overhead for small-scale transmissions and are ideally suited for streaming media, rather than on-demand, scheduling.
  • This method maintains the contention-based model of all ethernet-style networks for on-demand transmission.
  • two or more nodes may choose the same interval in which to send their data.
  • the probability of collisions is quite small on a moderately loaded network, so this is a good choice. Problems occur, however, because of the nature of CSMA/CD.
  • the CSMN/CD algorithm relies on a random backoff algorithm for determining when to make the next attempt at sending the packet.
  • the idea is randomize the interval between when attempts are made to transmit the packets, resulting in a greater probability of no collisions.
  • the NIC may hold the packet past the start time of the next scheduled packet, resulting in a schedule violation.
  • the driver sets a timeout value that is equal to the time for the next on-demand packet to be sent less the time it takes to transmit the packet. This insures that either: a) the packet was sent, and the NIC is ready for the next streaming media packet; or b) the packet is timed out properly, and the NIC is again ready for the next streaming media packet. It is necessary that the transmission time of the packet be allowed for during scheduling because it is not possible for a packet which has begun transmission to be canceled. Leaving this buffer insures that NIC is always finished with the previous operation before encountering the streaming media packet.
  • a device 15 When a device 15 is first connected to the network 10 , it awaits the periodic broadcast of the network synchronization clock 62 . An implicit window for on-demand transmission is reserved immediately succeeding this clock, and the new node 15 contends for this slot in order to broadcast a request for download of the current schedule 61 . If it cannot successfully send the packet in this window, it awaits the next clock broadcast.
  • the node 14 providing the network synchronization clock broadcast is responsible for responding to the download request with an on demand transmission of the current schedule 62 . Once the schedule 62 is received, the new node 15 is permitted to begin regular operation, typically by broadcasting an on-demand packet identifying itself.
  • the first node to initialize on the network does not receive the periodic clock update. After waiting a specific amount of time, the node may assume that it must take responsibility for broadcasting the periodic network clock, and responding to other devices as they initialize. It also initializes it's schedule to empty. Nodes which join the network later are thus properly initialized.
  • each node continues to follow the transmission schedule, so operation of the network continues properly and transparently. After a certain time, each node recognizes that the broadcast clock has not been received. At the next available opportunity, the nodes broadcast to each other a copy of their local NIC clock register. By definition, some node succeeds in sending it's clock first. A feature of this method is that each node ignores such broadcasts unless they originate at the assumed clock node or the clock timeout has occurred. The first successful clock broadcast after the previous clock node failed resets this timeout value and indicates the clock node, causing succeeding clock broadcasts from other nodes to be ignored.
  • All devices which can stream data use this method to detect device (or network) failures: during the life of the stream, the receiver is responsible for broadcasting periodic on-demand packets indicating it's continued interest in receiving the stream. All nodes on the network use these packets to reset an internal countdown timer to a preferred value. If this timer goes to zero, each node assumes that the receiver has failed or become inaccessible, and releases the allocation record associated with that stream. The sender also ceases sending the streaming data. This scheme insures that the network capacity represented by the stream is properly recovered, even if both the sender and receiver fail.
  • a unique feature of this method is that reservation of network capacity is completely independent of continuing proper operation of nodes on the network. In fact, there is no requirement for a central network controller of any kind, resulting in a self-managed network of nodes.
  • the nodes on the network rely on a peer-to-peer broadcast protocol for managing reservations.
  • the methods described here provide for a great improvement over existing reservation methods, such as those described in the previously mentioned U.S. Pat. Nos. 5,295,140 and 5,012,469. This improvement in existing methods is possible because each node contains within it a copy of the entire schedule, and this schedule is synchronized across all nodes by the periodic network clock broadcast.
  • a node When a node desires to reserve an allocation record for transmitting streaming media, it examines it's copy of the schedule and chooses an appropriate time for the first transmission. During the next available on-demand window it broadcasts an allocation message to all nodes.
  • each node (including the node requesting the allocation) receives the broadcast, it attempts to update it's schedule. If a previously scheduled streaming media transmission conflicts with the new allocation, the new request is ignored. This method insures that the in the case of simultaneous allocation requests that only one request succeeds because the broadcast nature of the transaction assures that the requests are serialized.
  • the requesting node After broadcasting a request, the requesting node checks its copy of the schedule to see if the request is present. If so, the request succeeded, and the node may begin transmitting the streaming media according to the schedule. Otherwise, the node must choose a new position in the schedule and broadcast a new request for it.
  • NIC Network Interface Component
  • the NIC can be operated in a direct mode, i.e. that commands may be explicitly given to the NIC to transmit a packet or cancel a packet.
  • the typical ring-buffer structure which allows semi-autonomous operation by the NIC is bypassed.
  • Nearly all NIC interfaces support such operation for diagnostic or real-time control purposes, of which the alternative embodiment is an example.
  • a ring-buffer structure is typically used to provide a level of decoupling between NIC operation and host processing, which can increase performance by allowing parallel operation of the NIC and the host, and reduces host load by requiring less processing for each packet sent or received.
  • employing a ringbuffer structure has no advantage over direct management of packet transmission by a separate controller. This leads to the alternative embodiment.
  • a NIC enhanced with the preferred embodiment has a resolution equivalent to that of the continuous counter in the preferred embodiment.
  • the effective resolution of the counter must be reduced to that of the slowest responding device on the network.
  • a software driver is assumed which has access to a high-precision clock which can be used to trigger an interrupt.
  • the schedule for the shared network is followed by this driver.
  • the driver does as follows:
  • NIC_Transmit_Interrupt() Mark current packet done, reschedule if appropriate; Fetch next packet in schedule; if (packet is not to be transmitted) ⁇ calculate clock offset to packet timeout value; set timer to interrupt controller at (now + offset); return; ⁇ if (packet is streaming data) ⁇ calculate clock offset to packet transmit time; set timer to interrupt controller at (now + offset); return; ⁇ /* must be an on-demand packet */ if (timeout for contention) ⁇ calculate clock offset to packet timeout value; set timer to interrupt controller at (now + offset); ⁇ instruct NIC to transmit packet; ⁇ Timer_Interrupt_SendNow ⁇ /* called for streaming data packet */ instruct NIC to transmit packet; ⁇ Timer_Interrupt_Timeout ⁇ /* called for timeouts */ cancel NIC packet transmission, if active; call NIC_Transmit_Interrupt to simulate NIC completion; ⁇
  • Timer interrupt accuracy is 10 milliseconds, implying that there are 100 slots available.
  • timer interrupt accuracy is 10 milliseconds, implying that there are 100 slots available.
  • On a 10 Mbit/sec network it is possible to send approximately 10 Kbytes of data every 10 milliseconds. If a packet is only 1 Kbyte in length, then 90% of the capacity of a slot is wasted.
  • An example might be a simple audio playback device that has only a 1 Kbyte buffer to minimize cost, and requires 50 Kbyte/sec of data for uninterrupted playback. This implies 50 of the available 100 slots are only 10% filled, and thus network efficiency overall has been reduced by 45%.

Abstract

A method and apparatus for efficiently managing the allocation of available data capacity on a physically shared digital network among devices connected to that network is disclosed. Also disclosed is a method and apparatus for managing the ongoing timely movement of data on the shared network such that precise long-term data rates are achieved between attached devices with minimal additional buffering. The invention further comprises a method and apparatus which allows the use of any remaining network capacity for non time-critical data movement without the need for centralized access management.

Description

This application claims benefit of provisional application 60/057,155, filed Aug. 28, 1997.
BACKGROUND OF THE INVENTION
1. Technical Field
The invention relates to data communications networks. More particularly, the invention relates to an improved method and apparatus for managing the allocation of data capacity on a physically shared network segment among devices attached to that segment, where the shared access method uses Time Division Multiple Access (TDMA) techniques within a baseband channel.
2. Description of the Prior Art
TDMA networks are described in R. Metcalfe, D. Boggs, C. Thacker, B. Lampson, Multipoint data communication system with collision detection, U.S. Pat. No. 4,063,220 (Dec. 13, 1977). The Metcalfe et al patent is a seminal teaching, presently being referenced in 186 other patents. Examples of such networks are traditional Ethernet, IEEE Standard 802.3 for coaxial cable, and IEEE Standard 802.11 for local area wireless networking. Additionally, new technologies are being developed which provide Ethernet-like characteristics on other physical mediums, such as Category 1 or 2 unshielded twisted pairs or AC power lines.
A feature of most emerging shared-capacity technologies is that the achievable transmission rate between nodes on the network varies based on such factors as the node itself, topology of the network, and electrical noise. Such networking is often called rate-adaptive networking because each node adapts it's basic transmission parameters to achieve the best rate to some other node. Unlike previous shared-capacity networks, it is not possible to describe the maximum bandwidth of the network, or to predict a priori the achievable data rate between any two nodes.
As used herein, the generic term “ethernet” refers to all such networks. Fundamental characteristics of an ethernet are:
Σ A number of nodes, each free to choose to transmit at any time;
Σ An access-checking scheme, termed Carrier Sense Multiple Access (CSMA), in which a node checks if the shared network is in use before transmitting;
Σ Collision Detection (CD), in which a node monitors the shared network as it is transmitting, to detect if another node began transmitting simultaneously, thus garbling the data; and
Σ A random backoff algorithm which attempts to de-synchronize nodes which have sent colliding packets by having each node wait a (short) random amount of time before retrying the transmission.
As used herein, the generic term “streaming media” refers to long-term, continuous flows of digital information that must achieve a constant data rate measured over short periods. For example, consider a network device which accepts network packets containing compressed audio data, and then uses that data to produce the corresponding audio signals that drive a speaker. The device has a packet buffer of some fixed size, and it is the responsibility of the sending device to insure that packets are delivered in a timely way such that the buffer never becomes empty, and that there is always room in the buffer for the next packet sent. This implies that each packet in the stream must be sent at a constant interval, said interval being based on the transmission speed, buffer size, and rate at which the audio data are consumed. This interval may vary over short periods depending on the size of the receiving buffer. This implies that larger buffers can smooth the effects of contention for the shared network as long as sufficient network bandwidth is available to achieve the long-term delivery rate.
Large buffers are expensive in many ways, so it is desirable to use methods of transmitting streaming media that minimize the required receiving buffer size. For example, if the audio device described earlier is two-way, the use of large buffers results in a time-shift between the incoming and outgoing streams which is easily detectable and usually annoying. The physical cost and implementation of such buffers can become significant for inexpensive devices, such as portable phones.
As used herein, the generic term “on-demand” refers to other digital information flows on the network. For example, data fetched by an Internet Web browser is usually formatted as packets of TCP data, but there is no time-sensitivity to how the packets actually flow through the network. Buffers for such traffic are assumed to be large and carefully managed in software. Ideally, it is desirable to mix streaming media and on-demand traffic arbitrarily on the network to achieve the most efficient use of the network bandwidth. However, the two types of traffic are counter-posed in requirements for the underlying network.
There have been many attempts in the past to design methods and apparatus to balance the requirements of these two types of traffic. The simplest of these networks is one in which the available network bandwidth is permanently divided between streaming media and on-demand traffic. Such networks are sometimes referred to as isochronous networks. In such networks, a central bandwidth allocation manager handles requests for streaming media allocations. A serious flaw with such systems is that the bandwidth division is fixed, thus limiting both on-demand performance and the maximum bandwidth stream that can be supported. The usual result is inefficient utilization of the network bandwidth and limited performance.
A great deal of work has gone into the creation of mixed-traffic management streams on token-ring networks. Much of this work has been codified by IEEE Standard 802.5. These schemes rely on physical or logical token-passing schemes for managing access to the shared network. J. Bell, Method of Simultaneously Transmitting Isochronous and Nonisochronous Data On A Local Area Network, U.S. Pat. No. 4,587,650 (May 6, 1986) discloses a general description of how this traffic management is handled on a token-ring network.
Token passing schemes have serious weaknesses that preclude their use in many environments. These include a requirement that all nodes have the same bandwidth to all other nodes; each node must implement complex recovery schemes to reconstruct capacity allocations and prioritization if any node fails; each node must implement a complex suite of protocols to insure reliable operation, thus increasing the cost of a node and lowering it's reliability (from both hardware and software failures); and passing the token through intermediate, non-transmitting nodes adds latency and decreases capacity. Token-ring networks have fallen into technical disfavor versus ethernet networks in many applications for these reasons.
Another set of attempts to address these problems involve the use of slotted protocols, where the bandwidth of the shared media is explicitly subdivided into equal-length slots. K. Crisler, M. Needham, Method for Multi-Purpose Utilization of Resource in a Communication System, U.S. Pat. No. 5,295,140 (Mar. 15, 1994) and K. Sardana, Adaptive Hybrid Multiple Access Protocols, U.S. Pat. No. 5,012,469 (Apr. 30, 1991) contain a good overview of these methods, which may be generally referred to as reservation protocols. In these methods, it is assumed that each node has sufficient capability to participate in a contention-based reservation protocol, resulting in long-term assignment of shared network capacity to particular nodes. A general feature of these methods is the complexity of the reservation protocol, which increases the cost to implement any given node and reduces the node's reliability. Additionally, these protocols require each node to advertise it's desire for the resources of the network continuously to maintain it's reservation. This is done to allow quick recovery from failed nodes, but it consumes additional network bandwidth that might be more gainfully used and increases node cost. Finally, the overall capacity of the network is lowered because it is not always possible to fill each fixed-size slot to capacity.
Other schemes have been proposed for this purpose which involve significant differences from the basic operation of an ethernet network. These schemes are not considered here because they involve proprietary techniques, specialized architectures, or hardware which is not commercially viable. A primary example of these other schemes are those developed for Asynchronous Transfer Mode (ATM) networks, where each node has a dedicated path to a central controller.
It would be desirable to create a facility for managing any ethernet-style network to handle both constant-rate streaming media and on-demand traffic, while achieving maximum possible efficiency and performance of the network. Many current efforts in this field center on extensions to the Internet Protocol (IP) to allow dynamic provisioning of bandwidth. These extensions, collectively named RSVP (Reservation Protocol), are designed to operate in a complex, heavily routed infrastructure where there is no a priori knowledge of the network configuration or available bandwidth, and where it is not possible to rely on a central controller. This leads to undesirable features in a simpler environment, such as a single shared network segment: large code size, slow setup and tear down of streams, and a requirement that every device support RSVP and all related protocols.
However, a chief flaw of RSVP in a single shared network environment is that it is a peer-to-peer protocol, and assumes intermediate routers are simply allocating and deallocating bandwidth within their backplane and at the network ports, such that notions of total available bandwidth and managed reservations are disallowed. In an environment where the devices share a physical network and the bandwidth between any two devices is arbitrary, the lack of such knowledge leads to conflicts between devices. This is a key issue, one as yet unresolved by any standard protocol specification.
It would be desirable to provide a method and apparatus that addresses the weaknesses of prior art in this field (as described above) within any ethernet-style network which may have varying maximum bandwidths between nodes on the network. It would also be desirable if such methods were extended to a small number of such segments interconnected by one or more routing agents.
SUMMARY OF THE INVENTION
The method and apparatus described herein addresses the problems of bandwidth allocation on a shared digital network, using a unique, novel, and simple mechanism for scheduling streaming media and on-demand transmissions such that efficient use of the network is achieved, while maintaining stable data delivery rates.
One embodiment of the invention provides a simple means by which any device can present a sequenced stream of packets to a network for transmission and have those packets sent at precisely specified times. This function is implemented with minimal additional hardware in each network node, thereby reducing or eliminating added cost.
Another embodiment of the invention allows nodes to transmit on-demand packets on the network without disrupting the ongoing flow of streaming data, and without requiring the intervention of any centralized controller or the use of a token-passing or slotted reservation scheme.
Another embodiment of the invention provides for maximal efficiency in the transmission of on-demand data by allowing nodes to contend for access to the shared network during times when the network is available for on-demand data. At the same time, any conflict that might arise if all nodes were not able to send their packets during one of those periods is avoided.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block schematic diagram showing a general model of a rate-adaptive broadcast packet network in which transmission rate and signal quality may vary between nodes;
FIG. 2 is a block schematic diagram showing an abstract working model on which the herein described method and apparatus are used according to the invention; and
FIG. 3 is a block schematic diagram showing enhancement to a software driver interface for a normal NIC according to the invention; and
FIG. 4 is a flow diagram showing how schedule data structure maintained in each node describes active streams, bandwidth allocation, and candidate slot for non-stream transmissions according to the invention.
DETAILED DESCRIPTION OF THE INVENTION
This invention relates generally to an improved method and apparatus for managing the allocation of data capacity on a physically shared network segment among the devices attached to that segment, where the shared access method uses Time Division Multiple Access (TDMA) techniques within a baseband channel.
FIG. 1 is a block schematic diagram showing a general model of a rate-adaptive broadcast packet network in which transmission rate and signal quality may vary between nodes according to the invention. The method and apparatus of this invention concern the enhancements, modifications, and methods required to implement a streaming media service which operates in parallel with on-demand packet-based services on a shared-media ethernet style network 10 which may include a network controller 12, while providing reliable, glitch-free delivery of the streaming media between various network nodes 14-18, and while maximizing the efficient use of the physical transmission medium.
FIG. 2 is a block schematic diagram showing a typical abstract networking model on which the herein described method and apparatus are used according to the invention. In FIG. 2, bold lines indicate specific areas which are addressed by the method and apparatus disclosed herein, i.e. real-time packet protocol 20, a bandwidth allocation protocol 21, and a Network Interface Component (NIC) 22.
The method and apparatus described herein:
Σ Significantly reduce the required complexity and cost of each network node over existing techniques;
Σ Correctly manage a shared digital network where the bandwidth between any two nodes may vary, perhaps greatly, from the bandwidth achievable between any other pair of nodes;
Σ Replace the notion of a slotted allocation scheme with one which provides for arbitrary choice of packet size and transmission times;
Σ Eliminate the need for a reservation protocol for on-demand packet transmissions;
Σ Provide fault tolerance features which allow the continued correct operation of remaining nodes attached to the network in the face of one or more node failures; and
Σ Provide fault-recovery features which allow the transparent addition of new or repaired nodes to the shared network without disturbing ongoing streaming media transmissions.
This description is broken into four separate parts:
1. Modifications to common Network Interface Component (NIC) behavior which provide greater control over how and when data are presented to the physical transmission medium.
2. A method which provides for the distributed management of available bandwidth on a Local Area Network (LAN) to achieve maximal use of the physical transmission medium, while meeting standards for Quality-of-Service (QOS) for streaming media.
3. Methods for the automatic handling of node additions or deletions from the network due to node failure or the introduction of new nodes.
4. A preferred embodiment of a method for performing the distributed reservation of bandwidth on the shared transmission medium which is both reliable and simple to implement.
Network Interface Component (NIC) Modifications
Standard practice NIC hardware combines three functions:
1. Physical Layer (PHY) 24 (FIG. 2), which handles the actual media and which varies depending on the media type. This application contemplates no new or unique methods or techniques in regards to physical network media.
2. Media Access Control (MAC) 23, which is responsible for obtaining control of the network transmission medium, and properly framing and transmitting a packet of data on that medium. The methods of this application apply specifically to networks which use the Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol which is the standard for contention-based broadcast (i.e. ethernet) networks. This invention contemplates no new or unique methods or techniques in regards to media access control.
3. Sequencing and control, which concerns for example retrying transmission if the carrier is busy or conflicts occur; moving packets between local buffers and host memory as required; and interacting with the host to handle control operations properly, such as interrupts, or starting and stopping the NIC. In general, the host provides packets for transmission along with certain control flags and other data which modify how the NIC processes a packet. The methods and apparatus of this invention apply to this group of functions 22.
FIG. 3 is a block schematic diagram showing enhancement to a software driver interface for a normal NIC according to the invention. In particular, FIG. 3 gives a pictorial overview of the additional NIC apparatus supporting the invention. There are the five key elements of this apparatus:
1. The NIC incorporates a free-running counter 31 with at least microsecond resolution, and a suitably long period. This counter may be read or modified by the host processor at any time.
2. Various flags 32 may be set. In response to a flag 34 which may be set individually for each packet, the NIC is required to load a register 33 with a host-specified value, this register being identical in size with (1) above. The NIC is then required to wait, without accessing the transmission media, until the register value matches that of the free-running counter 51. When this occurs, the NIC must transmit the packet (except see (3)). This register is referred to as the PREWAIT register herein.
3. The host may set another flag 35 for each packet indicating that the packet itself should not be transmitted on the media. In this case, the actions of (2) above shall apply, except that when the counter values match (as determined by a comparator 36, the NIC marks the packet done and continues on to the next packet in sequence.
4. In response to another flag 39 which may be set individually for each packet, the NIC is required to load a register 38 with a host specified value, this register being identical in size with (1) above. The NIC then transmits the packet, after waiting until the appropriate time if (2) above is active. The NIC may encounter contention for the transmission media. If the NIC is unable to send the packet before this register value matches that of the free-running counter 51, as determined by a comparator 39, then it ceases attempting to transmit the packet, and indicates that it was not sent by setting the appropriate bit in host memory. If case (3) is active, i.e. the packet was not to be transmitted, the NIC waits until this register matches the value of the free running counter, indicates it has finished with the packet, and continues operation. This register is referred to as the TIMEOUT register herein.
5. The host, on demand, may request that a packet which is waiting for transmission as described in (2) above be canceled. If transmission has not yet begun, the packet flags 37 are marked appropriately, and the NIC stops processing packets. Otherwise, transmission of the packet is completed normally.
Efficient Distributed Rate-Adaptive Media Access Scheduling
Using the apparatus defined above, it is possible to compute a schedule 48 for the transmission medium 44 indicating when various network devices are permitted to transmit on the medium 44, and to indicate unscheduled portions of the bandwidth 45 which are contended for by the devices. Such a strategy allows the designer to eliminate network contention during periods where scheduled transmissions 46 are taking place. It also allows for limited contention for unscheduled portions of the bandwidth 45, with the ability to stop contention in time for the next scheduled transmission. Taken together, these features create a unique and novel mechanism by which any ethernet-style network can support streaming media delivery. These features are described more fully below.
Standard scheduling algorithms rely on the fact that there is a fixed amount of some quantity (e.g. time, material, processor clock cycles, or IO channel capacity) available, and then use some form of fitting algorithm to distribute this fixed quantity among competing demands. On a rate-adaptive network, this form of scheduling is not possible because each device may communicate at a different rate with any other given device. By implication, this means that there are 2N different combinations, where N is the number of devices on the network, and the total bandwidth of the network is incalculable.
The method described here relies on the observation that while transmission rates are unpredictable on such a network, the time it takes to transmit a block of X bytes between two nodes is solely determined by the achievable bandwidth between those nodes and the size of the block to be transmitted. If an arbitrary scheduling interval is chosen, then it becomes possible to schedule the use of the medium based on the time it takes for each transmission, regardless of the available bandwidth between any two nodes.
FIG. 4 is a flow diagram showing how a scheduling data structure maintained in each node describes active streams, bandwidth allocation, and candidate slots for non-stream transmissions according to the invention Each node on the network is required to maintain a representation of the network schedule locally. Each node is also responsible for setting the free-running counter 51 (see FIG. 3) in the NIC with a network-relative clock value 52 which is periodically broadcast by a selected node. The period of this broadcast is determined by the maximum acceptable clock drift in each node, such that synchronization of each nodes' clock with a central clock is maintained. The schedule consumes very little space. Each scheduled block of time is represented by an allocation record 40, which contains fields describing the network clock time at which the block begins, the duration of time represented by the block, and the re-scheduling period, for continuous, constant-rate streams of data. The schedule may be thought of as beginning at the time <NOW>, and continuing indefinitely into the future. When a scheduled block transmission is completed, and the block represents a constant rate stream of data, the block is re-inserted at the appropriate point in the schedule for sending the next block of data. Once a schedule is started 41, inserting, deleting and moving blocks within the schedule 42 are simple, straightforward operations to one skilled in the art, and implemented in very little memory space.
This method of scheduling use of the shared network is unique, in that there is no fixed-duration schedule nor any notion of the maximum capacity of the network or that this capacity is explicitly divided into fixed-size chunks. It is also unique in that many of the scheduling tasks, such as maintaining the reservation for a streaming media transmission, are distributed and performed on each node in parallel, regardless of the presence or absence of particular nodes.
Allocation records are set up and (eventually) torn down on command from a selected node. A portion of the network schedule is reserved for management overhead, which includes managing allocation records. This reservation is sized for a broadcast bandwidth suitable to reach every device on the network, i.e. it is sized for the device with the lowest available bandwidth. This implies that allocation records can be set up or torn down in every node on the network with a single transmission.
When a node receives an allocation message, it performs the proper operation on it's local copy of the schedule. If the node is not sending the stream of data, it allocates a dead-space record 43, which indicates to the node that it is not to transmit during that period (it can still receive packets).
The NIC apparatus above easily supports this strategy. For each packet, the NIC software driver provides the proper clock values and flag settings (refer to FIG. 3) to cause the packet to be sent at the correct time. Practitioners skilled in the art will recognize that the schedule has a direct correspondence to the typical ring-buffer algorithm used for queuing packets to be sent through a NIC. In fact, one preferred embodiment of the invention combines a buffer and an allocation record into a single data structure, and uses the ring-buffer to hold the schedule (refer again to FIG. 4). A useful discussion of this method can be found in B. Petersen, W. Sherer, D. Brown, L.-C. Lo, Network interface with host independent buffer management, U.S. Pat. No. 5,299,313 (Mar. 29, 1994). The NIC enhancements described earlier add a layer of software controlled sequencing and synchronization to the basic NIC behavior.
The following method description using pseudo-code motivates the selection of some additional features of the modified NIC:
Begin insertAllocationRecord {
  if (schedule is empty) {
    insert record at start of schedule:
    start NIC;
   return;
  }
for (each record in the schedule) do {
  if (new record goes before this record) {
    if (this record is first in schedule) {
      stop NIC;
      insert new record;
      start NIC;
    }
      otherwise {
        insert new record;
      }
      return;
    }
  }
  insert record at end of schedule;
} End
This algorithm relies on the fact that the NIC has been made synchronous by requiring it to wait until a particular clock value before transmitting a packet. Therefore, the first record in the schedule always represents a packet in the NIC waiting for transmission. If a new allocation record is to be sent at a time between <NOW> and when the waiting packet would be sent, then the waiting packet must be canceled, the new record inserted, and the NIC restarted with the new packet.
For allocation records which reserve space for other nodes to transmit, the NIC software driver indicates that a packet should not actually be sent when the proper clock value is reached; instead the NIC waits until the contention timeout value is reached, and then continues processing the next packet.
On-demand Transmissions
An object of this method is to combine time-sensitive (i.e. streaming media) transmission with on-demand data transmission, such that packets involved in synchronous data transmissions are unaffected by other traffic, while providing the maximum possible throughput for on-demand data.
This method provides for this capability through simple modifications of the basic scheduling method and apparatus. Note that all network transmissions are of known duration because packet size and bandwidth between source and destination nodes is known. When the NIC software driver on a particular node is presented with a packet to be sent, it scans it's local copy of the schedule 47, inserting the packet 48, 43 into the first unscheduled space 45 big enough to hold it. The method for inserting streaming media packets is modified, such that if a conflict occurs between a streaming media and an on-demand packet, the streaming media packet is always scheduled into that space. A previously scheduled on demand packet is deleted from the schedule and re-inserted in the first available slot in this case, having been replaced in the schedule by the streaming media packet. Ordering of transmission of asynchronous packets from different sources may not be maintained because they vary in size, and a particular available transmission window may be too small for a given packet, which is expected behavior from an Ethernet style network. However, ordering of packets from the same source is maintained by this method.
It was shown earlier how the scheduling mechanism eliminates network contention for streaming media packets using a shared clock. Contention for on-demand packet space has not been addressed. Contention can, of course, be eliminated by reserving on-demand transmission space as well. For instance, each node can be guaranteed a slice of bandwidth, or a reservation algorithm could be implemented.
Reservation of on-demand bandwidth is unappealing. The nature of on-demand bandwidth is truly bursty and demand-driven. Consider the Internet Protocol suite (TCP/IP). IP has certain low-level maintenance protocols, such as ICMP, RIP, ARP and others which involve rare, single-packet transmissions. TCP is designed to work well between widely scattered nodes on the Internet, therefore throughput varies dramatically and packets arrive at random intervals. Dedicating bandwidth for such traffic is both wasteful and performance-limiting: wasteful because the bandwidth is mostly unused, and performance-limiting because the dedicated bandwidth is, by necessity, small. Reservation protocols have far too much overhead for small-scale transmissions and are ideally suited for streaming media, rather than on-demand, scheduling.
This method maintains the contention-based model of all ethernet-style networks for on-demand transmission. Thus, two or more nodes may choose the same interval in which to send their data. The probability of collisions is quite small on a moderately loaded network, so this is a good choice. Problems occur, however, because of the nature of CSMA/CD.
If the network is busy, or a collision occurs, the CSMN/CD algorithm relies on a random backoff algorithm for determining when to make the next attempt at sending the packet. The idea is randomize the interval between when attempts are made to transmit the packets, resulting in a greater probability of no collisions. However, if a NIC is attempting to transmit an on-demand packet, and the slot has other nodes contending for it, the NIC may hold the packet past the start time of the next scheduled packet, resulting in a schedule violation.
It is now clear that use of the TIMEOUT register in the NIC (refer again to FIG. 3) allows the NIC software driver to manage this problem. When scheduling an asynchronous packet, the driver sets a timeout value that is equal to the time for the next on-demand packet to be sent less the time it takes to transmit the packet. This insures that either: a) the packet was sent, and the NIC is ready for the next streaming media packet; or b) the packet is timed out properly, and the NIC is again ready for the next streaming media packet. It is necessary that the transmission time of the packet be allowed for during scheduling because it is not possible for a packet which has begun transmission to be canceled. Leaving this buffer insures that NIC is always finished with the previous operation before encountering the streaming media packet.
Discovery and Fault Recovery
Networks are seldom static, and it is expected that nodes come and go over time for various reasons, such as node failure or power failure. Discovery and initialization of new devices, and cleanup from device failure are the two areas of interest in this domain. Failures of the transmission media (such as accidentally cutting a wire carrying network transmissions) must be resolved externally to the system described here. The following unique and novel methods are described which handle these issues.
When a device 15 is first connected to the network 10, it awaits the periodic broadcast of the network synchronization clock 62. An implicit window for on-demand transmission is reserved immediately succeeding this clock, and the new node 15 contends for this slot in order to broadcast a request for download of the current schedule 61. If it cannot successfully send the packet in this window, it awaits the next clock broadcast. The node 14 providing the network synchronization clock broadcast is responsible for responding to the download request with an on demand transmission of the current schedule 62. Once the schedule 62 is received, the new node 15 is permitted to begin regular operation, typically by broadcasting an on-demand packet identifying itself.
The first node to initialize on the network does not receive the periodic clock update. After waiting a specific amount of time, the node may assume that it must take responsibility for broadcasting the periodic network clock, and responding to other devices as they initialize. It also initializes it's schedule to empty. Nodes which join the network later are thus properly initialized.
If the node which is responsible for broadcasting the network clock fails, recovery is handled as follows. Each node continues to follow the transmission schedule, so operation of the network continues properly and transparently. After a certain time, each node recognizes that the broadcast clock has not been received. At the next available opportunity, the nodes broadcast to each other a copy of their local NIC clock register. By definition, some node succeeds in sending it's clock first. A feature of this method is that each node ignores such broadcasts unless they originate at the assumed clock node or the clock timeout has occurred. The first successful clock broadcast after the previous clock node failed resets this timeout value and indicates the clock node, causing succeeding clock broadcasts from other nodes to be ignored.
All devices which can stream data use this method to detect device (or network) failures: during the life of the stream, the receiver is responsible for broadcasting periodic on-demand packets indicating it's continued interest in receiving the stream. All nodes on the network use these packets to reset an internal countdown timer to a preferred value. If this timer goes to zero, each node assumes that the receiver has failed or become inaccessible, and releases the allocation record associated with that stream. The sender also ceases sending the streaming data. This scheme insures that the network capacity represented by the stream is properly recovered, even if both the sender and receiver fail.
Detection of node failure when a node is solely sending or receiving on-demand packets is not dealt with at this level. It is assumed that higher-level software properly detects and recovers from attempts to communicate with failed nodes.
Scheduling Network Transmissions
A unique feature of this method is that reservation of network capacity is completely independent of continuing proper operation of nodes on the network. In fact, there is no requirement for a central network controller of any kind, resulting in a self-managed network of nodes.
The nodes on the network rely on a peer-to-peer broadcast protocol for managing reservations. The methods described here provide for a great improvement over existing reservation methods, such as those described in the previously mentioned U.S. Pat. Nos. 5,295,140 and 5,012,469. This improvement in existing methods is possible because each node contains within it a copy of the entire schedule, and this schedule is synchronized across all nodes by the periodic network clock broadcast.
When a node desires to reserve an allocation record for transmitting streaming media, it examines it's copy of the schedule and chooses an appropriate time for the first transmission. During the next available on-demand window it broadcasts an allocation message to all nodes.
When each node (including the node requesting the allocation) receives the broadcast, it attempts to update it's schedule. If a previously scheduled streaming media transmission conflicts with the new allocation, the new request is ignored. This method insures that the in the case of simultaneous allocation requests that only one request succeeds because the broadcast nature of the transaction assures that the requests are serialized. After broadcasting a request, the requesting node checks its copy of the schedule to see if the request is present. If so, the request succeeded, and the node may begin transmitting the streaming media according to the schedule. Otherwise, the node must choose a new position in the schedule and broadcast a new request for it.
AN ALTERNATIVE EMBODIMENT OF THE INVENTION
With respect to the interface between the Network Interface Component (NIC) and software, there is an alternative embodiment of the invention that avoids requiring any changes to NIC behavior. It assumes that the NIC can be operated in a direct mode, i.e. that commands may be explicitly given to the NIC to transmit a packet or cancel a packet. Thus, the typical ring-buffer structure which allows semi-autonomous operation by the NIC is bypassed. Nearly all NIC interfaces support such operation for diagnostic or real-time control purposes, of which the alternative embodiment is an example.
A ring-buffer structure is typically used to provide a level of decoupling between NIC operation and host processing, which can increase performance by allowing parallel operation of the NIC and the host, and reduces host load by requiring less processing for each packet sent or received. In many instances, especially for lower-cost devices which are dedicated to particular tasks, employing a ringbuffer structure has no advantage over direct management of packet transmission by a separate controller. This leads to the alternative embodiment.
The trade-off versus the preferred embodiment is that such direct management of the NIC necessarily increases the overhead costs in software drivers, and reduces the accuracy for scheduling transmissions by the time taken for such overhead. Additional loss of accuracy occurs during interrupt handling, where actual dispatching of the software interrupt routines is delayed due to other active tasks.
In the context of the transmission schedule, such overhead reduces the scheduling resolution which can be achieved. For example, a NIC enhanced with the preferred embodiment has a resolution equivalent to that of the continuous counter in the preferred embodiment. To guarantee correct operation of all devices, the effective resolution of the counter must be reduced to that of the slowest responding device on the network.
As an example, consider a shared network using a basic clock resolution of one microsecond. The slowest controller on the network implements the software method described below, where interrupt latency is <=10 us. To assure proper operation, each node schedules packets assuming a 1 us counter, but all values are rounded up to the nearest 10 us. This technique is referred to as padding the schedule. The drawback of padding is that it causes additional idle time on the network because the network is unused during these times, lowering overall efficiency.
Another way to think about the effects of clock resolution is to view use of the shared network as being divided into fixed-size slots, the slot size being determined by the clock resolution. Padding the schedule increases the slot size, and thus decreases efficiency because it becomes harder to fill each slot with valid data. All features of the preferred embodiment which are unique and novel above prior art are maintained in this alternative method, at a loss of network efficiency and throughput.
A software driver is assumed which has access to a high-precision clock which can be used to trigger an interrupt.
As in the preferred embodiment, the schedule for the shared network is followed by this driver. Algorithmically, the driver does as follows:
NIC_Transmit_Interrupt() {
Mark current packet done, reschedule if appropriate;
Fetch next packet in schedule;
  if (packet is not to be transmitted) {
    calculate clock offset to packet timeout value;
    set timer to interrupt controller at (now + offset);
    return;
  }
  if (packet is streaming data) {
    calculate clock offset to packet transmit time;
    set timer to interrupt controller at (now + offset);
    return;
  }
  /* must be an on-demand packet */
  if (timeout for contention) {
    calculate clock offset to packet timeout value;
    set timer to interrupt controller at (now + offset);
  }
  instruct NIC to transmit packet;
}
Timer_Interrupt_SendNow {
  /* called for streaming data packet */
  instruct NIC to transmit packet;
}
Timer_Interrupt_Timeout {
  /* called for timeouts */
  cancel NIC packet transmission, if active;
  call NIC_Transmit_Interrupt to simulate NIC completion;
}
As an example, consider a software driver installed within a desktop operating system, such as Windows 95. Timer interrupt accuracy is 10 milliseconds, implying that there are 100 slots available. On a 10 Mbit/sec network, it is possible to send approximately 10 Kbytes of data every 10 milliseconds. If a packet is only 1 Kbyte in length, then 90% of the capacity of a slot is wasted. An example might be a simple audio playback device that has only a 1 Kbyte buffer to minimize cost, and requires 50 Kbyte/sec of data for uninterrupted playback. This implies 50 of the available 100 slots are only 10% filled, and thus network efficiency overall has been reduced by 45%.
This explains why the apparatus described in the preferred embodiment is unique and novel. If a counter with 1 us resolution is used, then the same 1 Kbyte transmission takes 820 us (less then 1 us/byte), and the next packet can be transmitted immediately afterwards. In the 10 millisecond example above, the network would be idle for 10180 us before the next transmission.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the Claims included below.

Claims (52)

What is claimed is:
1. A method for managing the allocation of data capacity on a physically shared network segment, said method comprising the steps of:
providing a plurality of devices on said physically shared network segment;
providing an on-demand packet-based service;
providing a streaming media service which operates in parallel with said on-demand packet-based service on said network segment; and
wherein said streaming media service utilizes a distributed reservation scheme to avoid network contention, wherein each device contains within it a copy of the entire reservation schedule and said reservation schedule is synchronized across all devices by a periodic network clock broadcast.
2. An apparatus for managing the allocation of data capacity on a physically shared network segment, comprising:
a network interface component (NIC) comprising:
a free-running time-based counter that may be read or modified by a host processor at any time; and
a first register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC is required to wait, without accessing a transmission medium, until the value in said first register matches that of said free-running time-based counter; and
wherein said NIC must transmit said packet when said value in said first register matches that of said free-running time-based counter.
3. The apparatus of claim 2, wherein said NIC marks said packet done but does not transmit said packet, and continues on to a next packet in sequence when said value in said first register matches that of said free-running counter.
4. The apparatus of claim 3, further comprising:
a second register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC transmits said packet after waiting a predetermined amount of time, as determined by said host processor-specified value, if said value in said first register matches that of said free-running counter; and
wherein said NIC ceases attempting to transmit said packet and, optionally, indicates that said packet was not sent, after waiting a predetermined amount of time, as determined by said host processor-specified value, if said value in said first register does not match that of said free-running counter.
5. The apparatus of claim 4, wherein said NIC waits until the value in said second register matches the value of said free running counter, then indicates it has finished with said packet but does not transmit said packet, and continues operation when said value in said first register matches that of said free-running counter.
6. The apparatus of claim 2, wherein said host processor, on demand, may request that a packet which is waiting for transmission be canceled.
7. A method for managing the allocation of data capacity on a physically shared network segment, said method comprising the steps of:
computing a distributed network schedule for a transmission medium indicating when various network devices are permitted to transmit on said medium; and indicating unscheduled portions of network bandwidth which are contended for by said network devices;
wherein each node on said network maintains a representation of said distributed network schedule locally;
wherein network contention is substantially eliminated during periods where scheduled transmissions are taking place; and
wherein limited contention is allowed for unscheduled portions of said bandwidth, with the ability to stop contention in time for a next scheduled transmission.
8. The method of claim 7, further comprising the steps of:
determining the time it takes to transmit a block of X bytes between two nodes by calculating the achievable bandwidth between those nodes and the size of the block to be transmitted; and
scheduling the use of said transmission medium based on the time it takes for each transmission if an arbitrary scheduling interval is chosen, regardless of the available bandwidth between any two nodes.
9. The method of claim 7, wherein each node is responsible for setting a free-running counter in a network interface component (NIC) with a network-relative clock value which is periodically broadcast by a selected node;
wherein each node contains within it a copy of said schedule which is synchronized across all nodes by said periodic network-relative clock broadcast.
10. The method of claim 9, wherein each scheduled block of time is represented by an allocation record which contains fields describing said network-relative clock value at which said block begins, the duration of time represented by said block, and the re-scheduling period, for continuous, constant-rate streams of data.
11. The method of claim 10, further comprising the step of:
reinserting said block at an appropriate point in said schedule for sending as a next block of data when a scheduled block transmission is completed when said block represents a constant-rate stream of data.
12. The method of claim 10, wherein allocation records are set up or torn down in every node on said network with a single transmission.
13. The method of claim 10, further comprising the steps of:
performing an appropriate operation on a local copy of said schedule when a node receives an allocation message;
allocating a dead-space record which indicates to said node that it is not to transmit during that period if said node is not sending a stream of data.
14. The method of claim 10, further comprising the steps of:
combining a buffer and an allocation record into a single data structure; and
using said ring-buffer to hold said schedule.
15. A method for combining time-sensitive transmission with on-demand data transmission, such that packets involved in synchronous data transmissions are unaffected by other traffic, said method comprising the steps of:
computing a schedule for a transmission medium indicating when various network devices are permitted to transmit on said medium;
indicating unscheduled portions of network bandwidth which are contended for by said network devices;
wherein each network device on the network maintains a representation of said schedule locally;
scanning a local copy of said schedule with a network interface component (NIC) when a NIC driver on a particular node is presented with a packet to be sent; and
inserting said packet into a first unscheduled space in said schedule large enough to hold said packet.
16. The method of claim 15, wherein a streaming media packet is scheduled into said first unscheduled space if a conflict occurs between streaming media and an on-demand packet; and
wherein a previously scheduled on-demand packet is deleted from said schedule and re-inserted in a first available slot, said on-demand packet having been replaced in said schedule by said streaming media packet.
17. The method of claim 16, further comprising the step of:
reserving on-demand transmission space.
18. The method of claim 16, further comprising the step of:
using a timeout register having a set timeout value that is equal to the time for a next on-demand packet to be sent less the time it takes to transmit said packet.
19. A method for managing the allocation of data capacity on a physically shared network segment, said method comprising the steps of:
computing a schedule for a transmission medium indicating blocks of time when various network devices are permitted to transmit on said medium, wherein each scheduled block of time is represented by an allocation record, and wherein each node contains within it a copy of said schedule which is synchronized across all nodes by a periodic network-relative clock broadcast;
reserving an implicit window for on-demand transmission immediately succeeding a periodic broadcast of said network relative clock value when a node is first connected to said network to broadcast a request for download of a current schedule;
awaiting a next clock broadcast if said node cannot successfully send a packet in said window;
responding to said download request from said broadcast node with an on-demand transmission of said current schedule; and
beginning regular operation at said node once said schedule is received.
20. The method of claim 19, wherein a first node to initialize on said network does not receive said periodic broadcast of said network relative clock;
wherein said node takes responsibility for broadcasting said network relative clock after waiting a predetermined amount of time;
wherein said node responds to other nodes as they initialize; and
wherein said nodes initializes it's schedule to empty, such that nodes which join said network later are properly initialized.
21. The method of claim 19, wherein each node continues to follow said transmission schedule if the node which is responsible for broadcasting said network relative clock fails;
wherein each node recognizes that said network relative clock has not been received after a predetermined time;
wherein said nodes broadcast to each other a copy of a local clock register at a next available opportunity; and
wherein a first successful clock broadcast after said previous clock node failed resets a timeout value and indicates a clock node, causing succeeding clock broadcasts from other nodes to be ignored.
22. The method of claim 19, wherein a receiver node is responsible for broadcasting periodic on-demand packets indicating it's continued interest in receiving a stream during the life of said stream;
wherein all nodes on said network use said packets to reset an internal count-down timer to a preferred value; where each node assumes that said receiver node has failed or become inaccessible and releases an allocation record associated with said stream if said timer goes to zero; and
wherein a sender node ceases sending said streaming data, such that network capacity represented by said stream is properly recovered, even if both a sender and receiver fail.
23. The method of claim 19, wherein a node examines it's copy of said schedule and chooses an appropriate time for a first transmission when said node desires to reserve an allocation record for transmitting streaming media; and
wherein said node broadcasts an allocation message to all nodes during a next available on-demand window.
24. The method of claim 23, wherein each node, including a node requesting an allocation, attempts to update it's schedule when it receives an allocation message broadcast;
wherein a new allocation request is ignored if a previously scheduled streaming media transmission conflicts with said new allocation request;
wherein a requesting node checks its copy of said schedule to see if said request is present after broadcasting;
wherein said requesting node may begin transmitting streaming media according to said schedule if said request succeeds; and
wherein said node must choose a new position in said schedule and broadcast a new request for it if said request did not succeed.
25. An apparatus for managing the allocation of data capacity on a physically shared network segment, comprising:
a network interface component (NIC) comprising:
a free-running time-based counter that may be read or modified by a host processor at any time; and
a first register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC is required to wait, without accessing a transmission medium, until the value in said first register matches that of said free-running time-based counter;
wherein said NIC must transmit said packet when said value in said first register matches that of said free-running time-based counter; and
wherein commands are explicitly given to said NIC to transmit a packet or to cancel a packet.
26. An apparatus for managing the allocation of data capacity on a physically shared network segment, comprising:
a plurality of devices on said physically shared network segment;
an on-demand packet-based service;
a streaming media service which operates in parallel with said on-demand packet-based service on said network segment; and
wherein said streaming media service utilizes a distributed reservation scheme to avoid network contention, wherein each device contains within it a copy of the entire reservation schedule and said reservation schedule is synchronized across all devices by a periodic network clock broadcast.
27. A method for managing the allocation of data capacity on a physically shared network segment, comprising the step of:
providing a network interface component (NIC) comprising:
a free-running time-based counter that may be read or modified by a host processor at any time; and
providing a first register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC is required to wait, without accessing a transmission medium, until the value in said first register matches that of said free-running time-based counter; and
wherein said NIC must transmit said packet when said value in said first register matches that of said free-running time-based counter.
28. The method of claim 27, wherein said NIC marks said packet done but does not transmit said packet, and continues on to a next packet in sequence when said value in said first register matches that of said free-running counter.
29. The method of claim 28, further comprising the step of:
providing a second register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC transmits said packet after waiting a predetermined amount of time, as determined by said host processor-specified value, if said value in said first register matches that of said free-running counter; and
wherein said NIC ceases attempting to transmit said packet and, optionally, indicates that said packet was not sent, after waiting a predetermined amount of time, as determined by said host processor-specified value, if said value in said first register does not match that of said free-running counter.
30. The method of claim 29, wherein said NIC waits until the value in said second register matches the value of said free running counter, then indicates it has finished with said packet but does not transmit said packet, and continues operation when said value in said first register matches that of said free-running counter.
31. The method of claim 27, wherein said host processor, on demand, may request that a packet which is waiting for transmission be canceled.
32. An apparatus for managing the allocation of data capacity on a physically shared network segment, comprising:
a network interface component (NIC) for computing a distributed network schedule for a transmission medium indicating when various network devices are permitted to transmit on said medium; and
a mechanism that identifies unscheduled portions of network bandwidth which are contended for by said network devices;
wherein each node on said network maintains a representation of said distributed network schedule locally;
wherein network contention is substantially eliminated during periods where scheduled transmissions are taking place; and
wherein limited contention is allowed for unscheduled portions of said bandwidth, with the ability to stop contention in time for a next scheduled transmission.
33. The apparatus of claim 32, further comprising:
a timer for determining the time it takes to transmit a block of X bytes between two nodes by calculating the achievable bandwidth between those nodes and the size of the block to be transmitted; and
wherein the use of said transmission medium is scheduled based on the time it takes for each transmission if an arbitrary scheduling interval is chosen, regardless of the available bandwidth between any two nodes.
34. The apparatus of claim 33, wherein each node is responsible for setting a free-running counter in a network interface component (NIC) with a network-relative clock value which is periodically broadcast by a selected node;
wherein each node contains within it a copy of said schedule which is synchronized across all nodes by said periodic network-relative clock broadcast.
35. The apparatus of claim 34, wherein each scheduled block of time is represented by an allocation record which contains fields describing said network-relative clock value at which said block begins, the duration of time represented by said block, and the re-scheduling period, for continuous, constant-rate streams of data.
36. The apparatus of claim 34, further comprising:
a mechanism for reinserting said block at an appropriate point in said schedule for sending as a next block of data when a scheduled block transmission is completed when said block represents a constant-rate stream of data.
37. The apparatus of claim 35, wherein allocation records are set up or tom down in every node on said network with a single transmission.
38. The apparatus of claim 35, further comprising:
a mechanism for performing an appropriate operation on a local copy of said schedule when a node receives an allocation message;
a mechanism allocating a dead-space record which indicates to said node that it is not to transmit during that period if said node is not sending a stream of data.
39. The apparatus of claim 35, further comprising:
a buffer and an allocation record that are combined into a single data structure;
wherein said ring-buffer is used to hold said schedule.
40. An apparatus for combining time-sensitive transmission with on-demand data transmission, such that packets involved in synchronous data transmissions are unaffected by other traffic, comprising:
a network interface component (NIC) for computing a schedule for a transmission medium indicating when various network devices are permitted to transmit on said medium;
means for indicating unscheduled portions of network bandwidth which are contended for by said network devices;
wherein each network device on the network maintains a representation of said schedule locally;
means for scanning a local copy of said schedule with a network interface component (NIC) when a NIC driver on a particular node is presented with a packet to be sent; and
means for inserting said packet into a first unscheduled space in said schedule large enough to hold said packet.
41. The apparatus of claim 40, wherein a streaming media packet is scheduled into said first unscheduled space if a conflict occurs between streaming media and an on-demand packet; and
wherein a previously scheduled on-demand packet is deleted from said schedule and re-inserted in a first available slot, said on-demand packet having been replaced in said schedule by said streaming media packet.
42. The apparatus of claim 41, further comprising:
means for reserving on-demand transmission space.
43. The apparatus of claim 41, further comprising:
a timeout register having a set timeout value that is equal to the time for a next on-demand packet to be sent less the time it takes to transmit said packet.
44. An apparatus for managing the allocation of data capacity on a physically shared network segment, comprising:
a network interface component (NIC) for computing a schedule for a transmission medium indicating blocks of time when various network devices are permitted to transmit on said medium, wherein each scheduled block of time is represented by an allocation record, and wherein each node contains within it a copy of said schedule which is synchronized across all nodes by a periodic network-relative clock broadcast;
an implicit window reserved for on-demand transmission immediately succeeding a periodic broadcast of said network relative clock value when a node is first connected to said network to broadcast a request for download of a current schedule;
means for awaiting a next clock broadcast if said node cannot successfully send a packet in said window;
means for responding to said download request from said broadcast node with an on-demand transmission of said current schedule; and
means for beginning regular operation at said node once said schedule is received.
45. The apparatus of claim 44, wherein a first node to initialize on said network does not receive said periodic broadcast of said network relative clock;
wherein said node takes responsibility for broadcasting said network relative clock after waiting a predetermined amount of time;
wherein said node responds to other nodes as they initialize; and
wherein said nodes initializes it's schedule to empty, such that nodes which join said network later are properly initialized.
46. The apparatus of claim 44, wherein each node continues to follow said transmission schedule if the node which is responsible for broadcasting said network relative clock fails;
wherein each node recognizes that said network relative clock has not been received after a predetermined time;
wherein said nodes broadcast to each other a copy of a local clock register at a next available opportunity; and
wherein a first successful clock broadcast after said previous clock node failed resets a timeout value and indicates a clock node, causing succeeding clock broadcasts from other nodes to be ignored.
47. The apparatus of claim 44, wherein a receiver node is responsible for broadcasting periodic on-demand packets indicating it's continued interest in receiving a stream during the life of said stream;
wherein all nodes on said network use said packets to reset an internal count-down timer to a preferred value; where each node assumes that said receiver node has failed or become inaccessible and releases an allocation record associated with said stream if said timer goes to zero; and
wherein a sender node ceases sending said streaming data, such that network capacity represented by said stream is properly recovered, even if both a sender and receiver fail.
48. The apparatus of claim 44, wherein a node examines it's copy of said schedule and chooses an appropriate time for a first transmission when said node desires to reserve an allocation record for transmitting streaming media; and
wherein said node broadcasts an allocation message to all nodes during a next available on-demand window.
49. The apparatus of claim 48, wherein each node, including a node requesting an allocation, attempts to update it's schedule when it receives an allocation message broadcast;
wherein a new allocation request is ignored if a previously scheduled streaming media transmission conflicts with said new allocation request;
wherein a requesting node checks its copy of said schedule to see if said request is present after broadcasting;
wherein said requesting node may begin transmitting streaming media according to said schedule if said request succeeds; and
wherein said node must choose a new position in said schedule and broadcast a new request for it if said request did not succeed.
50. A method for managing the allocation of data capacity on a physically shared network segment, comprising these steps of:
providing a network interface component (NIC) comprising:
a free-running time-based counter that may be read or modified by a host processor at any time; and
providing a first register identical in size to said counter for receiving a host processor-specified value;
wherein said NIC is required to wait, without accessing a transmission medium, until the value in said first register matches that of said free-running time-based counter; wherein said NIC must transmit said packet when said value in said first register matches that of said free-running time-based counter; and
wherein commands are explicitly given to said NIC to transmit a packet or to cancel a packet.
51. The method of claim 19, wherein said node broadcasts an on-demand packet identifying itself.
52. The apparatus of claim 19, wherein said node broadcasts an on-demand packet identifying itself.
US09/135,753 1997-08-28 1998-08-18 Method and apparatus implementing a multimedia digital network Expired - Lifetime US6310886B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/135,753 US6310886B1 (en) 1997-08-28 1998-08-18 Method and apparatus implementing a multimedia digital network
AU51067/99A AU5106799A (en) 1998-08-18 1999-07-15 Method and apparatus implementing a multimedia digital network
PCT/US1999/016113 WO2000018108A2 (en) 1998-08-18 1999-07-15 Method and apparatus implementing a multimedia digital network
US09/953,472 US7158531B2 (en) 1997-08-28 2001-09-14 Method and apparatus implementing a multimedia digital network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5715597P 1997-08-28 1997-08-28
US09/135,753 US6310886B1 (en) 1997-08-28 1998-08-18 Method and apparatus implementing a multimedia digital network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/953,472 Continuation-In-Part US7158531B2 (en) 1997-08-28 2001-09-14 Method and apparatus implementing a multimedia digital network

Publications (1)

Publication Number Publication Date
US6310886B1 true US6310886B1 (en) 2001-10-30

Family

ID=22469499

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/135,753 Expired - Lifetime US6310886B1 (en) 1997-08-28 1998-08-18 Method and apparatus implementing a multimedia digital network
US09/953,472 Expired - Fee Related US7158531B2 (en) 1997-08-28 2001-09-14 Method and apparatus implementing a multimedia digital network

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/953,472 Expired - Fee Related US7158531B2 (en) 1997-08-28 2001-09-14 Method and apparatus implementing a multimedia digital network

Country Status (3)

Country Link
US (2) US6310886B1 (en)
AU (1) AU5106799A (en)
WO (1) WO2000018108A2 (en)

Cited By (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010021998A1 (en) * 1999-05-26 2001-09-13 Neal Margulis Apparatus and method for effectively implementing a wireless television system
US20020038358A1 (en) * 2000-08-08 2002-03-28 Sweatt Millard E. Method and system for remote television replay control
US20020090198A1 (en) * 2000-12-27 2002-07-11 Scott Rosenberg Advertisements in a television recordation system
US20020100041A1 (en) * 2000-10-15 2002-07-25 Rosenberg Scott A. Method and system for pause ads
US20020178278A1 (en) * 2001-05-24 2002-11-28 Paul Ducharme Method and apparatus for providing graphical overlays in a multimedia system
US20020199205A1 (en) * 2001-06-25 2002-12-26 Narad Networks, Inc Method and apparatus for delivering consumer entertainment services using virtual devices accessed over a high-speed quality-of-service-enabled communications network
US20030070181A1 (en) * 2001-10-04 2003-04-10 Russell Holm Interactive TV client device with integrated removable storage system
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US6590885B1 (en) 1998-07-10 2003-07-08 Malibu Networks, Inc. IP-flow characterization in a wireless point to multi-point (PTMP) transmission system
US6594246B1 (en) 1998-07-10 2003-07-15 Malibu Networks, Inc. IP-flow identification in a wireless point to multi-point transmission system
WO2003067453A1 (en) * 2002-02-08 2003-08-14 Bermai, Inc. Medium access control in a wireless network
US6628629B1 (en) 1998-07-10 2003-09-30 Malibu Networks Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system
US20030187981A1 (en) * 1998-12-01 2003-10-02 Marouane Berrada Request mechanism for a communication system between interactive terminals and master station
US20030198246A1 (en) * 2002-04-23 2003-10-23 Israel Lifshitz Adaptive synchronous media access protocol for shared media networks
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US20030202772A1 (en) * 2002-04-26 2003-10-30 Christopher Dow System and method for improved blackfield detection
US20030202773A1 (en) * 2002-04-26 2003-10-30 Christopher Dow System and method for indexing commercials in a video presentation
US20030208138A1 (en) * 2001-07-09 2003-11-06 Lorin Olson Micro-needles and methods of manufacture and use thereof
US20030210672A1 (en) * 2002-05-08 2003-11-13 International Business Machines Corporation Bandwidth management in a wireless network
WO2003096190A1 (en) * 2002-05-10 2003-11-20 Silicon Graphics, Inc. Real-time storage area network
US6657983B1 (en) * 1999-10-29 2003-12-02 Nortel Networks Limited Scheduling of upstream traffic in a TDMA wireless communications system
US6678252B1 (en) * 1999-10-28 2004-01-13 Verizon Laboratories Inc. Method and apparatus for dynamic source routing in ad hoc wireless networks
US6680922B1 (en) 1998-07-10 2004-01-20 Malibu Networks, Inc. Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system
US20040045020A1 (en) * 2002-08-29 2004-03-04 Witt Jeffrey Michael Commercial identification system
US20040068755A1 (en) * 2002-10-04 2004-04-08 Davies David B. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US20040068753A1 (en) * 2002-10-02 2004-04-08 Robertson Neil C. Video transmission systems and methods for a home network
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US20040139467A1 (en) * 2002-06-26 2004-07-15 Michael Rogerson Aircraft communication distribution system
US20040141517A1 (en) * 2003-01-22 2004-07-22 Sivaram Balasubramanian Industrial controller providing deterministic communication on Ethernet
US6788702B1 (en) * 1999-10-15 2004-09-07 Nokia Wireless Routers, Inc. Protocol for neighborhood-established transmission scheduling
US20040177375A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for short message service control of an integrated communications center
US20040174863A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for wireless remote control of a digital personal media stream manager
US20040175097A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for e-mail control of an integrated communications center
US20040177013A1 (en) * 2003-02-27 2004-09-09 Fenghua Zhou Periodical auditing system and method
US20040174905A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for instant messaging control of an integrated communications center
US20040174896A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for digital personal video stream manager
US20040177371A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for integrated communications center
US20040177376A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for context-based searching and control of an integrated communications center
US20040175096A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for voice portal control of an integrated communications center
US20040174858A1 (en) * 2003-03-07 2004-09-09 Siemens Information And Communication Networks, Inc. System and method for integrated audio stream manager
US20040210935A1 (en) * 1995-10-02 2004-10-21 Starsight Telecast, Inc. Interactive computer system for providing television schedule information
US20050024545A1 (en) * 2003-07-30 2005-02-03 Borden George R. Fast forward and skip remote control
US20050094642A1 (en) * 2003-10-31 2005-05-05 Rogers Steven A. Endpoint packet scheduling system
US20060075441A1 (en) * 2004-10-06 2006-04-06 Sony Corporation Method and system for a personal video recorder comprising multiple removable storage/tuner units
US20060074807A1 (en) * 2004-10-06 2006-04-06 Sony Corporation Method and system for content sharing and authentication between multiple devices
US20060095472A1 (en) * 2004-06-07 2006-05-04 Jason Krikorian Fast-start streaming and buffering of streaming content for personal media player
US20060117371A1 (en) * 2001-03-15 2006-06-01 Digital Display Innovations, Llc Method for effectively implementing a multi-room television system
US20060230123A1 (en) * 2005-04-07 2006-10-12 Simmons Bonnie J Online Shopping and Item Selection System and Method
US20060265091A1 (en) * 1998-08-14 2006-11-23 Bruce Mihura Audio entertainment system for storing and playing audio information
US20070003224A1 (en) * 2005-06-30 2007-01-04 Jason Krikorian Screen Management System for Media Player
US20070022328A1 (en) * 2005-06-30 2007-01-25 Raghuveer Tarra Firmware Update for Consumer Electronic Device
US20070234213A1 (en) * 2004-06-07 2007-10-04 Jason Krikorian Selection and Presentation of Context-Relevant Supplemental Content And Advertising
US20080155600A1 (en) * 2006-12-20 2008-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US20080155607A1 (en) * 2006-12-20 2008-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US7400733B1 (en) * 2002-02-27 2008-07-15 Atheros Communications, Inc. Key refresh at the MAC layer
US20080256485A1 (en) * 2007-04-12 2008-10-16 Jason Gary Krikorian User Interface for Controlling Video Programs on Mobile Computing Devices
US7487532B2 (en) 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
US20090055549A1 (en) * 2007-07-26 2009-02-26 Yoshikatsu Niwa Content Reproduction Apparatus, Content Reproduction Method, and Program
US20090070499A1 (en) * 2007-09-06 2009-03-12 Tsunemitsu Takase Content reproduction appratus, content reproduction method, and content reproduction system
US20090080448A1 (en) * 2007-09-26 2009-03-26 Sling Media Inc. Media streaming device with gateway functionality
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US20090102983A1 (en) * 2007-10-23 2009-04-23 Sling Media Inc. Systems and methods for controlling media devices
US20090103607A1 (en) * 2004-06-07 2009-04-23 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US20090109992A1 (en) * 2007-10-30 2009-04-30 Aharona Lurie Contention slots in a shared robust scheme
US7545935B2 (en) 2002-10-04 2009-06-09 Scientific-Atlanta, Inc. Networked multimedia overlay system
US20090177758A1 (en) * 2008-01-04 2009-07-09 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US7574453B2 (en) 2005-01-03 2009-08-11 Orb Networks, Inc. System and method for enabling search and retrieval operations to be performed for data items and records using data obtained from associated voice files
US20090248872A1 (en) * 2006-03-27 2009-10-01 Rayv Inc. Realtime media distribution in a p2p network
US20090257354A1 (en) * 2005-03-30 2009-10-15 Clifford Hannel Hardware Time Stamping and Synchronized Data Transmission
US20100005483A1 (en) * 2008-07-01 2010-01-07 Sling Media Inc. Systems and methods for securely place shifting media content
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US20100020685A1 (en) * 1999-10-22 2010-01-28 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
US20100071076A1 (en) * 2008-08-13 2010-03-18 Sling Media Pvt Ltd Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US20100129057A1 (en) * 2008-11-26 2010-05-27 Sling Media Pvt Ltd Systems and methods for creating logical media streams for media storage and playback
US7751628B1 (en) 2001-12-26 2010-07-06 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US20100192188A1 (en) * 2009-01-26 2010-07-29 Sling Media Inc. Systems and methods for linking media content
US7822284B2 (en) 1989-05-22 2010-10-26 Carl Cooper Spatial scan replication circuit
US7849486B2 (en) 2000-11-14 2010-12-07 Russ Samuel H Networked subscriber television distribution
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US20110019839A1 (en) * 2009-07-23 2011-01-27 Sling Media Pvt Ltd Adaptive gain control for digital audio samples in a media stream
US20110051016A1 (en) * 2009-08-28 2011-03-03 Sling Media Pvt Ltd Remote control and method for automatically adjusting the volume output of an audio device
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US7913278B2 (en) 1998-07-17 2011-03-22 United Video Properties, Inc. Interactive television program guide with remote access
US7917008B1 (en) 2001-08-19 2011-03-29 The Directv Group, Inc. Interface for resolving recording conflicts with network devices
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US20110093594A1 (en) * 2002-05-10 2011-04-21 Raymond Michael A Real-Time Storage Area Network
US7937484B2 (en) 2004-07-09 2011-05-03 Orb Networks, Inc. System and method for remotely controlling network resources
US7970863B1 (en) 2003-12-29 2011-06-28 AOL, Inc. Using a home-networking gateway to manage communications
US7974714B2 (en) 1999-10-05 2011-07-05 Steven Mark Hoffberg Intelligent electronic appliance system and method
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US20110191456A1 (en) * 2010-02-03 2011-08-04 Sling Media Pvt Ltd Systems and methods for coordinating data communication between two devices
US20110196521A1 (en) * 2010-02-05 2011-08-11 Sling Media Inc. Connection priority services for data communication between two devices
US20110208506A1 (en) * 2010-02-24 2011-08-25 Sling Media Inc. Systems and methods for emulating network-enabled media components
US8032653B1 (en) * 2000-09-08 2011-10-04 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
US8046313B2 (en) 1991-12-23 2011-10-25 Hoffberg Steven M Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US8087047B2 (en) 2007-04-20 2011-12-27 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8107977B2 (en) 2007-09-07 2012-01-31 United Video Properties, Inc. Cross-platform messaging
US8117564B2 (en) 2009-04-10 2012-02-14 United Video Properties, Inc. Systems and methods for generating a media guidance application with multiple perspective views
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
US8156246B2 (en) 1998-12-08 2012-04-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8195744B2 (en) 2004-07-09 2012-06-05 Orb Networks, Inc. File sharing system for use with a network
US8214422B1 (en) 2001-08-19 2012-07-03 The Directv Group, Inc. Methods and apparatus for sending content between client devices
US20120176897A1 (en) * 2008-12-18 2012-07-12 Telefonaktiebolaget L M Ericsson (Publ) Multipoint Delivery Entity and Method
US8272020B2 (en) 2002-08-17 2012-09-18 Disney Enterprises, Inc. System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
EP2506591A2 (en) 2008-02-25 2012-10-03 TiVo Inc. Stackable communications system
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
US8352990B2 (en) 2010-05-10 2013-01-08 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US8352978B2 (en) 1998-05-15 2013-01-08 United Video Properties, Inc. Systems and methods for advertising television networks, channels, and programs
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8453174B2 (en) 1995-10-02 2013-05-28 Starsight Telecast, Inc. Method and system for displaying advertising, video, and program schedule listing
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8515773B2 (en) 2001-08-01 2013-08-20 Sony Corporation System and method for enabling distribution and brokering of content information
US8528032B2 (en) 1998-07-14 2013-09-03 United Video Properties, Inc. Client-server based interactive television program guide system with remote server recording
US8532472B2 (en) 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8566871B2 (en) 1998-07-29 2013-10-22 Starsight Telecast, Inc. Multiple interactive electronic program guide system and methods
US8601526B2 (en) 2008-06-13 2013-12-03 United Video Properties, Inc. Systems and methods for displaying media content and media guidance information
US8613053B2 (en) 1998-12-08 2013-12-17 Nomadix, Inc. System and method for authorizing a portable communication device
US8626879B2 (en) 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
US8719893B2 (en) 1999-03-15 2014-05-06 Sony Corporation Secure module and a method for providing a dedicated on-site media service
US8726159B2 (en) 2007-01-05 2014-05-13 Verizon Patent And Licensing Inc. Content level navigation systems and methods
US8738693B2 (en) 2004-07-09 2014-05-27 Qualcomm Incorporated System and method for managing distribution of media files
US20140153560A1 (en) * 2012-11-30 2014-06-05 Qualcomm Incorporated Systems and methods for optimization of syncrhonization message transmission intervals in a peer-to-peer network
US8752084B1 (en) 2008-07-11 2014-06-10 The Directv Group, Inc. Television advertisement monitoring system
US8762492B2 (en) 1997-09-18 2014-06-24 United Video Properties, Inc. Electronic mail reminder for an internet television program guide
US8761584B2 (en) 1993-03-05 2014-06-24 Gemstar Development Corporation System and method for searching a database of television schedule information
US8776125B2 (en) 1996-05-03 2014-07-08 Starsight Telecast Inc. Method and system for displaying advertisements in an electronic program guide
US8787164B2 (en) 2004-07-09 2014-07-22 Qualcomm Incorporated Media delivery system and method for transporting media to desired target devices
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US8799485B2 (en) 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8799408B2 (en) 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
US8819140B2 (en) 2004-07-09 2014-08-26 Qualcomm Incorporated System and method for enabling the establishment and use of a personal network
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US8875198B1 (en) 2001-08-19 2014-10-28 The Directv Group, Inc. Network video unit
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US8904445B2 (en) 2011-01-24 2014-12-02 At&T Intellectual Property I, L.P. Methods and apparatus to manage bandwidth allocations in media delivery networks
US8904441B2 (en) 2003-11-06 2014-12-02 United Video Properties, Inc. Systems and methods for providing program suggestions in an interactive television program guide
US8949901B2 (en) 2011-06-29 2015-02-03 Rovi Guides, Inc. Methods and systems for customizing viewing environment preferences in a viewing environment control application
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8973072B2 (en) 2006-10-19 2015-03-03 Qualcomm Connected Experiences, Inc. System and method for programmatic link generation with media delivery
US9003451B2 (en) 1996-12-10 2015-04-07 Rovi Guides, Inc. Internet television program guide system
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US9015225B2 (en) 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US9071372B2 (en) 2007-12-19 2015-06-30 Rovi Guides, Inc. Methods and devices for presenting an interactive media guidance application
US9071872B2 (en) 2003-01-30 2015-06-30 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US9077766B2 (en) 2004-07-09 2015-07-07 Qualcomm Incorporated System and method for combining memory resources for use on a personal network
US9084006B2 (en) 1998-07-17 2015-07-14 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US9113207B2 (en) 1995-10-02 2015-08-18 Rovi Guides, Inc. Systems and methods for contextually linking television program information
US9118958B2 (en) 1999-12-10 2015-08-25 Rovi Guides, Inc. Systems and methods for coordinating interactive and passive advertisement and merchandising opportunities
US9118578B2 (en) 2011-01-18 2015-08-25 Nomadix, Inc. Systems and methods for group bandwidth management in a communication systems network
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules
US9137491B2 (en) 2000-02-01 2015-09-15 Rovi Guides, Inc. Methods and systems for forced advertising
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US9167196B2 (en) 2010-05-19 2015-10-20 Rovi Guides, Inc. Systems and methods for trimming recorded content using a media guidance application
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9172987B2 (en) 1998-07-07 2015-10-27 Rovi Guides, Inc. Methods and systems for updating functionality of a set-top box using markup language
US9171851B2 (en) 2000-08-08 2015-10-27 The Directv Group, Inc. One click web records
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9191722B2 (en) 1997-07-21 2015-11-17 Rovi Guides, Inc. System and method for modifying advertisement responsive to EPG information
US9197943B2 (en) 1998-12-03 2015-11-24 Rovi Guides, Inc. Electronic program guide with related-program search feature
US9201627B2 (en) 2010-01-05 2015-12-01 Rovi Guides, Inc. Systems and methods for transferring content between user equipment and a wireless communications device
US9204193B2 (en) 2010-05-14 2015-12-01 Rovi Guides, Inc. Systems and methods for media detection and filtering using a parental control logging application
US9218122B2 (en) 2011-12-29 2015-12-22 Rovi Guides, Inc. Systems and methods for transferring settings across devices based on user gestures
US9253262B2 (en) 2013-01-24 2016-02-02 Rovi Guides, Inc. Systems and methods for connecting media devices through web sockets
US9258175B1 (en) 2010-05-28 2016-02-09 The Directv Group, Inc. Method and system for sharing playlists for content stored within a network
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US9288521B2 (en) 2014-05-28 2016-03-15 Rovi Guides, Inc. Systems and methods for updating media asset data based on pause point in the media asset
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US9307281B2 (en) 2007-03-22 2016-04-05 Rovi Guides, Inc. User defined rules for assigning destinations of content
US9305590B2 (en) 2007-10-16 2016-04-05 Seagate Technology Llc Prevent data storage device circuitry swap
US9319735B2 (en) 1995-06-07 2016-04-19 Rovi Guides, Inc. Electronic television program guide schedule system and method with data feed access
US9326025B2 (en) 2007-03-09 2016-04-26 Rovi Technologies Corporation Media content search results ranked by popularity
US9426509B2 (en) 1998-08-21 2016-08-23 Rovi Guides, Inc. Client-server electronic program guide
US9479737B2 (en) 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
USRE46206E1 (en) 1998-07-10 2016-11-15 Intellectual Ventures I Llc Method and computer program product for internet protocol (IP)—flow classification in a wireless point to multi-point (PTMP) transmission system
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
USRE46310E1 (en) 1991-12-23 2017-02-14 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US9602862B2 (en) 2000-04-16 2017-03-21 The Directv Group, Inc. Accessing programs using networked digital video recording devices
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US9679602B2 (en) 2006-06-14 2017-06-13 Seagate Technology Llc Disc drive circuitry swap
US9712289B2 (en) 1998-07-10 2017-07-18 Intellectual Ventures I Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PtMP) transmission system architecture
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US10390074B2 (en) 2000-08-08 2019-08-20 The Directv Group, Inc. One click web records
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US10986164B2 (en) 2004-01-13 2021-04-20 May Patents Ltd. Information device
US20230093879A1 (en) * 2021-09-29 2023-03-30 Atlassian Pty Ltd. Computer implemented methods and systems for project management

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054752A1 (en) 1998-08-07 2002-05-09 Anthony Wood Video data recorder with personal channels
US6360053B1 (en) 1998-08-07 2002-03-19 Replaytv, Inc. Method and apparatus for fast forwarding and rewinding in a video recording device
US6674540B1 (en) * 1999-05-24 2004-01-06 Hewlett-Packard Development Company, L.P. Assembling and printing compound documents
US6934467B1 (en) 1999-09-13 2005-08-23 Seagate Technology, Llc Transcoding multimedia data shuttle and archive
US6654546B1 (en) 1999-10-05 2003-11-25 Digital Networks North America, Inc Field upgradeable recording device
US7035528B1 (en) 1999-10-05 2006-04-25 Digital Networks North America, Inc. Providing audience flow in a personal television device
US7711838B1 (en) * 1999-11-10 2010-05-04 Yahoo! Inc. Internet radio and broadcast method
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US6925246B1 (en) 2000-07-05 2005-08-02 Steinbeck Cannery, Llc Television recorder having a removeable hard disk drive
AU7198001A (en) * 2000-07-11 2002-01-21 Launch Media Inc Online playback system with community bias
US7142527B2 (en) * 2001-02-28 2006-11-28 Nokia Inc. System and method for transmission scheduling using network membership information and neighborhood information
US7636931B2 (en) 2001-08-17 2009-12-22 Igt Interactive television devices and systems
SE521657C2 (en) * 2002-03-26 2003-11-25 Marratech Ab Device and method of adaptive data transmission
US7523482B2 (en) * 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8397269B2 (en) * 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7603689B2 (en) * 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7529247B2 (en) * 2003-09-17 2009-05-05 Rivulet Communications, Inc. Empirical scheduling of network packets
US7468948B2 (en) 2003-09-17 2008-12-23 Steven A Rogers Empirical scheduling of network packets using coarse and fine testing periods
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
JP4900801B2 (en) 2003-12-23 2012-03-21 ザ・ディレクティービー・グループ・インコーポレイテッド System and method for distributing media in a pay-per-play architecture with remote playback within an enterprise
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7640352B2 (en) 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
US7453885B2 (en) * 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US8135040B2 (en) * 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US8464118B2 (en) * 2006-05-02 2013-06-11 ANT—Advanced Network Technology Oy Method and system for wireless real-time transmission of multichannel audio or video data
US7848355B2 (en) * 2008-10-30 2010-12-07 International Business Machines Corporation Resource allocation in peer-to-peer streaming
CN101729858A (en) * 2009-12-14 2010-06-09 中兴通讯股份有限公司 Playing control method and system of bluetooth media
US8565879B2 (en) 2010-03-30 2013-10-22 Cardiac Pacemakers, Inc. Method and apparatus for pacing safety margin
KR101688857B1 (en) * 2010-05-13 2016-12-23 삼성전자주식회사 Terminal for contents centric network and method of communication for terminal and herb in contents centric network(ccn)
SG2014013619A (en) 2010-10-21 2014-07-30 Holybrain Bvba Method and apparatus for neuropsychological modeling of human experience and purchasing behavior
US9141982B2 (en) 2011-04-27 2015-09-22 Right Brain Interface Nv Method and apparatus for collaborative upload of content
US8433815B2 (en) 2011-09-28 2013-04-30 Right Brain Interface Nv Method and apparatus for collaborative upload of content
US10334608B2 (en) * 2013-07-30 2019-06-25 Nokia Technologies Oy Method and apparatus for dual connectivity
US9635124B2 (en) 2014-01-15 2017-04-25 Qualcomm Connected Experiences, Inc. Conveying state changes using connectionless messaging and a store-and-forward cache

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4063220A (en) 1975-03-31 1977-12-13 Xerox Corporation Multipoint data communication system with collision detection
US4587650A (en) 1984-10-30 1986-05-06 Burroughs Corporation Method of simultaneously transmitting isochronous and nonisochronous data on a local area network
US5012469A (en) 1988-07-29 1991-04-30 Karamvir Sardana Adaptive hybrid multiple access protocols
EP0569651A1 (en) 1992-05-13 1993-11-18 Hager Electro S.A. Assembling process for phase/neutral conductor circuit breakers and circuit breaker of that kind
US5295140A (en) 1991-03-28 1994-03-15 Motorola, Inc. Method for multi-purpose utilization of resources in a communication system
US5381413A (en) * 1992-12-28 1995-01-10 Starlight Networks Data throttling system for a communications network
US5446735A (en) * 1992-12-18 1995-08-29 Starlight Networks Bandwidth allocation in a shared transmission channel employing CSMA/CD
US5590131A (en) * 1995-05-30 1996-12-31 Motorola, Inc. Efficient distributed queueing random access method for the medium access control layer in networks with broadcast channels
US5619695A (en) * 1994-02-03 1997-04-08 Lockheed Martin Corporation Method and apparatus for scheduling resources
US5680589A (en) * 1995-06-08 1997-10-21 Klingman; Edwin E. Ring communication system using ISDN
WO1997039556A1 (en) 1996-04-12 1997-10-23 Peak Audio, Incorporated Media access control for isochronous data packets in carrier sensing multiple access systems
US5695400A (en) * 1996-01-30 1997-12-09 Boxer Jam Productions Method of managing multi-player game playing over a network
US5768681A (en) * 1995-08-22 1998-06-16 International Business Machines Corporation Channel conservation for anticipated load surge in video servers
US5771350A (en) 1996-04-09 1998-06-23 Electronics And Telecommunications Research Institute Asynchronous transfer mode(ATM) network adaptor for the simultaneous processing of the multi-channel traffic
US5915094A (en) * 1994-12-06 1999-06-22 International Business Machines Corporation Disk access method for delivering multimedia and video information on demand over wide area networks
US5926457A (en) * 1996-08-22 1999-07-20 D-Link Corporation Network controller, and method of calculating the in time interrupt point by means of the application of a fuzzy theory
US6032000A (en) * 1996-01-31 2000-02-29 Minolta Co., Ltd. Camera with mechanism for operating a light block lid of a film cartridge
US6115390A (en) * 1997-10-14 2000-09-05 Lucent Technologies, Inc. Bandwidth reservation and collision resolution method for multiple access communication networks where remote hosts send reservation requests to a base station for randomly chosen minislots
US6185360B1 (en) * 1996-10-08 2001-02-06 Matsushita Electric Industrial Co., Ltd. Information receiving system and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0596651A1 (en) * 1992-11-02 1994-05-11 National Semiconductor Corporation Network for data communication with isochronous capability
US5537549A (en) * 1993-04-28 1996-07-16 Allen-Bradley Company, Inc. Communication network with time coordinated station activity by time slot and periodic interval number
US5737549A (en) * 1994-01-31 1998-04-07 Ecole Polytechnique Federale De Lausanne Method and apparatus for a parallel data storage and processing server
US5533009A (en) * 1995-02-03 1996-07-02 Bell Communications Research, Inc. Bandwidth management and access control for an ATM network
JP3471959B2 (en) * 1995-03-10 2003-12-02 パイオニア株式会社 Optical pickup device
US6097707A (en) * 1995-05-19 2000-08-01 Hodzic; Migdat I. Adaptive digital wireless communications network apparatus and process
US5982748A (en) * 1996-10-03 1999-11-09 Nortel Networks Corporation Method and apparatus for controlling admission of connection requests
US6041359A (en) * 1997-06-09 2000-03-21 Microsoft Corporation Data delivery system and method for delivering computer data over a broadcast network

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4063220A (en) 1975-03-31 1977-12-13 Xerox Corporation Multipoint data communication system with collision detection
US4587650A (en) 1984-10-30 1986-05-06 Burroughs Corporation Method of simultaneously transmitting isochronous and nonisochronous data on a local area network
US5012469A (en) 1988-07-29 1991-04-30 Karamvir Sardana Adaptive hybrid multiple access protocols
US5295140A (en) 1991-03-28 1994-03-15 Motorola, Inc. Method for multi-purpose utilization of resources in a communication system
EP0569651A1 (en) 1992-05-13 1993-11-18 Hager Electro S.A. Assembling process for phase/neutral conductor circuit breakers and circuit breaker of that kind
US5446735A (en) * 1992-12-18 1995-08-29 Starlight Networks Bandwidth allocation in a shared transmission channel employing CSMA/CD
US5381413A (en) * 1992-12-28 1995-01-10 Starlight Networks Data throttling system for a communications network
US5619695A (en) * 1994-02-03 1997-04-08 Lockheed Martin Corporation Method and apparatus for scheduling resources
US5915094A (en) * 1994-12-06 1999-06-22 International Business Machines Corporation Disk access method for delivering multimedia and video information on demand over wide area networks
US5590131A (en) * 1995-05-30 1996-12-31 Motorola, Inc. Efficient distributed queueing random access method for the medium access control layer in networks with broadcast channels
US5680589A (en) * 1995-06-08 1997-10-21 Klingman; Edwin E. Ring communication system using ISDN
US5768681A (en) * 1995-08-22 1998-06-16 International Business Machines Corporation Channel conservation for anticipated load surge in video servers
US5695400A (en) * 1996-01-30 1997-12-09 Boxer Jam Productions Method of managing multi-player game playing over a network
US6032000A (en) * 1996-01-31 2000-02-29 Minolta Co., Ltd. Camera with mechanism for operating a light block lid of a film cartridge
US5771350A (en) 1996-04-09 1998-06-23 Electronics And Telecommunications Research Institute Asynchronous transfer mode(ATM) network adaptor for the simultaneous processing of the multi-channel traffic
WO1997039556A1 (en) 1996-04-12 1997-10-23 Peak Audio, Incorporated Media access control for isochronous data packets in carrier sensing multiple access systems
US5926457A (en) * 1996-08-22 1999-07-20 D-Link Corporation Network controller, and method of calculating the in time interrupt point by means of the application of a fuzzy theory
US6185360B1 (en) * 1996-10-08 2001-02-06 Matsushita Electric Industrial Co., Ltd. Information receiving system and method
US6115390A (en) * 1997-10-14 2000-09-05 Lucent Technologies, Inc. Bandwidth reservation and collision resolution method for multiple access communication networks where remote hosts send reservation requests to a base station for randomly chosen minislots

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
M. Ajmone Marsan, F. Saluta; Fairness and Efficiency of Slot Reuse Algorithms in DQDM MANS; 1997; Compute Communications 20.
Moorwood, A. Implementing a Multimedia Capable Netowrk Using ATM and IEEE, 1994, Transport Technologies.
S. Radhakrishnan, S.V. Raghaven, Ashok K. Agrawala; A flexible traffic Shaper for high speed Networks: Design and Comparative Study with Leaky Bucket; 1996; Computer Networks and ISDN systems 28.
Wenge Ren. Kai-Yeng Siu. Hiroshi Suzuki; Masayuki Shinihara; Multipoint-to-multipoint ABR service ATM; 1998; Computer Netowrks and ISDN Systems 30.
Worsley, D. and T. Ogunfunmi, Isochronous Ethernet-An ATM Bridge for Multimedia Networking, 1997, IEEE.

Cited By (411)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822284B2 (en) 1989-05-22 2010-10-26 Carl Cooper Spatial scan replication circuit
US7986851B2 (en) 1989-05-22 2011-07-26 Cooper J Carl Spatial scan replication circuit
USRE49387E1 (en) 1991-12-23 2023-01-24 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US8046313B2 (en) 1991-12-23 2011-10-25 Hoffberg Steven M Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE46310E1 (en) 1991-12-23 2017-02-14 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8761584B2 (en) 1993-03-05 2014-06-24 Gemstar Development Corporation System and method for searching a database of television schedule information
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US9319735B2 (en) 1995-06-07 2016-04-19 Rovi Guides, Inc. Electronic television program guide schedule system and method with data feed access
US9667903B2 (en) 1995-10-02 2017-05-30 Rovi Guides, Inc. Interactive computer system for providing television schedule information
US9402102B2 (en) 1995-10-02 2016-07-26 Rovi Guides, Inc. System and method for using television schedule information
US20040210935A1 (en) * 1995-10-02 2004-10-21 Starsight Telecast, Inc. Interactive computer system for providing television schedule information
US8453174B2 (en) 1995-10-02 2013-05-28 Starsight Telecast, Inc. Method and system for displaying advertising, video, and program schedule listing
US9113207B2 (en) 1995-10-02 2015-08-18 Rovi Guides, Inc. Systems and methods for contextually linking television program information
US20100211969A1 (en) * 1995-10-02 2010-08-19 Schein Steven M Interactive computer system for providing television schedule information
US8205232B2 (en) 1995-10-02 2012-06-19 Starsight Telecast, Inc. Interactive computer system for providing television schedule information
US9918035B2 (en) 1995-10-02 2018-03-13 Rovi Guides, Inc. Interactive computer system for providing television schedule information
US9124932B2 (en) 1995-10-02 2015-09-01 Rovi Guides, Inc. Systems and methods for contextually linking television program information
US8776125B2 (en) 1996-05-03 2014-07-08 Starsight Telecast Inc. Method and system for displaying advertisements in an electronic program guide
US8869204B2 (en) 1996-05-03 2014-10-21 Starsight Telecast, Inc. Method and system for displaying advertisements in an electronic program guide
US9003451B2 (en) 1996-12-10 2015-04-07 Rovi Guides, Inc. Internet television program guide system
US9191722B2 (en) 1997-07-21 2015-11-17 Rovi Guides, Inc. System and method for modifying advertisement responsive to EPG information
US8762492B2 (en) 1997-09-18 2014-06-24 United Video Properties, Inc. Electronic mail reminder for an internet television program guide
US8352978B2 (en) 1998-05-15 2013-01-08 United Video Properties, Inc. Systems and methods for advertising television networks, channels, and programs
US9172987B2 (en) 1998-07-07 2015-10-27 Rovi Guides, Inc. Methods and systems for updating functionality of a set-top box using markup language
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US6680922B1 (en) 1998-07-10 2004-01-20 Malibu Networks, Inc. Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system
USRE46206E1 (en) 1998-07-10 2016-11-15 Intellectual Ventures I Llc Method and computer program product for internet protocol (IP)—flow classification in a wireless point to multi-point (PTMP) transmission system
US9712289B2 (en) 1998-07-10 2017-07-18 Intellectual Ventures I Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PtMP) transmission system architecture
US6628629B1 (en) 1998-07-10 2003-09-30 Malibu Networks Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system
US6594246B1 (en) 1998-07-10 2003-07-15 Malibu Networks, Inc. IP-flow identification in a wireless point to multi-point transmission system
US6590885B1 (en) 1998-07-10 2003-07-08 Malibu Networks, Inc. IP-flow characterization in a wireless point to multi-point (PTMP) transmission system
US9055319B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Interactive guide with recording
US9021538B2 (en) 1998-07-14 2015-04-28 Rovi Guides, Inc. Client-server based interactive guide with server recording
US8776126B2 (en) 1998-07-14 2014-07-08 United Video Properties, Inc. Client-server based interactive television guide with server recording
US8528032B2 (en) 1998-07-14 2013-09-03 United Video Properties, Inc. Client-server based interactive television program guide system with remote server recording
US10075746B2 (en) 1998-07-14 2018-09-11 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9055318B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Client-server based interactive guide with server storage
US9154843B2 (en) 1998-07-14 2015-10-06 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9232254B2 (en) 1998-07-14 2016-01-05 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9118948B2 (en) 1998-07-14 2015-08-25 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9226006B2 (en) 1998-07-14 2015-12-29 Rovi Guides, Inc. Client-server based interactive guide with server recording
US8578423B2 (en) 1998-07-17 2013-11-05 United Video Properties, Inc. Interactive television program guide with remote access
US9204184B2 (en) 1998-07-17 2015-12-01 Rovi Guides, Inc. Interactive television program guide with remote access
US9084006B2 (en) 1998-07-17 2015-07-14 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US8046801B2 (en) 1998-07-17 2011-10-25 United Video Properties, Inc. Interactive television program guide with remote access
US10271088B2 (en) 1998-07-17 2019-04-23 Rovi Guides, Inc. Interactive television program guide with remote access
US7913278B2 (en) 1998-07-17 2011-03-22 United Video Properties, Inc. Interactive television program guide with remote access
US9237369B2 (en) 1998-07-17 2016-01-12 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US8768148B2 (en) 1998-07-17 2014-07-01 United Video Properties, Inc. Interactive television program guide with remote access
US8584172B2 (en) 1998-07-17 2013-11-12 United Video Properties, Inc. Interactive television program guide with remote access
US8755666B2 (en) 1998-07-17 2014-06-17 United Video Properties, Inc. Interactive television program guide with remote access
US8578413B2 (en) 1998-07-17 2013-11-05 United Video Properties, Inc. Interactive television program guide with remote access
US9706245B2 (en) 1998-07-17 2017-07-11 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US9185449B2 (en) 1998-07-17 2015-11-10 Rovi Guides, Inc. Interactive television program guide system having multiple devices within a household
US8006263B2 (en) 1998-07-17 2011-08-23 United Video Properties, Inc. Interactive television program guide with remote access
US8566871B2 (en) 1998-07-29 2013-10-22 Starsight Telecast, Inc. Multiple interactive electronic program guide system and methods
US20060265091A1 (en) * 1998-08-14 2006-11-23 Bruce Mihura Audio entertainment system for storing and playing audio information
US9426509B2 (en) 1998-08-21 2016-08-23 Rovi Guides, Inc. Client-server electronic program guide
US6826589B2 (en) * 1998-12-01 2004-11-30 Koninklijke Philips Electronics N.V. Request mechanism for a communication system between interactive terminals and master station
US20030187981A1 (en) * 1998-12-01 2003-10-02 Marouane Berrada Request mechanism for a communication system between interactive terminals and master station
US9197943B2 (en) 1998-12-03 2015-11-24 Rovi Guides, Inc. Electronic program guide with related-program search feature
US8613053B2 (en) 1998-12-08 2013-12-17 Nomadix, Inc. System and method for authorizing a portable communication device
US8244886B2 (en) 1998-12-08 2012-08-14 Nomadix, Inc. Systems and methods for providing content and services on a network system
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8606917B2 (en) 1998-12-08 2013-12-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8725888B2 (en) 1998-12-08 2014-05-13 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8725899B2 (en) 1998-12-08 2014-05-13 Nomadix, Inc. Systems and methods for providing content and services on a network system
US10341243B2 (en) 1998-12-08 2019-07-02 Nomadix, Inc. Systems and methods for providing content and services on a network system
US9548935B2 (en) 1998-12-08 2017-01-17 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8788690B2 (en) 1998-12-08 2014-07-22 Nomadix, Inc. Systems and methods for providing content and services on a network system
US9160672B2 (en) 1998-12-08 2015-10-13 Nomadix, Inc. Systems and methods for controlling user perceived connection speed
US8370477B2 (en) 1998-12-08 2013-02-05 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8364806B2 (en) 1998-12-08 2013-01-29 Nomadix, Inc. Systems and methods for providing content and services on a network system
US10110436B2 (en) 1998-12-08 2018-10-23 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8266269B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8156246B2 (en) 1998-12-08 2012-04-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8719893B2 (en) 1999-03-15 2014-05-06 Sony Corporation Secure module and a method for providing a dedicated on-site media service
US20100192186A1 (en) * 1999-05-26 2010-07-29 Sling Media Inc. Apparatus and method for effectively implementing a wireless television system
US9781473B2 (en) 1999-05-26 2017-10-03 Echostar Technologies L.L.C. Method for effectively implementing a multi-room television system
US7725912B2 (en) 1999-05-26 2010-05-25 Sling Media, Inc. Method for implementing a remote display system with transcoding
US20100192185A1 (en) * 1999-05-26 2010-07-29 Sling Media Inc. Apparatus and method for effectively implementing a wireless television system
US7992176B2 (en) 1999-05-26 2011-08-02 Sling Media, Inc. Apparatus and method for effectively implementing a wireless television system
US20010021998A1 (en) * 1999-05-26 2001-09-13 Neal Margulis Apparatus and method for effectively implementing a wireless television system
US9491523B2 (en) 1999-05-26 2016-11-08 Echostar Technologies L.L.C. Method for effectively implementing a multi-room television system
US9584757B2 (en) 1999-05-26 2017-02-28 Sling Media, Inc. Apparatus and method for effectively implementing a wireless television system
US20100192184A1 (en) * 1999-05-26 2010-07-29 Sling Media Inc. Apparatus and method for effectively implementing a wireless television system
US7974714B2 (en) 1999-10-05 2011-07-05 Steven Mark Hoffberg Intelligent electronic appliance system and method
US6788702B1 (en) * 1999-10-15 2004-09-07 Nokia Wireless Routers, Inc. Protocol for neighborhood-established transmission scheduling
US9160674B2 (en) 1999-10-22 2015-10-13 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US20110199932A1 (en) * 1999-10-22 2011-08-18 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US7953857B2 (en) 1999-10-22 2011-05-31 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US7739383B1 (en) * 1999-10-22 2010-06-15 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
US20100020685A1 (en) * 1999-10-22 2010-01-28 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
US10367748B2 (en) 1999-10-22 2019-07-30 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US8626922B2 (en) 1999-10-22 2014-01-07 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US20100208743A1 (en) * 1999-10-22 2010-08-19 Nomadix, Inc. Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US7698432B2 (en) * 1999-10-22 2010-04-13 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
US6678252B1 (en) * 1999-10-28 2004-01-13 Verizon Laboratories Inc. Method and apparatus for dynamic source routing in ad hoc wireless networks
US6657983B1 (en) * 1999-10-29 2003-12-02 Nortel Networks Limited Scheduling of upstream traffic in a TDMA wireless communications system
US9118958B2 (en) 1999-12-10 2015-08-25 Rovi Guides, Inc. Systems and methods for coordinating interactive and passive advertisement and merchandising opportunities
US9137491B2 (en) 2000-02-01 2015-09-15 Rovi Guides, Inc. Methods and systems for forced advertising
US10142673B2 (en) 2000-04-16 2018-11-27 The Directv Group, Inc. Accessing programs using networked digital video recording devices
US9602862B2 (en) 2000-04-16 2017-03-21 The Directv Group, Inc. Accessing programs using networked digital video recording devices
US10320503B2 (en) 2000-08-08 2019-06-11 The Directv Group, Inc. Method and system for remote television replay control
US20020080166A1 (en) * 2000-08-08 2002-06-27 Sweatt Millard E. Method and system for remote television replay control
US20020038358A1 (en) * 2000-08-08 2002-03-28 Sweatt Millard E. Method and system for remote television replay control
US7917602B2 (en) 2000-08-08 2011-03-29 The Directv Group, Inc. Method and system for remote television replay control
US10390074B2 (en) 2000-08-08 2019-08-20 The Directv Group, Inc. One click web records
US8949374B2 (en) 2000-08-08 2015-02-03 The Directv Group, Inc. Method and system for remote television replay control
US9654238B2 (en) 2000-08-08 2017-05-16 The Directv Group, Inc. Method and system for remote television replay control
US9171851B2 (en) 2000-08-08 2015-10-27 The Directv Group, Inc. One click web records
US8032653B1 (en) * 2000-09-08 2011-10-04 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
US8614951B2 (en) 2000-09-08 2013-12-24 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US8078493B2 (en) 2000-10-15 2011-12-13 The Directv Group, Inc. Method and system for pause ads
US10380630B2 (en) 2000-10-15 2019-08-13 The Directv Group, Inc. Method and system for dynamic ad placement
US20020100041A1 (en) * 2000-10-15 2002-07-25 Rosenberg Scott A. Method and system for pause ads
US8571934B2 (en) 2000-10-15 2013-10-29 The Directv Group, Inc. Method and system for dynamic ad placement
US20020097235A1 (en) * 2000-10-15 2002-07-25 Rosenberg Scott A. Method and system for dynamic ad placement
US7861272B2 (en) 2000-11-14 2010-12-28 Russ Samuel H Networked subscriber television distribution
US7849486B2 (en) 2000-11-14 2010-12-07 Russ Samuel H Networked subscriber television distribution
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
US8549567B2 (en) 2000-11-14 2013-10-01 Samuel H. Russ Media content sharing over a home network
US8571933B2 (en) 2000-12-27 2013-10-29 The Directv Group, Inc. Advertisements in a television recordation system
US20020090198A1 (en) * 2000-12-27 2002-07-11 Scott Rosenberg Advertisements in a television recordation system
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US20060117371A1 (en) * 2001-03-15 2006-06-01 Digital Display Innovations, Llc Method for effectively implementing a multi-room television system
US20020178278A1 (en) * 2001-05-24 2002-11-28 Paul Ducharme Method and apparatus for providing graphical overlays in a multimedia system
US7836193B2 (en) * 2001-05-24 2010-11-16 Vixs Systems, Inc. Method and apparatus for providing graphical overlays in a multimedia system
US20020199205A1 (en) * 2001-06-25 2002-12-26 Narad Networks, Inc Method and apparatus for delivering consumer entertainment services using virtual devices accessed over a high-speed quality-of-service-enabled communications network
US20030208138A1 (en) * 2001-07-09 2003-11-06 Lorin Olson Micro-needles and methods of manufacture and use thereof
US8515773B2 (en) 2001-08-01 2013-08-20 Sony Corporation System and method for enabling distribution and brokering of content information
US9426531B2 (en) 2001-08-19 2016-08-23 The Directv Group, Inc. Network video unit
US9113191B2 (en) 2001-08-19 2015-08-18 The Directv Group, Inc. Methods and apparatus for sending content between client devices
US9743147B2 (en) 2001-08-19 2017-08-22 The Directv Group, Inc. Network video unit
US7917008B1 (en) 2001-08-19 2011-03-29 The Directv Group, Inc. Interface for resolving recording conflicts with network devices
US8214422B1 (en) 2001-08-19 2012-07-03 The Directv Group, Inc. Methods and apparatus for sending content between client devices
US8875198B1 (en) 2001-08-19 2014-10-28 The Directv Group, Inc. Network video unit
US9467746B2 (en) 2001-08-19 2016-10-11 The Directv Group, Inc. Network video unit
US20030070181A1 (en) * 2001-10-04 2003-04-10 Russell Holm Interactive TV client device with integrated removable storage system
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US8422733B2 (en) 2001-12-26 2013-04-16 Teleshuttle Tech2, Llc Method and apparatus for progressively deleting media objects from storage
US8023751B1 (en) 2001-12-26 2011-09-20 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US7751628B1 (en) 2001-12-26 2010-07-06 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US7461164B2 (en) 2002-02-08 2008-12-02 Dsp Group Inc. Medium access control with software -and hardware- based components in a wireless network
US20040059825A1 (en) * 2002-02-08 2004-03-25 Edwards Paul C. Medium access control in a wireless network
WO2003067453A1 (en) * 2002-02-08 2003-08-14 Bermai, Inc. Medium access control in a wireless network
US7400733B1 (en) * 2002-02-27 2008-07-15 Atheros Communications, Inc. Key refresh at the MAC layer
US7724764B2 (en) 2002-04-23 2010-05-25 Coppergate Communications Ltd. Adaptive synchronous media access protocol for shared media networks
US7944939B2 (en) * 2002-04-23 2011-05-17 Coppergate Communications Ltd. Adaptive synchronous media access protocol for shared media networks
US20030198246A1 (en) * 2002-04-23 2003-10-23 Israel Lifshitz Adaptive synchronous media access protocol for shared media networks
US20070165666A1 (en) * 2002-04-23 2007-07-19 Israel Lifshitz Adaptive synchronous media access protocol for shared media networks
US8155498B2 (en) 2002-04-26 2012-04-10 The Directv Group, Inc. System and method for indexing commercials in a video presentation
US7251413B2 (en) 2002-04-26 2007-07-31 Digital Networks North America, Inc. System and method for improved blackfield detection
US20030202772A1 (en) * 2002-04-26 2003-10-30 Christopher Dow System and method for improved blackfield detection
US20030202773A1 (en) * 2002-04-26 2003-10-30 Christopher Dow System and method for indexing commercials in a video presentation
US7113497B2 (en) 2002-05-08 2006-09-26 Lenovo (Singapore) Pte. Ltd. Bandwidth management in a wireless network
US20030210672A1 (en) * 2002-05-08 2003-11-13 International Business Machines Corporation Bandwidth management in a wireless network
US20110093594A1 (en) * 2002-05-10 2011-04-21 Raymond Michael A Real-Time Storage Area Network
WO2003096190A1 (en) * 2002-05-10 2003-11-20 Silicon Graphics, Inc. Real-time storage area network
US8589499B2 (en) 2002-05-10 2013-11-19 Silicon Graphics International Corp. Real-time storage area network
US9386100B2 (en) 2002-05-10 2016-07-05 Silicon Graphics International Corp. Real-time storage area network
US7818424B2 (en) 2002-05-10 2010-10-19 Silicon Graphics International Real-time storage area network
US20040139467A1 (en) * 2002-06-26 2004-07-15 Michael Rogerson Aircraft communication distribution system
US7870584B2 (en) 2002-08-02 2011-01-11 Russ Samuel H Interactive program guide with selectable updating
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US8272020B2 (en) 2002-08-17 2012-09-18 Disney Enterprises, Inc. System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
US20040045020A1 (en) * 2002-08-29 2004-03-04 Witt Jeffrey Michael Commercial identification system
US20080072272A1 (en) * 2002-10-02 2008-03-20 Robertson Neil C Video transmission systems and methods for a home network
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US20040068753A1 (en) * 2002-10-02 2004-04-08 Robertson Neil C. Video transmission systems and methods for a home network
US9762970B2 (en) 2002-10-04 2017-09-12 Tech 5 Access of stored video from peer devices in a local network
US7360235B2 (en) 2002-10-04 2008-04-15 Scientific-Atlanta, Inc. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US7545935B2 (en) 2002-10-04 2009-06-09 Scientific-Atlanta, Inc. Networked multimedia overlay system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
US8966550B2 (en) 2002-10-04 2015-02-24 Cisco Technology, Inc. Home communication systems
US8627385B2 (en) 2002-10-04 2014-01-07 David B. Davies Systems and methods for operating a peripheral record playback device in a networked multimedia system
US20040068755A1 (en) * 2002-10-04 2004-04-08 Davies David B. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
US8230470B2 (en) 2003-01-15 2012-07-24 Robertson Neil C Full duplex wideband communications system for a local coaxial network
US7487532B2 (en) 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
US7865925B2 (en) 2003-01-15 2011-01-04 Robertson Neil C Optimization of a full duplex wideband communications system
US20040141517A1 (en) * 2003-01-22 2004-07-22 Sivaram Balasubramanian Industrial controller providing deterministic communication on Ethernet
US7339948B2 (en) * 2003-01-22 2008-03-04 Rockwell Automation Technologies, Inc. Industrial controller providing deterministic communication on ethernet
US9071872B2 (en) 2003-01-30 2015-06-30 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US9369741B2 (en) 2003-01-30 2016-06-14 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US20040177013A1 (en) * 2003-02-27 2004-09-09 Fenghua Zhou Periodical auditing system and method
US20040174896A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for digital personal video stream manager
US20040175097A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for e-mail control of an integrated communications center
US7761898B2 (en) 2003-03-07 2010-07-20 Siemens Enterprise Communications, Inc. System and method for e-mail control of an integrated communications center
US7519073B2 (en) 2003-03-07 2009-04-14 Siemens Communications, Inc. System and method for instant messaging control of an integrated communications center
US20040174905A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for instant messaging control of an integrated communications center
US7536708B2 (en) 2003-03-07 2009-05-19 Siemens Communications, Inc. System and method for context-based searching and control of an integrated communications center
US7525975B2 (en) 2003-03-07 2009-04-28 Rami Caspi System and method for integrated audio stream manager
US7787749B2 (en) 2003-03-07 2010-08-31 Siemens Enterprise Communications, Inc. System and method for voice portal control of an integrated communications center
US20040175096A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for voice portal control of an integrated communications center
US8539533B2 (en) 2003-03-07 2013-09-17 Siemens Enterprise Communications, Inc. System and method for digital personal video stream manager
US20040174863A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for wireless remote control of a digital personal media stream manager
US20040177376A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for context-based searching and control of an integrated communications center
US20040177375A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for short message service control of an integrated communications center
US20040177371A1 (en) * 2003-03-07 2004-09-09 Rami Caspi System and method for integrated communications center
US20040174858A1 (en) * 2003-03-07 2004-09-09 Siemens Information And Communication Networks, Inc. System and method for integrated audio stream manager
US7116891B2 (en) 2003-07-30 2006-10-03 Sharp Laboratories Of America, Inc. Fast forward and skip remote control
US20050024545A1 (en) * 2003-07-30 2005-02-03 Borden George R. Fast forward and skip remote control
US20050094642A1 (en) * 2003-10-31 2005-05-05 Rogers Steven A. Endpoint packet scheduling system
US10880607B2 (en) 2003-11-06 2020-12-29 Rovi Guides, Inc. Systems and methods for providing program suggestions in an interactive television program guide
US10986407B2 (en) 2003-11-06 2021-04-20 Rovi Guides, Inc. Systems and methods for providing program suggestions in an interactive television program guide
US9191719B2 (en) 2003-11-06 2015-11-17 Rovi Guides, Inc. Systems and methods for providing program suggestions in an interactive television program guide
US8904441B2 (en) 2003-11-06 2014-12-02 United Video Properties, Inc. Systems and methods for providing program suggestions in an interactive television program guide
US8683011B2 (en) 2003-12-29 2014-03-25 Aol Inc. Using a home-networking gateway to manage communications
US7970863B1 (en) 2003-12-29 2011-06-28 AOL, Inc. Using a home-networking gateway to manage communications
US9432246B2 (en) 2003-12-29 2016-08-30 Aol Inc. Using a home-networking gateway to manage communications
US20110238786A1 (en) * 2003-12-29 2011-09-29 Aol Inc. Using a Home-Networking Gateway to Manage Communications
US11032353B2 (en) 2004-01-13 2021-06-08 May Patents Ltd. Information device
US11095708B2 (en) 2004-01-13 2021-08-17 May Patents Ltd. Information device
US10986165B2 (en) 2004-01-13 2021-04-20 May Patents Ltd. Information device
US10986164B2 (en) 2004-01-13 2021-04-20 May Patents Ltd. Information device
US20110099286A1 (en) * 2004-06-07 2011-04-28 Sling Media Inc. Personal media broadcasting system
US8819750B2 (en) 2004-06-07 2014-08-26 Sling Media, Inc. Personal media broadcasting system with output buffer
US8621533B2 (en) 2004-06-07 2013-12-31 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US8904455B2 (en) 2004-06-07 2014-12-02 Sling Media Inc. Personal video recorder functionality for placeshifting systems
US9716910B2 (en) 2004-06-07 2017-07-25 Sling Media, L.L.C. Personal video recorder functionality for placeshifting systems
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US20060095401A1 (en) * 2004-06-07 2006-05-04 Jason Krikorian Personal media broadcasting system with output buffer
US20110170842A1 (en) * 2004-06-07 2011-07-14 Sling Media Inc. Personal video recorder functionality for placeshifting systems
US7647614B2 (en) 2004-06-07 2010-01-12 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US9253241B2 (en) 2004-06-07 2016-02-02 Sling Media Inc. Personal media broadcasting system with output buffer
US20110185393A1 (en) * 2004-06-07 2011-07-28 Sling Media Inc. Fast-start streaming and buffering of streaming content for personal media player
US20060095472A1 (en) * 2004-06-07 2006-05-04 Jason Krikorian Fast-start streaming and buffering of streaming content for personal media player
US9356984B2 (en) 2004-06-07 2016-05-31 Sling Media, Inc. Capturing and sharing media content
US20110219413A1 (en) * 2004-06-07 2011-09-08 Sling Media Inc. Capturing and sharing media content
US7707614B2 (en) 2004-06-07 2010-04-27 Sling Media, Inc. Personal media broadcasting system with output buffer
US10123067B2 (en) 2004-06-07 2018-11-06 Sling Media L.L.C. Personal video recorder functionality for placeshifting systems
US8099755B2 (en) 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US8060909B2 (en) 2004-06-07 2011-11-15 Sling Media, Inc. Personal media broadcasting system
US8365236B2 (en) 2004-06-07 2013-01-29 Sling Media, Inc. Personal media broadcasting system with output buffer
US20090103607A1 (en) * 2004-06-07 2009-04-23 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
US20070234213A1 (en) * 2004-06-07 2007-10-04 Jason Krikorian Selection and Presentation of Context-Relevant Supplemental Content And Advertising
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US7921446B2 (en) 2004-06-07 2011-04-05 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US8051454B2 (en) 2004-06-07 2011-11-01 Sling Media, Inc. Personal media broadcasting system with output buffer
US8799969B2 (en) 2004-06-07 2014-08-05 Sling Media, Inc. Capturing and sharing media content
US9106723B2 (en) 2004-06-07 2015-08-11 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US20100100915A1 (en) * 2004-06-07 2010-04-22 Sling Media Inc. Fast-start streaming and buffering of streaming content for personal media player
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US8819140B2 (en) 2004-07-09 2014-08-26 Qualcomm Incorporated System and method for enabling the establishment and use of a personal network
US8195744B2 (en) 2004-07-09 2012-06-05 Orb Networks, Inc. File sharing system for use with a network
US9077766B2 (en) 2004-07-09 2015-07-07 Qualcomm Incorporated System and method for combining memory resources for use on a personal network
US8787164B2 (en) 2004-07-09 2014-07-22 Qualcomm Incorporated Media delivery system and method for transporting media to desired target devices
US8195765B2 (en) 2004-07-09 2012-06-05 Orb Networks, Inc. System and method for remotely controlling network resources
US9166879B2 (en) 2004-07-09 2015-10-20 Qualcomm Connected Experiences, Inc. System and method for enabling the establishment and use of a personal network
US8738693B2 (en) 2004-07-09 2014-05-27 Qualcomm Incorporated System and method for managing distribution of media files
US8738730B2 (en) 2004-07-09 2014-05-27 Qualcomm Incorporated System and method for remotely controlling network resources
US9374805B2 (en) 2004-07-09 2016-06-21 Qualcomm Atheros, Inc. System and method for combining memory resources for use on a personal network
US7937484B2 (en) 2004-07-09 2011-05-03 Orb Networks, Inc. System and method for remotely controlling network resources
US8768844B2 (en) 2004-10-06 2014-07-01 Sony Corporation Method and system for content sharing and authentication between multiple devices
US20060075441A1 (en) * 2004-10-06 2006-04-06 Sony Corporation Method and system for a personal video recorder comprising multiple removable storage/tuner units
US20060074807A1 (en) * 2004-10-06 2006-04-06 Sony Corporation Method and system for content sharing and authentication between multiple devices
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
US8326879B2 (en) 2005-01-03 2012-12-04 Orb Networks, Inc. System and method for enabling search and retrieval operations to be performed for data items and records using data obtained from associated voice files
US7574453B2 (en) 2005-01-03 2009-08-11 Orb Networks, Inc. System and method for enabling search and retrieval operations to be performed for data items and records using data obtained from associated voice files
US20090257354A1 (en) * 2005-03-30 2009-10-15 Clifford Hannel Hardware Time Stamping and Synchronized Data Transmission
US8159957B2 (en) * 2005-03-30 2012-04-17 Ixia Hardware time stamping and synchronized data transmission
US20060230123A1 (en) * 2005-04-07 2006-10-12 Simmons Bonnie J Online Shopping and Item Selection System and Method
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US9237300B2 (en) 2005-06-07 2016-01-12 Sling Media Inc. Personal video recorder functionality for placeshifting systems
US20100192007A1 (en) * 2005-06-30 2010-07-29 Sling Media Inc. Firmware update for consumer electronic device
US7702952B2 (en) 2005-06-30 2010-04-20 Sling Media, Inc. Firmware update for consumer electronic device
US20070022328A1 (en) * 2005-06-30 2007-01-25 Raghuveer Tarra Firmware Update for Consumer Electronic Device
US20070003224A1 (en) * 2005-06-30 2007-01-04 Jason Krikorian Screen Management System for Media Player
US8041988B2 (en) 2005-06-30 2011-10-18 Sling Media Inc. Firmware update for consumer electronic device
US8280229B2 (en) 2005-10-05 2012-10-02 Wall William E DVD playback over multi-room by copying to HDD
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US7945694B2 (en) * 2006-03-27 2011-05-17 Rayv Inc. Realtime media distribution in a p2p network
US20090248872A1 (en) * 2006-03-27 2009-10-01 Rayv Inc. Realtime media distribution in a p2p network
US8095682B2 (en) 2006-03-27 2012-01-10 Rayv Inc. Realtime media distribution in a p2p network
US20110173341A1 (en) * 2006-03-27 2011-07-14 Rayv Inc. Realtime media distribution in a p2p network
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US9084029B2 (en) 2006-03-30 2015-07-14 Verizon Patent And Licensing Inc. On-screen program guide with interactive programming recommendations
US8677415B2 (en) 2006-03-30 2014-03-18 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US9679602B2 (en) 2006-06-14 2017-06-13 Seagate Technology Llc Disc drive circuitry swap
US8881217B2 (en) 2006-09-06 2014-11-04 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US8973040B2 (en) 2006-10-03 2015-03-03 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US8973072B2 (en) 2006-10-19 2015-03-03 Qualcomm Connected Experiences, Inc. System and method for programmatic link generation with media delivery
US8209424B2 (en) 2006-12-20 2012-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US20080155600A1 (en) * 2006-12-20 2008-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US20080155607A1 (en) * 2006-12-20 2008-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8887184B2 (en) 2006-12-20 2014-11-11 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US9197936B2 (en) 2006-12-20 2015-11-24 Rovi Guides, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8935728B2 (en) 2006-12-21 2015-01-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US9167190B2 (en) 2006-12-21 2015-10-20 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8726159B2 (en) 2007-01-05 2014-05-13 Verizon Patent And Licensing Inc. Content level navigation systems and methods
US10694256B2 (en) 2007-03-09 2020-06-23 Rovi Technologies Corporation Media content search results ranked by popularity
US9326025B2 (en) 2007-03-09 2016-04-26 Rovi Technologies Corporation Media content search results ranked by popularity
US9307281B2 (en) 2007-03-22 2016-04-05 Rovi Guides, Inc. User defined rules for assigning destinations of content
US20080256485A1 (en) * 2007-04-12 2008-10-16 Jason Gary Krikorian User Interface for Controlling Video Programs on Mobile Computing Devices
US10034054B2 (en) 2007-04-20 2018-07-24 Rovi Guides, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8959547B2 (en) 2007-04-20 2015-02-17 Rovi Guides, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8087047B2 (en) 2007-04-20 2011-12-27 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8244897B2 (en) 2007-07-26 2012-08-14 Sony Corporation Content reproduction apparatus, content reproduction method, and program
US20090055549A1 (en) * 2007-07-26 2009-02-26 Yoshikatsu Niwa Content Reproduction Apparatus, Content Reproduction Method, and Program
US8019202B2 (en) * 2007-09-06 2011-09-13 Sony Corporation Content reproduction appratus, content reproduction method, and content reproduction system with varied-speed reproduction requests
US20090070499A1 (en) * 2007-09-06 2009-03-12 Tsunemitsu Takase Content reproduction appratus, content reproduction method, and content reproduction system
US9838747B2 (en) 2007-09-07 2017-12-05 Rovi Guides, Inc. Cross-platform messaging
US8107977B2 (en) 2007-09-07 2012-01-31 United Video Properties, Inc. Cross-platform messaging
US9456252B2 (en) 2007-09-07 2016-09-27 Rovi Guides, Inc. Cross-platform messaging
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
US8565797B2 (en) 2007-09-07 2013-10-22 United Video Properties, Inc. Cross-platform messaging
US8477793B2 (en) 2007-09-26 2013-07-02 Sling Media, Inc. Media streaming device with gateway functionality
US20090080448A1 (en) * 2007-09-26 2009-03-26 Sling Media Inc. Media streaming device with gateway functionality
US9305590B2 (en) 2007-10-16 2016-04-05 Seagate Technology Llc Prevent data storage device circuitry swap
US20090102983A1 (en) * 2007-10-23 2009-04-23 Sling Media Inc. Systems and methods for controlling media devices
US8958019B2 (en) 2007-10-23 2015-02-17 Sling Media, Inc. Systems and methods for controlling media devices
US8350971B2 (en) 2007-10-23 2013-01-08 Sling Media, Inc. Systems and methods for controlling media devices
US20090109992A1 (en) * 2007-10-30 2009-04-30 Aharona Lurie Contention slots in a shared robust scheme
US8018965B2 (en) * 2007-10-30 2011-09-13 Coppergate Communications Ltd. Contention slots in a shared robust scheme
US10222934B2 (en) 2007-12-19 2019-03-05 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US9071372B2 (en) 2007-12-19 2015-06-30 Rovi Guides, Inc. Methods and devices for presenting an interactive media guidance application
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US20090177758A1 (en) * 2008-01-04 2009-07-09 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US8060609B2 (en) 2008-01-04 2011-11-15 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
EP2506591A2 (en) 2008-02-25 2012-10-03 TiVo Inc. Stackable communications system
EP2506592A2 (en) 2008-02-25 2012-10-03 TiVo Inc. Stackable communications system
US9414120B2 (en) 2008-06-13 2016-08-09 Rovi Guides, Inc. Systems and methods for displaying media content and media guidance information
US8978088B2 (en) 2008-06-13 2015-03-10 Rovi Guides, Inc. Systems and methods for displaying media content and media guidance information
US8601526B2 (en) 2008-06-13 2013-12-03 United Video Properties, Inc. Systems and methods for displaying media content and media guidance information
US20100005483A1 (en) * 2008-07-01 2010-01-07 Sling Media Inc. Systems and methods for securely place shifting media content
US9143827B2 (en) 2008-07-01 2015-09-22 Sling Media, Inc. Systems and methods for securely place shifting media content
US9510035B2 (en) 2008-07-01 2016-11-29 Sling Media, Inc. Systems and methods for securely streaming media content
US9942587B2 (en) 2008-07-01 2018-04-10 Sling Media L.L.C. Systems and methods for securely streaming media content
US8667279B2 (en) 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US8752084B1 (en) 2008-07-11 2014-06-10 The Directv Group, Inc. Television advertisement monitoring system
US8966658B2 (en) 2008-08-13 2015-02-24 Sling Media Pvt Ltd Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US20100071076A1 (en) * 2008-08-13 2010-03-18 Sling Media Pvt Ltd Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US9600222B2 (en) 2008-09-08 2017-03-21 Sling Media Inc. Systems and methods for projecting images from a computer system
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US20100129057A1 (en) * 2008-11-26 2010-05-27 Sling Media Pvt Ltd Systems and methods for creating logical media streams for media storage and playback
US9191610B2 (en) 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
US8693330B2 (en) * 2008-12-18 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Multipoint delivery entity and method
US20120176897A1 (en) * 2008-12-18 2012-07-12 Telefonaktiebolaget L M Ericsson (Publ) Multipoint Delivery Entity and Method
US8438602B2 (en) 2009-01-26 2013-05-07 Sling Media Inc. Systems and methods for linking media content
US20100192188A1 (en) * 2009-01-26 2010-07-29 Sling Media Inc. Systems and methods for linking media content
US8555315B2 (en) 2009-04-10 2013-10-08 United Video Properties, Inc. Systems and methods for navigating a media guidance application with multiple perspective views
US8117564B2 (en) 2009-04-10 2012-02-14 United Video Properties, Inc. Systems and methods for generating a media guidance application with multiple perspective views
US9225785B2 (en) 2009-04-17 2015-12-29 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US9491538B2 (en) 2009-07-23 2016-11-08 Sling Media Pvt Ltd. Adaptive gain control for digital audio samples in a media stream
US20110019839A1 (en) * 2009-07-23 2011-01-27 Sling Media Pvt Ltd Adaptive gain control for digital audio samples in a media stream
US8406431B2 (en) 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US9479737B2 (en) 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8799408B2 (en) 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US8532472B2 (en) 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US10620827B2 (en) 2009-08-10 2020-04-14 Sling Media Pvt Ltd Systems and methods for virtual remote control of streamed media
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US8381310B2 (en) 2009-08-13 2013-02-19 Sling Media Pvt. Ltd. Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US10230923B2 (en) 2009-08-26 2019-03-12 Sling Media LLC Systems and methods for transcoding and place shifting media content
US20110051016A1 (en) * 2009-08-28 2011-03-03 Sling Media Pvt Ltd Remote control and method for automatically adjusting the volume output of an audio device
US8314893B2 (en) 2009-08-28 2012-11-20 Sling Media Pvt. Ltd. Remote control and method for automatically adjusting the volume output of an audio device
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US10085072B2 (en) 2009-09-23 2018-09-25 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US10631066B2 (en) 2009-09-23 2020-04-21 Rovi Guides, Inc. Systems and method for automatically detecting users within detection regions of media devices
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US10021073B2 (en) 2009-11-16 2018-07-10 Sling Media L.L.C. Systems and methods for delivering messages over a network
US9015225B2 (en) 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8799485B2 (en) 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8626879B2 (en) 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US10097899B2 (en) 2009-12-28 2018-10-09 Sling Media L.L.C. Systems and methods for searching media content
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US9201627B2 (en) 2010-01-05 2015-12-01 Rovi Guides, Inc. Systems and methods for transferring content between user equipment and a wireless communications device
US20110191456A1 (en) * 2010-02-03 2011-08-04 Sling Media Pvt Ltd Systems and methods for coordinating data communication between two devices
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
US20110196521A1 (en) * 2010-02-05 2011-08-11 Sling Media Inc. Connection priority services for data communication between two devices
US20110208506A1 (en) * 2010-02-24 2011-08-25 Sling Media Inc. Systems and methods for emulating network-enabled media components
US8839313B2 (en) 2010-05-10 2014-09-16 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US8352990B2 (en) 2010-05-10 2013-01-08 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US9204193B2 (en) 2010-05-14 2015-12-01 Rovi Guides, Inc. Systems and methods for media detection and filtering using a parental control logging application
US9167196B2 (en) 2010-05-19 2015-10-20 Rovi Guides, Inc. Systems and methods for trimming recorded content using a media guidance application
US9258175B1 (en) 2010-05-28 2016-02-09 The Directv Group, Inc. Method and system for sharing playlists for content stored within a network
US9118578B2 (en) 2011-01-18 2015-08-25 Nomadix, Inc. Systems and methods for group bandwidth management in a communication systems network
US8904445B2 (en) 2011-01-24 2014-12-02 At&T Intellectual Property I, L.P. Methods and apparatus to manage bandwidth allocations in media delivery networks
US8949901B2 (en) 2011-06-29 2015-02-03 Rovi Guides, Inc. Methods and systems for customizing viewing environment preferences in a viewing environment control application
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules
US9218122B2 (en) 2011-12-29 2015-12-22 Rovi Guides, Inc. Systems and methods for transferring settings across devices based on user gestures
US9226251B2 (en) * 2012-11-30 2015-12-29 Qualcomm Incorporated Systems and methods for optimization of synchronization message transmission intervals in a peer-to-peer network
US20140153560A1 (en) * 2012-11-30 2014-06-05 Qualcomm Incorporated Systems and methods for optimization of syncrhonization message transmission intervals in a peer-to-peer network
US9253262B2 (en) 2013-01-24 2016-02-02 Rovi Guides, Inc. Systems and methods for connecting media devices through web sockets
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US9288521B2 (en) 2014-05-28 2016-03-15 Rovi Guides, Inc. Systems and methods for updating media asset data based on pause point in the media asset
US20230093879A1 (en) * 2021-09-29 2023-03-30 Atlassian Pty Ltd. Computer implemented methods and systems for project management
US11810033B2 (en) * 2021-09-29 2023-11-07 Atlassian Pty Ltd. Computer implemented methods and systems for project management

Also Published As

Publication number Publication date
AU5106799A (en) 2000-04-10
US7158531B2 (en) 2007-01-02
WO2000018108A3 (en) 2001-01-18
WO2000018108A2 (en) 2000-03-30
US20020031144A1 (en) 2002-03-14

Similar Documents

Publication Publication Date Title
US6310886B1 (en) Method and apparatus implementing a multimedia digital network
EP1097551B1 (en) Middleware-based real-time communication system
Venkatramani et al. Supporting real-time tra c on Ethernet,"
US6108306A (en) Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US7724764B2 (en) Adaptive synchronous media access protocol for shared media networks
US4858232A (en) Distributed switching system
US7028204B2 (en) Method and apparatus for ethernet prioritized device clock synchronization
US20030039211A1 (en) Distributed bandwidth allocation architecture
Venkatramani The design, implementation and evaluation of RETHER: a real-time Ethernet protocol
US7123614B2 (en) Method and device for communicating between a first and a second network
US7061867B2 (en) Rate-based scheduling for packet applications
US6580723B1 (en) Time slotted logical ring
US7688863B2 (en) Methods and apparatus for sharing network bandwidth
JPH11331228A (en) System and method for data communication
Hanssen et al. Real-time communication protocols: an overview
JPH07182293A (en) Distributed processing system and data transfer controlling method
Nagarajan et al. Guaranteed-performance transport of multimedia traffic over the token ring
CN1196145A (en) Device, router, method and system for providing hybrid multiple access protocol for users with multiple priorities
JP2000165405A (en) Data transmission method, data transmission system and device used for the system
Ulusoy Network access protocol for hard real-time communication systems
Fahmi et al. Dynamic resource allocation for multimedia document retrieval over high speed lans
JPH10126430A (en) Cable network system
Kim Deterministic service guarantees in IEEE 802.12 networks. I. The single-hub case
Moura et al. Collision-control algorithms in carrier-sense multiple-access (collision-detection) networks
Waters et al. The satellite transmission protocol of the UNIVERSE project

Legal Events

Date Code Title Description
AS Assignment

Owner name: TIVO, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BARTON, JAMES M.;REEL/FRAME:009399/0267

Effective date: 19980813

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

REFU Refund

Free format text: REFUND - SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: R2551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: CITYGROUP GLOBAL MARKETS REALTY CORP.,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:TIVO INC.;REEL/FRAME:018866/0510

Effective date: 20070125

Owner name: CITYGROUP GLOBAL MARKETS REALTY CORP., NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:TIVO INC.;REEL/FRAME:018866/0510

Effective date: 20070125

AS Assignment

Owner name: CITIGROUP GLOBAL MARKETS REALTY CORP., NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 018866 FRAME 0510;ASSIGNOR:TIVO INC.;REEL/FRAME:018875/0933

Effective date: 20070125

Owner name: CITIGROUP GLOBAL MARKETS REALTY CORP.,NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 018866 FRAME 0510. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT;ASSIGNOR:TIVO INC.;REEL/FRAME:018875/0933

Effective date: 20070125

Owner name: CITIGROUP GLOBAL MARKETS REALTY CORP., NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 018866 FRAME 0510. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT;ASSIGNOR:TIVO INC.;REEL/FRAME:018875/0933

Effective date: 20070125

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: TIVO INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIGROUP GLOBAL MARKETS REALTY CORP., AS ADMINISTRATIVE AGENT;REEL/FRAME:026250/0086

Effective date: 20110429

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND

Free format text: SECURITY INTEREST;ASSIGNOR:TIVO SOLUTIONS INC.;REEL/FRAME:041076/0051

Effective date: 20160915

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL

Free format text: SECURITY INTEREST;ASSIGNOR:TIVO SOLUTIONS INC.;REEL/FRAME:041076/0051

Effective date: 20160915

AS Assignment

Owner name: TIVO SOLUTIONS INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:TIVO INC.;REEL/FRAME:041714/0500

Effective date: 20160908

AS Assignment

Owner name: TIVO SOLUTIONS INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051109/0969

Effective date: 20191122