Systems and methods for retransmitting packets over a network of communication channels

Information

  • Patent Grant
  • 9554177
  • Patent Number
    9,554,177
  • Date Filed
    Wednesday, September 4, 2013
    11 years ago
  • Date Issued
    Tuesday, January 24, 2017
    7 years ago
Abstract
Systems and methods for transmitting packets over a network of communication channels are provide. A system according to the invention may include first and second nodes in communication with a coax backbone. The first node may further include a retransmission buffer. The system may also include a network access coordinator operative to coordinate access of the nodes to the coax backbone. In a time period at least one first packet is transmitted by the first node to the second node. The first packet may include an indication that retransmission service is applied. The first packet may also include a indication of the length corresponding to the packet. If, during the first time period the packet is not received by the second node, the second node is operative to send a retransmission request to the network access coordinator.
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 12/729,320, filed Mar. 23, 2010, entitled “Systems and Methods for Retransmitting Packets Over a Network of Communication Channels,” which claims priority under 35 U.S.C. §119 to U.S. Provisional Application No. 61/164,507, filed Mar. 30, 2009, entitled, “System and Method For Retransmitting Packets Over a Network of Communication Channels,” both of which are hereby incorporated by reference herein in their entirety.


The present invention relates generally to information networks and specifically to transmitting information such as media information over communication lines such as coaxial cable (hereinafter “coax”), thereby to form a communications network.


BACKGROUND OF THE INVENTION

Home networking over coax is a known technology which has vast commercial potential.


Home network technologies having a packet aggregation functionality are known generally. The Multimedia over Coax Alliance (MoCA™), at its website mocalliance.org, provides an example of a suitable specification (MoCA 1.0) for networking of digital video and entertainment through existing coaxial cable in the home which has been distributed to an open membership. Packet aggregation functionality is not provided. MoCA 1.0 specification is incorporated by reference herein in its entirety.


Home networking over coax taps into the vast amounts of unused bandwidth available on the in-home coax. More than 70% of homes in the United States have coax already installed into the home infrastructure. Many have existing coax in one or more primary entertainment consumption locations such as family rooms, media rooms and master bedrooms—ideal for deploying networks. Home networking technology allows homeowners to utilize this infrastructure as a networking system and to deliver other entertainment and information programming with high QoS (Quality of Service).


The technology underlying home networking over coax provides high speed (270 mbps), high QoS, and the innate security of a shielded, wired connection combined with state of the art packet-level encryption. Coax is designed for carrying high bandwidth video. Today, it is regularly used to securely deliver millions of dollars of pay per view and premium video content on a daily basis. Home networking over coax can also be used as a backbone for multiple wireless access points used to extend the reach of wireless network throughout a consumer's entire home.


Home networking over coax provides a consistent, high throughput, high quality connection through the existing coaxial cables to the places where the video devices currently reside in the home without affecting the existing analog or digital services present on the cable. Home networking over coax provides a primary link for digital entertainment, and may also act in concert with other wired and wireless networks to extend the entertainment experience throughout the home.


Currently, home networking over coax works with access technologies such as ADSL and VDSL services or Fiber to the Home (FTTH), that typically enter the home on a twisted pair or on an optical fiber, operating in a frequency band from a few hundred kilohertz to 8.5 MHz for ADSL and 12 MHZ for VDSL. As services reach the home via xDSL or FTTH, they may be routed via home networking over coax technology and the in-home coax to the video devices. Cable functionalities, such as video, voice and Internet access, may be provided to homes, via coaxial cable, by cable operators, and use coaxial cables running within the homes to reach individual cable service consuming devices locating in various rooms within the home. Typically, home networking over coax type functionalities run in parallel with the cable functionalities, on different frequencies.


The coax infrastructure inside the house typically includes coaxial wires and splitters. Splitters used in homes typically have one input and two or more outputs and are designed to transfer signals from input to outputs in the forward direction, or from outputs to input in the backward direction and to isolate splitter outputs and prevent signals from flowing room/outlet to room/outlet. Isolation is useful in order to a) reduce interference from other devices and b) maximize power transfer from Point Of Entry (POE) to outlets for best TV reception.


The MoCA technology is specifically designed to go backwards through splitters (insertion) and go from splitter output to output (isolation). All outlets in a house can be reached from each other by a single “isolation jump” and a number of “insertion jumps”. Typically isolation jumps have an attenuation of 5 to 40 dB and each insertion jump attenuates approximately 3 dB. MoCA has a dynamic range in excess of 55 dB while supporting 200 Mbps throughput. Therefore MoCA can work effectively through a significant number of splitters.


MoCA is a managed network unlike some other home networking technologies. It is specifically designed to support streaming video without packet loss providing very high video quality between outlets.


Digital cable programming is delivered with threshold Packet Error Rate (PER) of below 1e−6. The home network should preferably have similar or better performance so as not to degrade viewing.


The disclosures of any publications and patent documents mentioned in the specification, and of the publications and patent documents cited therein directly or indirectly, are hereby incorporated by reference.





BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, and in which:



FIG. 1 is a prior art timing diagram;



FIG. 2 is an illustrative timing diagram in accordance with the principles of the invention;



FIG. 3 is another illustrative timing diagram in accordance with the principles of the invention;



FIG. 4 is yet another illustrative timing diagram in accordance with the principles of the invention;



FIG. 5 is still another illustrative timing diagram in accordance with the principles of the invention;



FIG. 6 is another illustrative timing diagram in accordance with the principles of the invention;



FIG. 7 is an illustrative timing diagram in accordance with the principles of the invention;



FIG. 8 is another illustrative timing diagram in accordance with the principles of the invention; and



FIG. 9 is an illustrative timing diagram in accordance with the principles of the invention.



FIG. 10 shows schematically an illustrative device that may be used in accordance with the principles of the invention.



FIG. 11 shows a schematic diagram of a home network for use with systems and methods according to the invention.



FIG. 12 shows one embodiment of retransmission protocol in MoCA 2.0 according to the invention.



FIG. 13 shows schematically one embodiment of retransmission in MoCA 2.0 according to the invention.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention provides improved systems and methods for streaming media over coax.


Some embodiments of the invention may include a system for transmitting packets over a network of communication channels. The system may include a set of nodes comprising at least first and second nodes and a network access coordinator operative to coordinate the access of the set of nodes to a synchronous network of channels, wherein, if at least one individual packet has been transmitted from the first node to the second node which did not receive at least one packet, the second node is operative to send a retransmission request to the network access coordinator requesting retransmission of at least one individual packet.


The network may have a Coordinated MAC to allow contention free access. The coordinated MAC may be a home network coordinated MAC such as, for example, that described in the MoCA MAC/PHY SPECIFICATION v. 1.0 (“the MoCA Specification”), Feb. 22, 2006, which is hereby incorporated herein in its entirety. The MoCA Specification identifies features of a home network over existing coaxial cable. The method may allow the expansion of the coordinated network MAC to other media in the home like power lines and phone lines (or wireless) to improve the accessibility of the network to rooms in the home that are not accessible via coaxial cables.


The retransmission request for an individual packet which failed to transmit in MAP cycle N may occur in MAP cycle N+1.


The network access coordinator may be operative to receive and to accede to the retransmission request.


The retransmission of an individual packet which failed to transmit in MAP cycle N may occur in MAP cycle N+2.


Some embodiments of the invention may include a system for transmitting packets over a network of communication channels. The system may include a set of nodes interconnected by a synchronous network of channels and a network access coordinator operative to coordinate the access of the set of nodes to the synchronous network of channels including providing a plurality of slots in each MAP cycle for packet transmission requests sent to the coordinator by individual nodes in the set of nodes, and wherein at least one individual node in the set of nodes is operative to utilize an individual slot from among the plurality of slots to transmit to the coordinator both a reservation request and a retransmission request, the reservation request including a request to transmit a first packet to a first additional node and the retransmission request including a request that a second additional node retransmit a second packet previously unsuccessfully transmitted from the second additional node to the individual node.


In some embodiments, the network access coordinator may be operative to provide a plurality of slots in each MAP cycle for packet transmission requests sent to the coordinator by individual nodes in the set of nodes. At least one individual node in the set of nodes may be operative to utilize an individual slot from among the plurality of slots to transmit to the coordinator both a reservation request and a retransmission request, the reservation request including a request to transmit a first packet to a first additional node and the retransmission request including a request that a second additional node retransmit a second packet previously unsuccessfully transmitted from the second additional node to the individual node.


In some embodiments, if a plurality of packets have been transmitted from the first node to the second node which did not receive at least some of the plurality of packets, the second node may be operative to send a single burst to the network access coordinator. The burst may include retransmission requests requesting retransmission of those packets from among the plurality of packets which were not received.


In some embodiments, a retransmission request sent by the second node in a MAP cycle N may requests retransmission of only those packets which were not received by the second node in a previous MAP cycle N−1.


In some embodiments, overhead information which is common to the reservation request and the re-transmission request may be transmitted by the individual node to the coordinator only once.


In some embodiments, if the first node sent the second node, in a MAP cycle N−1, an aggregation frame including a plurality of packets only some of which were received by the second node, in MAP cycle N, the second node may refrain from requesting retransmission of those packets, from among those sent in MAP cycle N−1, which were successfully received and successfully de-aggregated by the second node.


In some embodiments, at least one retransmission request may include an indication of a slot duration to be used to retransmit the individual packet.


In some embodiments, if the first node sent the second node, in a MAP cycle N−1, an aggregation frame including a plurality of packets only some of which were received by the second node, the retransmission request sent by the second node to the network access coordinator may request retransmission of less than all of the plurality of packets and may include an indication, computed by the second node, of a slot duration to be used to retransmit the packets for which retransmission is requested.


In some embodiments, a retransmission request sent by the individual node in a MAP cycle N requests retransmission of only those packets which were not received by the individual node in a previous MAP cycle N−1.


In some embodiments, if in a MAP cycle N−1, the second additional node sent the individual node an aggregation frame including a plurality of packets, only some of which were received by the individual node, in MAP cycle N, the individual node may refrain from requesting retransmission of those packets, from among those sent in MAP cycle N−1, which were successfully received and successfully de-aggregated by the individual node.


In some embodiments, if in a MAP cycle N−1, the second additional node sent the individual node an aggregation frame including a plurality of packets only some of which were received by the individual node, the retransmission request sent by the individual node to the network access coordinator may request retransmission of less than all of the plurality of packets and may include an indication, computed by the individual node, of a slot duration to be used to retransmit the packets for which retransmission is requested.


Some embodiments of the invention may include a method for transmitting packets over a network of communication channels. The method may include coordinating the access of a set of nodes to a synchronous network of channels interconnecting the set of nodes. The coordinating may include providing a plurality of slots in each MAP cycle for packet transmission requests sent to a coordinator by individual nodes in the set of nodes. In some embodiments, at least one individual node in the set of nodes may be operative to utilize an individual slot from among the plurality of slots to transmit to the coordinator both a reservation request and a retransmission request, the reservation request including a request to transmit a first packet to a first additional node and the retransmission request including a request that a second additional node retransmit a second packet previously unsuccessfully transmitted from the second additional node to the individual node.


Some embodiments may include a method for transmitting packets over a network of communication channels. The method may include coordinating the access of a set of nodes, which may include at least first and second nodes, to a synchronous network of channels interconnecting the set of nodes. In some embodiments, if at least one individual packet has been transmitted from the first node to the second node which did not receive at least one packet, the second node may be operative to send a retransmission request to a network access coordinator requesting retransmission of at least one individual packet.


Typically, as a result of the de-aggregation process, the Rx node knows the size of a frame since size information is included in the frame's header. The Rx node may know some or all of the sizes of the individual packets in the frame either because this information was included in packet headers, and the packet headers were received even if their associated packets were not, or because the information regarding sizes of packets was included in the frame header. If a particular packet size is not known, the Rx node typically requests that all packets from that packet onward be re-transmitted. If all packet sizes are known, the Rx typically requests re-transmission only of missing packets and easily indicates a suitable slot duration as the sum of the known sizes of all missing packets.


Positive or Negative Acknowledgements for properly received packets are typically effected via the Reservation Request messages from the receiving node to the network coordinator.


An acknowledgment message (“ACK”) is typically a single message referring to a burst of received packets. In the context of packet aggregation distinct negative acknowledgment messages (“NACKs”) typically correspond to individual packets in the aggregated received burst.


The network coordinator may include an Automatic Retransmission reQuest (“ARQ”) mechanism. If so, it may be used as a proxy to convey one or more ACK messages to the transmitting node and to retransmit one or more improperly received packets. The ARQ mechanism typically does not require additional bandwidth, in contrast to conventional retransmission mechanisms.


Some embodiments of the invention may include a method for retransmitting a packet before initial transmission of a next-queued packet. Packet order is thus retained by not transmitting the next-queued packet before receiving an acknowledgement of the already-transmitted packet.


Table 1 lists abbreviations that are used in the description and FIGS. herein.












TABLE 1







Acronym
Term









RP
Retransmission Protocol



R-ACK
Receipt Acknowledgement



RTR
Retransmission Request



RQ-T
Retransmission Request Transmitter



RQ-S
Retransmission Request Signal



RQ-C
Retransmission Request Coordinator



ARQ
Automatic Retransmission request



MAP
Medium Access Plan



ACK
Acknowledgment Message



NACK
Negative Acknowledgment Message



RR
Retransmission Request



P#Z
Packet No. Z



X → Y
Information being transmitted from




Node X to Node Y











FIG. 1 shows a timing diagram corresponding to one example of a MAC access method for an illustrative coordinated network. A network coordinator controls access to network media by allocating transmission opportunities to all network terminals. The coordinator thereby reduces or eliminates the likelihood that there will be contention in the network. The coordinator may assign priorities to the transmission of information based on information source, content, affect on QoS or any other suitable criterion. Some coordinated networks have collision-free periods as well as collision periods. Others, such as those governed by the MoCA Specification, have only collision free periods.


One prior art MAC Access Method is described in the MoCA MAC/PHY SPECIFICATION v1.0, Feb. 22, 2006. FIG. 1 shows the MoCA MAC schema for coordination of network access by a network coordinator. The access time is divided into MAP cycles which are managed by the network coordinator. Access rules for a MAP cycle may be defined in a MAP message sent in a previous MAP cycle by the network coordinator to all nodes.


The FIG. 1 example includes three network nodes: coordinator, node 1 and node 2. The coordinator sends transmission opportunities for MAP cycle N in the MAP message of the MAP cycle N−1. Illustrative opportunities and some corresponding illustrative precedents that may be associated with the timing diagram of FIG. 1 are summarized in Table 2.











TABLE 2





Opportunity




number
Opportunity
Precedent







1
Reservation request (“RR”) for




node #1



2
RR for node #2



3
First data packet transmitted by
Based on a MAP cycle N-1 node #1



node #1 to node #2
request granted in the MAP message




of that cycle by the coordinator.


4
Second packet transmitted by




node #1 to node #2



5
MAP message for cycle N + 1
Based on RR received Opportunities



(sent by coordinator)
Nos. 1 and 2.


6
Data transmitted from node #2 to




coordinator



7
Third data packet transmitted by




node #1 to node #2



8
Data transmitted from coordinator




to node #1



9
Extension packet
May be included if the data in opportunity 9 is




less than a minimum burst size.









Typically, there is an Inter Frame Gap (IFG) between any two bursts transmitted, and there is a minimum burst size. If data size is smaller than the Min Burst Size an extension packet size may be allocated as shown in FIG. 1.


The IFG as well as the Min Burst Size typically cause additional overhead and reduce the effective data rate of the network, however, they contribute toward reliable operation of the modem.


Retransmission is useful for increasing the robustness of data transfers, because a packet that was received with an error can be retransmitted. In particular, retransmissions are common in media that are susceptible to impulse noises. Impulse noises are created by home appliances as well as other noise sources and are received on wired media such as phone lines and power lines. Other media, such as Ethernet CATS wires and coaxial wires, are much less susceptible to impulse noises due to their better isolation from external noises. An impulse noise can be high enough in amplitude and long enough in time to cause packet errors or even packet loss.


If a coordinated network is to operate over noisy media (such as telephone lines or power lines) a Retransmission Protocol (“RP”) is typically employed to provide appropriate network performance. The coordinated network shown in FIG. 1 is designed to operate over “quiet” media. An example of a network designed to provide a robust and reliable home networking over coaxial cables is that described in the MoCA Specification. Embodiments of the invention may include providing an RP in connection with a coordinated network protocol, such as that set forth in the MoCA Specification. The methods described herein may be used efficiently in conjunction with the MoCA Specification in other suitable media, such as power lines and phone lines.


In some embodiments of the invention, the network coordinator may select from several retransmission protocols. One protocol may be set as a default method that is implemented by all nodes. A general algorithm for an RP is as follows:

  • 1. The transmitting node transmits a packet or several packets and waits for an acknowledgement;
  • 2. A. If the receiving node receives the packet correctly, the receiving node sends a Receive Acknowledgement (R-ACK).


B. If the receiving node does not receive the packet correctly, the receiving node sends a Retransmission Request (RTR).

  • 3. The transmitting node, upon receiving an R-ACK or RTR, retransmits the packet.
  • 4. The transmitting node retransmits the package if neither an R-ACK nor RTR were sent.


The maximum number of retransmissions is typically a parameter of a data stream. The stream may include video data. The stream may include voice data. The stream may include browsing data. The stream may include any suitable type of data. After the transmitting node has sent the maximum number of retransmissions, no further attempts to transmit the packet are made. The receiving node typically forwards the received packets in the order of transmission by the transmitting node. If a packet is missing, the receiver node typically does not forward the next packet until the missing packet is received unless the maximum number of retransmissions has been reached.


Five illustrative ARQ protocol-based methods, and three more general retransmission methods based thereupon, are now described. In some embodiments of the invention, nodes may select an ARQ protocol during the establishment of a connection. One of the options is typically set as a default method that is implemented by all nodes. For example, Method #1 can be the default method. In general, ARQ protocols follow an algorithm such as:

  • 1. The transmitting node sends a reservation request (“RR”) corresponding to an expected transmission of a packet. If ARQ is employed, the node so signifies in the RR.
  • 2. The transmitting node transmits the packet and waits for an ACK.
  • 3. The receiving node receives the packet and checks if it has been received correctly.
  • 4. If the packet has been received correctly the receiving network sends an ACK.
  • 5. If the packet has been received incorrectly, or not at all, the receiving node either sends a NACK or does not reply.
  • 6. Upon receiving an ACK or a NACK, the transmitting node decides whether to retransmit the packet or not. If neither ACK nor NACK were received the transmitted node may retransmit the packet.
  • 7. The number of retransmissions is a parameter of the connection.



FIG. 2 shows illustrative method 1 (Immediate ARQ), which may include some or all of the following steps in a suitable order:

  • 1. The transmitting (TX) node in its reservation request (RR) requests to transmit a packet to the receiving node indicating that transmission is under ARQ.
  • 2. The coordinator allocates two time slots for the transmission of this packet. The first slot is for transmission of the packet by the TX node. The second slot is for transmission of the ACK/NACK message by the receiving (RX) node immediately following the TX. In some embodiments, the coordinator allocates slots that are equal to a minimum burst size.
  • 3. The TX node sends the packet after the TX node receives a grant message indicating that coordinator granted a RR for the packet.
  • 4. The RX node sends the ACK/NACK in the second slot.
  • 5. The TX analyzes the ACK/NACK message and, if NACK is received, in the next RR opportunity the TX node request for retransmission the packet.
  • 6. The coordinator receives the RR and grants the request if the maximum number of retransmission requests has not yet been reached.
  • 7. If granted, the TX node retransmits the packet in the next MAP cycle.
  • 8. This procedure can repeat itself several times according to the parameters of the ARQ of this connection.



FIG. 3 shows illustrative method 2 (Single Frame ARQ), which may be similar to method 1 (shown in FIG. 2), except that the allocation for the ACK/NACK message does not necessarily immediately follow the TX node transmission.



FIG. 4 shows illustrative method 3 (Multiple Frame ARQ), which may be similar to method 2, except that one ACK/NACK is sent to acknowledge in aggregate more than one received packet. For example, FIG. 4 shows an ACK for packet 2 and a NACK for packet 3.



FIG. 5 shows illustrative method 4 (ACK/NACK Embedded in RR—included in ARQ messages) enables more efficient ARQ throughput. The ACK/NACK message is not transmitted on its own and instead is embedded in the RR message of the RX node in MAP cycle N+1. When RR messages are shorter than the Min Burst Size time, additional overhead for the ACK/NACK may be conserved (although higher latency may be involved).



FIG. 6 shows illustrative method 5 (Very short Immediate ACK/NACK), which may be similar to Method 1, except that the ACK/NACK is a very short message, such as a 64 bit BPSK series that is detected by the PHY. This is efficient with respect to throughput, but may require changes to the PHY and fast response to detection of error (or no error) by transmission of the short ACK/NACK.



FIG. 7 shows illustrative method 6 (Retransmission Request Transmitter (RQ-T)), which may be operative to send a single or burst R-ACK/RTR message to the transmitter. In some embodiments of the invention, the method may include some or all of the following steps in a suitable order such as the following:

  • 1. The transmitting (TX) node in its reservation request (RR) requests to transmit one or multiple frames to the receiving node.
  • 2. The transmitting node indicates in the RR the following information:


A. An indication that the frame is in Retransmission Protocol;


B. An indication that the method of RP is preferred over RQ-T; and


C. Single or burst RQ-T.

  • 3. The coordinator allocates slots for the transmission and RP of the frames typically in one of the following orders:


A. If single RQ-T is used, a slot is allocated for transmission of the first frame by the TX node, a slot is then allocated for transmission of the single RQ-T message by the RX node, and finally, slots are allocated for the rest of the frames deemed “required” by the TX node.


B. If a burst of RQ-T is used, slots are allocated for transmission of all frames deemed “required” by the TX node, and one slot is then allocated for transmission of the burst RQ-T message by the RX node.

  • 3. In some embodiments, the coordinator may be operative to allocate one or more slots for an RQ-T message immediately after a packet or packets that required RQ-T or in a corresponding or subsequent MAP.
  • 4. The coordinator indicates to the RX node which frames are to be acknowledged in each RQ-T message.
  • 5. The TX node sends the frames according to the grant received from the coordinator.
  • 6. The RX node sends an RQ-T message in the RQ-T slots granted by the coordinator.
  • 7. The RQ-T message is sent, with an indication of R-ACK or RTR, for frames that requested acknowledgment in that specific RQ-T message.
  • 8. The TX node analyzes the RQ-T message and may, if application-appropriate, add an RR element in the next RR transmission for retransmission of the frames missed by the RX node.
  • 9. The coordinator receives the RR and may grant the slot according to the above steps.
  • 10. The foregoing actions may be repeated several times, provided that the maximum number of retransmissions is not exceeded.



FIG. 8 shows illustrative method 7 (Retransmission Request Signal (RQ-S)), which may be operative to send single R-ACK/RTR signal to the transmitter. In some embodiments, the RQ-S may include a short signal with an indication of R-ACK or RTR which may be allocated immediately following each burst requiring retransmission under the RQ-S method. Method 7 typically comprises some or all of the following steps in a suitable order such as the following:

  • 1. The transmitting (TX) node in its reservation request (RR) requests to transmit one or multiple of frames to the receiving node.
  • 2. The transmitting node indicates in the RR the following information:


A. An indication that the frame is in Retransmission Protocol; and


B. An indication that the RP method is preferred over the RQ-S method.

  • 3. The coordinator allocates, for each burst with RQ-S, the slot for transmission of the frame by the TX node and the slot for transmission of the RQ-S signal by the RX node.
  • 4. The coordinator and the RX node check whether the RQ-S signal bears an indication of R-ACK or RTR.
  • 5. If the RQ-S indicates R-ACK, the TX node clears the packet.
  • 6. If the RQ-S indicates RTR, the coordinator allocates a slot for retransmission of the frame by the TX node.
  • 7. If the coordinator has not received the RQ-S and the TX node receives it with R-ACK, the coordinator allocates a slot for retransmission and the TX node sends an empty frame.
  • 8. If the TX node has not received the RQ-S and the coordinator receives it with an R-ACK indication, the coordinator indicates that the frame was received correctly in the next allocation slot of the flow.
  • 9. The R-ACK or RTR indication is on the whole frame with no indication per packet if the frame is aggregate.


A short RQ-S signal is easy to distinguish from other network signals. A short RQ-S may use a commonly known (MoCA, e.g.) PHY preamble used by the network with different parameters. For example, an RQ-S with R-ACK indication may comprise 8 S signals followed by 4 L2 series followed by an inverted 4 L2 series followed by an S quiet period and two L1 sequences. An RQ-S with RTR indication may comprise 8 S signals followed by 4 L2 series followed by inverted 4 L2 series followed by an S quiet period and two L4 sequences, such as that shown below.






S
=

{

0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0

}








L





4

=

{




1
,
0
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
0
,
1
,
0
,
0
,
1
,
1
,
0
,
1
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,
0
,
0
,






0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
1




}








L





2

=

{




1
,
0
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
1
,
1
,






0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
0
,
1




}








L





1

=

{




0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
1
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,






0
,
0
,
1
,
1
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
0




}






FIG. 9 shows illustrative method 8 (Retransmission Request Coordinator (RQ-C)), which may be operative to send burst R-ACK or RTR to the network coordinator. In some embodiments, the acknowledgement indication is typically sent to the coordinator in the Reservation Request Message. The method typically comprises some or all of the following steps in a suitable order such as the following:

  • 1. The transmitting (TX) node in its reservation request (RR) requests to transmit one or multiple frames to the receiving node.
  • 2. The transmitting node indicates in the RR the following information:


A. That the frame is in Retransmission Protocol; and


B. That the method of RP is preferred over RQ-C.

  • 3. The coordinator allocates slots for transmission of the frames by the TX node.
  • 4. In the next MAP cycle the coordinator allocates an RR slot for the RX node (even if the RX node does not need an RR slot for its TX frames).
  • 5. The RX node checks which frames were received correctly and which were not, from all TX nodes sent to it in the previous MAP cycle.
  • 6. The RX node sends, in the RR message, an R-ACK or RTR indication for all frames which employ RQ-C.
  • 7. The RTR is typically sent with some or all of the following information:


A. The sequence of frames for retransmission;


B. If the frame was an aggregation frame and a portion of its packets was received incorrectly, send the packet sequence of the missed packets;


C. The durations used for retransmission of these frames. If the whole frame is to be retransmitted, the duration may be taken from the RX data slot, whereas if only a portion of the frame is to be retransmitted, the duration may be computed according to the PHY profile of the TX and RX nodes.

  • 8. In the next MAP cycle, the coordinator allocates slots to be used by the RX node for retransmission of the frames by the TX node.
  • 9. If the R-ACK for some frames is sent in the RR message, the coordinator indicates in the next MAP that these frames were received correctly.
  • 10. The TX node receives a MAP with slots for retransmission of the lost frames/packets and with an indication of which frames/packets were received correctly by the RX node.
  • 11. The TX node clears frames/packets received correctly and retransmits lost frames/packet.
  • 12. The RX node may re-send RTR for a specific frame/packet until a limit on the number of retransmissions is reached.
  • 13. If the limit is reached, the frame/packet may still not have been received.


Methods 6 or 8 may be usable for high bit rate stream such as HD video.


Method 7 may be usable for low bit rate stream such as voice in which the RX node is only a listener. This method may reduce bandwidth when the RR is allocated infrequently or not at all for the TX or RX nodes. The RR is not allocated to the TX node when the stream is sent in an unsolicited manner.


Method 8 may save bandwidth for RP by merging the RP in the RR slots. To the extent that the RX node receives streams in RP, the saved time increases.



FIG. 10 shows a single or multi-chip module 1006 according to the invention, which can be one or more integrated circuits, in an illustrative data processing system 1000 according to the invention. Data processing system 1000 may include one or more of the following components: I/O circuitry 1004, peripheral devices 1002, processor 1008 and memory 1010. These components may be coupled together by a system bus or other interconnections and are disposed on a circuit board 1012 in an end-user system 1016 that may be in communication with a coax medium transmitting packets in accordance with the systems and methods discussed above.



FIG. 11 is a simplified block diagram illustration of a home network system 1102 that uses a coax backbone 1105. The home network system 1102 of FIG. 11 is operative for transmitting packets over coax backbone 1105 within a home 1100. The home network system 1102 includes first node 1110 that includes a retransmission buffer 1112, second node 1120 and network access coordinator 1115. First node 1110, second node 1120 and network access coordinator 1115 are configured to communicate over coax backbone 1105.


Certain features of the invention relate to improvements in MoCA technology as set forth in the MoCA 2.0 specification (“MoCA 2.0”). MoCA 2.0 employs powerful forward error correction code that ensures safe transmission with a packet error rate of 1e−6 or less in regular cable environments. However, in some noisy environments (as in Low RF frequency range), ingress noise and/or a random non-stationary noise may occur, and may cause packet losses at a rate that is higher than 1e−6. In such cases, applying a retransmission protocol according to the invention may recover the errors. The MoCA retransmission protocol can be simplified to avoid increasing complexity of receiving buffers.


The following features of the invention illustrate embodiments of systems and methods for implementing a retransmission mechanism in MoCA 2.0 according to the invention. When a packet is received with CRC errors, the transmitter node is notified of the transmission failure by a NACK message sent by the receiver node. The transmitter then retransmits the failed packet and all the subsequent transmitted packets, thus avoiding the need to buffer and reorder packets at the receiver. The additional overhead involved is negligible as retransmission occurrence rate is low.


The transmitter buffers the transmitted but not yet acknowledged packets. If the transmitter buffer is exhausted, the transmitter may replace the oldest unacknowledged packets with new transmitted packets.


Retransmission support by a node can be indicated in a field of a table such as a NODE_SUPPORT_FIELD. Application of retransmission can be determined by the receiver, but preferably only if the source node—i.e., the transmitter node—and the Network Controller indicate in their respective NODE_PROTOCOL_SUPPORT fields that retransmission is supported.


Preferred embodiments of retransmission are configured to be applied to Data MAC Service Data Units (“MSDUs”). In systems that include packet aggregation, one or more MSDUs may form a portion of a MAC Protocol Data Unit (“MPDU”).


One exemplary embodiment of retransmission protocol in MoCA 2.0 according to the invention is shown in FIG. 12 and an exemplary schematic diagram of retransmission is shown in FIG. 13.


MoCA 2.0 Retransmission Protocol


Retransmission protocol is applied per MoCA Flow. For the purposes of this application, a “MoCA flow” is defined as a uni-directional traffic stream sourced at one MoCA node and destined to one or more other MoCA nodes. A MoCA flow may be determined by: a source mode ID, destination node ID and priority of its data.


Application of retransmission can be initiated by the transmitter node of the Flow. Retransmission can preferably only be applied if the Egress node and the network coordinator (“NC”) indicate that retransmission is supported in their NODE_PROTOCOL_SUPPORT field.


If the destination node ID of a MoCA Flow is a Broadcast ID and the MoCA Flow is not a PQoS Flow, the Ingress node should preferably not apply retransmission. It should be noted that any use of the term “should” herein may be understood to describe a single embodiment of the invention, but also indicate the possibility of the existence of alternative embodiments of the invention.


If the destination node ID of a MoCA Flow indicates a Broadcast ID—i.e., a flow to preferably all the live nodes on the network—and the MoCA Flow is a PQoS flow the Ingress node may require one (or more) of the egress nodes to acknowledge the transmissions.


Each MSDU may be classified to a specific MoCA flow.


Each MoCA flow preferably includes a Sequence Number (“SN”). The SN may be assigned to each MSDU. The SN may be incremented per ingress MSDU by the number of data bytes carried in the MSDU.


In some embodiments of the invention, three entities may be involved in the retransmission procedure:

    • The Flow ingress node (alternately described herein as the transmitter node, transmitter, or TRT)
    • The Flow egress node (alternately described herein as the receiver node, receiver, or RRT)
    • The Network Controller (alternately described herein as the (“NC”))


A transmitter requesting a transmission opportunity for a retransmission may, in some embodiments, set the retransmission bit in a corresponding Request Element.


A transmitter sending an MPDU that requires retransmission service may preferably indicate the following information in each MSDU header:


1. Retransmission service is applied


2. The sequence number (SN)


3. The lowest sequence number that still exists in its retransmission buffer, referred to herein as the Start Sequence Number (“SSN”).



FIG. 12, at 1202, shows a MoCA flow identified as RR 1. RR 1 requests transmission of a packet having a length of 500 and indicates the possibility of retransmission service.


Upon successful reception of MSDUs, the receiver forwards all MSDUs to the Ethernet Convergence Layer (“ECL”). After each successful receipt of an MSDU, the receiver should preferably increment the Received Sequence Number (“RSN”) by the number of data bytes stored in the correctly-received MSDU.


The RSN then may indicate the last MSDU that was received correctly by the receiver. The RSN value should preferably always be equal or higher than the SSN value indicated in the received MSDU header. The receiver should preferably monitor the SSN value and should preferably reset its RSN value to be equal to the SSN value if it is lower than the SSN.


The receiver continues to forward the MSDUs until the receiver encounters an MSDU that was not received correctly—e.g., an MSDU with CRC errors or an MSDU granted by the MAP message that was not received at all.


The receiver may send an ACK message to the transmitter upon receiving an MPDU. Step 1204 shows that, when an MSDU was not received correctly, the receiver should preferably send a control frame directly to the transmitter (or, alternatively, to the transmitter via the NC), indicating a loss of packet and the last correctly-received sequence number. In the exemplary case in FIG. 12, the last correctly received data had a sequence number of 499. Also, the receiver sets a NACK flag that indicates that a packet after the RSN was lost.


A NACK flag that was set due to a loss of a packet should preferably be cleared by the receiver in at least one of the following two cases, or in any other suitable circumstance:


1. When the lost packet has been retransmitted and received correctly.


2. When the RSN has been reset (due to the SSN being incremented).


If all MSDUs in the MPDU were received correctly and the NACK flag equals zero, the receiver should preferably send an ACK message indicating the last RSN and the NACK flag value. This is shown at step 1206, following the corrected receipt of all the MSDUs. The RSN is shown as 1,999, corresponding to the successful receipt of the 1,000 bytes in cycle 4.


A MoCA 2.0 NC may preferably allocate time slots for an ACK frame for the receiver to transmit its ACK messages to the transmitter.


The ACK frame can be sent either as a separate MoCA 2.0 frame directly from the receiver to the transmitter, or as an Information Element (“IE”) in a reservation request, via the NC, on the next reservation request frame—preferably whichever comes first. If an ACK is received by the NC as an IE, the NC should preferably relay the ACK message to the transmitter node as an IE in the next MAP frame.


Step 1208 shows that the transmitter, upon receiving a NACK message, should preferably—


1. Remove from its retransmission buffer all MSDUs with an SN equal or lower than the received RSN value;


2. Increment the SSN to be equal to the RSN;


3. Retransmit all MSDUs (such as the retransmission of MSDUs having an SN higher than the RSN, when the NACK flag is set to one (as shown at step 1204);


4. In certain embodiments, the transmitter may preferably remove all MSDUs whose number of retransmission exceeded the maximum allowed retransmission number Nrt (the number of retransmission retries); and


5. Check if the SN of the new transmitted packet is larger than the SSN by a preferably pre-determined threshold, such as set forth in a field entitled Max_Win_Size. If so, the transmitter should preferably increment the SSN value accordingly and remove from the transmission buffer all packets having SN values lower than the new SSN value.


NC Operation


ACK Slot Allocation


The NC MAY allocate a dedicated time slot for transmitting the ACK message directly to the TRT. The duration for the ACK slot may be calculated by the NC according to the profile bit-loading and the ACK message size. If the NC schedules an ACK frame it should preferably insure at least a predetermined tack time between the end of the data allocation and the corresponding ACK frame allocation.


Protocol Message Relay


Upon receiving an Acknowledge IE, the NC should preferably relay the Acknowledge IE frame in its next MAP as an NC IE with the same, or other suitable, format as depicted in Table 3 below.


Transmitter Operation


Data Retransmission


The transmitter should preferably set the retransmission Indicator field in each MSDU of the retransmission flow. All MSDUs in an MPDU should preferably be of the same MoCA Flow.


Retransmission with PQoS Flows


When retransmission is applied on PQoS flows, the transmitter preferably does not need to allocate bandwidth for the retransmitted packets.


Retransmission Buffer in the Transmitter


When retransmission or flow control is enabled for a flow, the transmitter should preferably have a buffer for buffering transmitted but not acknowledged MSDUs and MSDUs that are not transmitted for the flow.


Retransmission Frames Format


A receiving node that supports the retransmission protocol should transmit an ACK message either as an ACK frame or as an IE in its RR frame, or in some other suitable fashion. One embodiment of ACK IE format (which is transmitted to the NC, and then relayed to the transmitter) is depicted in Table 3 below. One embodiment of an ACK frame format is depicted in Table 4. One embodiment of retransmission timing is set forth below in Table 6.











TABLE 3





Field
Length
Explanation







FRAME_SUBTYPE
 4 bits
0x1ACK element


FRAME_TYPE
 4 bits
0x7


LENGTH
 6 bits
4


RESERVED
 2 bits
Type III


Protocol IE




Payload




TRANSMITTER
 8 bits
Transmitter node ID


NODE ID




RESERVED
 8 bits
Type III


RSN
32 bits
The Receive Sequence Number: the




sequence number of the last MSDU




that has been received correctly


NACK
 1 bit
set to one to indicate packet loss


RESERVED
31 bits
Type




III




















TABLE 4







Field
Length
Usage









MPDU Header





TRANSMIT_CLOCK
32 bits




PACKET_SUBTYPE
 4 bits
Ack (0x0)



PACKET_TYPE
 4 bits
Data Link (0xb)



VERSION
 8 bits
0x20



RESERVED
 8 bits
0x00; Type III



SOURCE_NODE_ID
 8 bits
Source node ID



RESERVED
 8 bits
0x00; Type III



DESTINATION_NODE_ID
 8 bits
Destination node ID



MPDU LENGTH
16 bits




RESERVED
32 bits
Type III



MPDU HEADER CS
16 bits




ACK Frame Payload





TRANSMITTER NODE ID
 8 bits
Transmitter node ID



RESERVED
 8 bits
Type III



RSN
32 bits
The Receive Sequence





Number: the sequence





number of the last





MSDU that has been





received correctly



NACK
 1 bit
set to one to indicate





packet loss



RESERVED
31 bits
Type III



MSDU CS
32 bits











The following shows one embodiment of an MSDU-Header Format (the MSDU which is used for data transmission) according to the invention:











TABLE 5





Parameter




Name
Length
Description







SSN
16 bits
Starting Sequence Number at the




retransmission buffer (Not valid if




Retransmission is not applied).


SN
16 bits
The Sequence Number of the first




MSDU




(Not valid if Retransmission is not




applied).


NMSDU
 8 bits
The number of MSDU include in this




MPDU.


Reserved
 8 bits



For (i=0;
16 bits
Size in bytes of a MSDU data


i<NPDU; i++){

including the MSDU-CS


MSDU_LEN}




MSDU HEADER
16 bits
CS of the entire MSDU header.


CS

(assuming this field is 0)


















TABLE 6





Parameter
Value
Explanation







NRT
 1
the number of retransmission retries


TACK
150us
the time interval between the end of the packet sent




with retransmission protocol to the start of the ACK




slot that the receive node indicates the receive result




in the ACK message










FIG. 13 shows that in a first cycle, a request to transmit Data D1 is transmitted prior to the first Map Cycle D1. In cycle 2, a request to transmit Data D2 is shown together with the failure to successfully receive Data P-1 Also shown in cycle 2 are Map Cycle D2 as well as NACK P-1 indication, which preferably is transmitted from the receiver directly to the transmitter.


A third cycle, cycle 3, includes a request to transmit Data D2, 3, a retransmission of Data P-1 (because the previous request, RR-T D2 had only requested enough bandwidth for a single transmission, and had not been aware, at the time of request RR-T D2 that a retransmission request was necessary), and Map Cycle D2, 3 (which requested enough bandwidth for the transmission of the new packet as well as for the retransmitted packet). Finally, cycle 4 shows successful transmission and reception of Data P-2, 3.


It will be appreciated that for clarity the description throughout the specification, including specific examples of parameter values provided herein, is sometimes specific to certain protocols such as the MoCA and/or Ethernet protocols. However, this is not intended to be limiting and the invention may be suitably generalized to other cable protocols and/or other packet protocols. For example, use of terms, such as MAP, Allocation Unit (“AU”), Reservation Request (“RR”) etc. which may be specific to a particular protocol such as MoCA or Ethernet, to describe a particular feature or embodiment is not intended to limit the scope of that feature or embodiment to that protocol specifically; instead the terms are used generally and are each intended to include parallel and similar terms defined under other protocols.


It will be appreciated that software components of the present invention including programs and data may, if desired, be implemented in ROM (read only memory) form including CD-ROMs, EPROMs and EEPROMs, or may be stored in any other suitable computer-readable medium such as but not limited to disks of various kinds, cards of various kinds and RAMs. Components described herein as software may, alternatively, be implemented wholly or partly in hardware, if desired, using conventional techniques.


Features of the present invention which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, features of the invention which are described for brevity in the context of a single embodiment may be provided separately or in any suitable subcombination.

Claims
  • 1. A transmitter device comprising: a memory that is configured to store a plurality of data units, each of the plurality of data units being associated with a sequence number; anda processor that is configured to: initiate a first transmission, to a node and over a network that is managed by a network access coordinator, of an aggregate data unit that includes the plurality of data units stored in the memory, the aggregate data unit further includes a header comprising an indication that retransmission is supported and applied for the aggregate data unit, wherein the first transmission further includes a first sequence number that comprises a lowest sequence number associated with the plurality of data units that are stored in the memory;receive, from the network access coordinator, a message that indicates that a first data unit of the plurality of data units was not received by the node or was not received correctly by the node, wherein the message comprises a second sequence number that is greater than or equal to the first sequence number; andinitiate a second transmission, to the node, of the first data unit of the plurality of data units from the memory.
  • 2. The transmitter device of claim 1, wherein the message further indicates that a second data unit of the plurality of data units was received by the node.
  • 3. The transmitter device of claim 2, wherein the processor is further configured to remove the second data unit of the plurality of data units from the memory, in response to the message.
  • 4. The transmitter device of claim 1, wherein the transmitter device is further configured to remove, from the memory, at least one data unit of the plurality of data units for which the sequence number associated therewith is less than the second sequence number.
  • 5. The transmitter device of claim 4, wherein the second transmission includes a third sequence number that is less than or equal to a largest sequence number associated with the plurality of data units that are stored in the memory subsequent to removing the at least one data unit of the plurality of data units from the memory.
  • 6. The transmitter device of claim 1, wherein access time of the network is divided into cycles that are managed by the network access coordinator.
  • 7. The transmitter device of claim 1, wherein the processor is further configured to: initiate the first transmission during a first cycle;receive the message during a second cycle that is subsequent to the first cycle; andinitiate the second transmission during a third cycle that is subsequent to the second cycle.
  • 8. The transmitter device of claim 1, wherein the memory comprises a retransmission buffer that stores the plurality of data units.
  • 9. The transmitter device of claim 1, wherein the node is distinct from the network access coordinator.
  • 10. The transmitter device of claim 1, wherein the indication comprised in the aggregate data unit further indicates that retransmission is applied for a flow that comprises the aggregate data unit, the flow comprising a uni-directional traffic stream that is identifiable by a source node associated with the flow, a destination node associated with the flow, and a priority of the flow.
  • 11. The transmitter device of claim 1, wherein the aggregate data unit comprises a media access control (MAC) protocol data unit and the plurality of data units comprises a plurality of MAC service data units.
  • 12. A method for receiving data units, the method comprising: receiving, from a node over a network that is managed by a network access coordinator, an aggregate data unit that comprises: a plurality of data units each being associated with a sequence number, a header comprising an indication that retransmission is supported and applied for the aggregate data unit and a first sequence number comprising a lowest sequence number of at least a portion of the plurality of data units that are available for retransmission at the node;determining that a first data unit of the plurality of data units was received incorrectly;initiating transmission of a message to the network access coordinator, for subsequent transmission by the network access coordinator to the node, that indicates that the first data unit of the plurality of data units should be retransmitted, wherein the message comprises a second sequence number that is greater than or equal to the first sequence number; andreceiving, from the node, the first data unit of the plurality of data units.
  • 13. The method of claim 12, further comprising: determining that a second data unit of the plurality of data units was received correctly, wherein the message further indicates that the second data unit of the plurality of data units was received correctly.
  • 14. The method of claim 12, wherein access time of the network is divided into cycles that are managed by the network access coordinator.
  • 15. The method of claim 14, wherein receiving the aggregate data unit occurs during a first cycle, initiating the transmission of the message occurs during a second cycle that is subsequent to the first cycle, and receiving, from the node, the first data unit occurs during a third cycle that is subsequent to the second cycle.
  • 16. The method of claim 15, wherein the node is distinct from the network access coordinator.
  • 17. The method of claim 12, wherein the first sequence number comprises a start sequence number, the second sequence number comprises a received sequence number that indicates a last data unit of the plurality of data units that was successfully received, and the method further comprises: prior to initiating the transmission of the message to the network access coordinator, setting the received sequence number to the start sequence number when the received sequence number is less than the start sequence number.
  • 18. The method of claim 17, wherein the aggregate data unit comprises a media access control (MAC) protocol data unit and the plurality of data units comprises a plurality of MAC service data units.
  • 19. A computer program product comprising instructions stored in a non-transitory computer-readable storage medium, the instructions comprising: instructions for storing a plurality of data units in a memory, wherein each of the plurality of data units is associated with a sequence number;instructions for initiating a first transmission, to a node and over a network that is managed by a network access coordinator, of an aggregate data unit that comprises: the plurality of data units that are stored in the memory, a header associated with the aggregate data unit comprising an indication that retransmission is supported and applied for the plurality of data units, and a first sequence number that comprises a lowest sequence number of the plurality of data units that are stored in the memory;instructions for receiving, from the network access coordinator, a message that indicates that a first data unit of the plurality of data units was not received by the node or was not received correctly by the node, wherein the message comprises a second sequence number that is greater than or equal to the first sequence number; andinstructions for initiating a second transmission, to the node, of the first data unit of the plurality of data units that is stored in the memory.
  • 20. The computer program product of claim 19, wherein the message further indicates that a second data unit of the plurality of data units was received by the node.
  • 21. The computer program product of claim 20, wherein the instructions further comprise: instructions for removing the second data unit of the plurality of data units from the memory.
  • 22. The computer program product of claim 19, wherein the instructions further comprise: instructions for removing, from the memory, at least one data unit of the plurality of data units for which the associated sequence number is less than the second sequence number.
  • 23. The computer program product of claim 22, wherein the instructions for initiating the second transmission, to the node, of the first data unit of the plurality of data units that is stored in the memory further comprises: instructions for initiating the second transmission, to the node, of the first data unit of the plurality of data units that is stored in the memory along with a third sequence number that is less than or equal to a largest sequence number associated with the plurality of data units that are stored in the memory subsequent to removing the at least one data unit of the plurality of data units from the memory.
US Referenced Citations (271)
Number Name Date Kind
3836888 Boenke et al. Sep 1974 A
4413229 Grant Nov 1983 A
4536875 Kume et al. Aug 1985 A
4608685 Jain et al. Aug 1986 A
4893326 Duran et al. Jan 1990 A
5052029 James et al. Sep 1991 A
5170415 Yoshida et al. Dec 1992 A
5343240 Yu Aug 1994 A
5421030 Baran May 1995 A
5438329 Gastouniotis et al. Aug 1995 A
5440335 Beveridge Aug 1995 A
5570355 Dail et al. Oct 1996 A
5638374 Heath Jun 1997 A
5671220 Tonomura Sep 1997 A
5796739 Kim et al. Aug 1998 A
5802173 Hamilton-Piercy et al. Sep 1998 A
5805591 Naboulsi et al. Sep 1998 A
5805806 McArthur Sep 1998 A
5815662 Ong Sep 1998 A
5822677 Peyrovian Oct 1998 A
5822678 Evanyk Oct 1998 A
5845190 Bushue et al. Dec 1998 A
5850400 Eames et al. Dec 1998 A
5854887 Kindell et al. Dec 1998 A
5856975 Rostoker et al. Jan 1999 A
5877821 Newlin et al. Mar 1999 A
5886732 Humpleman Mar 1999 A
5896556 Moreland et al. Apr 1999 A
5917624 Wagner Jun 1999 A
5930493 Ottesen et al. Jul 1999 A
5963844 Dail Oct 1999 A
5982784 Bell Nov 1999 A
6009465 Decker et al. Dec 1999 A
6028860 Laubach et al. Feb 2000 A
6055242 Doshi et al. Apr 2000 A
6069588 O'Neill, Jr. May 2000 A
6079006 Pickett Jun 2000 A
6081519 Petler Jun 2000 A
6081533 Laubach et al. Jun 2000 A
6111911 Sanderford, Jr. et al. Aug 2000 A
6118762 Nomura et al. Sep 2000 A
6157645 Shobatake Dec 2000 A
6167120 Kikinis Dec 2000 A
6192070 Poon et al. Feb 2001 B1
6219409 Smith et al. Apr 2001 B1
6229818 Bell May 2001 B1
6243413 Beukema Jun 2001 B1
6304552 Chapman et al. Oct 2001 B1
6307862 Silverman Oct 2001 B1
6434151 Caves et al. Aug 2002 B1
6466651 Dailey Oct 2002 B1
6481013 Dinwiddie et al. Nov 2002 B1
6526070 Bernath et al. Feb 2003 B1
6553568 Fijolek et al. Apr 2003 B1
6563829 Lyles et al. May 2003 B1
6567654 Coronel Arredondo et al. May 2003 B1
6581175 Crump Jun 2003 B1
6611537 Edens et al. Aug 2003 B1
6622304 Carhart Sep 2003 B1
6637030 Klein Oct 2003 B1
6650624 Quigley et al. Nov 2003 B1
6745392 Basawapatna et al. Jun 2004 B1
6760781 Wang et al. Jul 2004 B1
6763032 Rabenko et al. Jul 2004 B1
6785296 Bell Aug 2004 B1
6816500 Mannette et al. Nov 2004 B1
6831899 Roy Dec 2004 B1
6836515 Kay et al. Dec 2004 B1
6859899 Shalvi et al. Feb 2005 B2
6862270 Ho Mar 2005 B1
6877043 Mallory et al. Apr 2005 B2
6877166 Roeck et al. Apr 2005 B1
6898210 Cheng et al. May 2005 B1
6930989 Jones, IV et al. Aug 2005 B1
6940833 Jonas et al. Sep 2005 B2
6950399 Bushmitch et al. Sep 2005 B1
6961314 Quigley et al. Nov 2005 B1
6985437 Vogel Jan 2006 B1
6996198 Cvetkovic Feb 2006 B2
7035270 Moore, Jr. et al. Apr 2006 B2
7065779 Crocker et al. Jun 2006 B1
7089580 Vogel et al. Aug 2006 B1
7116685 Brown et al. Oct 2006 B2
7127734 Amit Oct 2006 B1
7133697 Judd et al. Nov 2006 B2
7142553 Ojard et al. Nov 2006 B1
7146632 Miller Dec 2006 B2
7149220 Beukema et al. Dec 2006 B2
7151934 Nishimura et al. Dec 2006 B2
7194041 Kadous Mar 2007 B2
7292527 Zhou et al. Nov 2007 B2
7296083 Barham et al. Nov 2007 B2
7310340 Seidel Dec 2007 B2
7327754 Mills et al. Feb 2008 B2
7359403 Rinne Apr 2008 B1
7372853 Sharma et al. May 2008 B2
7457267 O'Neill Nov 2008 B1
7460543 Malik et al. Dec 2008 B2
7487532 Robertson et al. Feb 2009 B2
7496076 Takagi et al. Feb 2009 B2
7532642 Peacock May 2009 B1
7532693 Narasimhan May 2009 B1
7555064 Beadle Jun 2009 B2
7574615 Weng et al. Aug 2009 B2
7606256 Vitebsky et al. Oct 2009 B2
7652527 Ido et al. Jan 2010 B2
7653164 Lin et al. Jan 2010 B2
7664065 Lu Feb 2010 B2
7675970 Nemiroff et al. Mar 2010 B2
7680148 Nishibayashi et al. Mar 2010 B2
7688176 Jang Mar 2010 B2
7693070 Rider Apr 2010 B2
7697561 Nishibayashi Apr 2010 B2
7742495 Kliger et al. Jun 2010 B2
7746861 Nishibayashi et al. Jun 2010 B2
7756132 Copps Jul 2010 B2
7817642 Ma et al. Oct 2010 B2
7822060 Sterenson et al. Oct 2010 B2
7860092 Yoon et al. Dec 2010 B2
7904777 Singh et al. Mar 2011 B2
7916756 Atsumi et al. Mar 2011 B2
7979784 Shao et al. Jul 2011 B2
8040908 Choi et al. Oct 2011 B2
8184550 Beck et al. May 2012 B2
8259572 Komura Sep 2012 B2
8266265 Liu et al. Sep 2012 B2
8335958 Van Den Hamer Dec 2012 B2
8340026 Lee Dec 2012 B2
8358663 Kliger et al. Jan 2013 B2
8413002 Kim Apr 2013 B2
8437284 Plamondon May 2013 B2
8472475 Liu et al. Jun 2013 B2
8549170 Minami Oct 2013 B2
8553547 Ohana et al. Oct 2013 B2
8605590 Sivakumar et al. Dec 2013 B2
20010039660 Vasilevsky et al. Nov 2001 A1
20020010562 Schleiss et al. Jan 2002 A1
20020021465 Moore et al. Feb 2002 A1
20020059623 Rodriguez et al. May 2002 A1
20020059634 Terry et al. May 2002 A1
20020069417 Kliger et al. Jun 2002 A1
20020078247 Lu et al. Jun 2002 A1
20020078249 Lu et al. Jun 2002 A1
20020097821 Hebron et al. Jul 2002 A1
20020105970 Shvodian Aug 2002 A1
20020136231 Leatherbury et al. Sep 2002 A1
20020141347 Harp et al. Oct 2002 A1
20020150155 Florentin et al. Oct 2002 A1
20020166124 Gurantz et al. Nov 2002 A1
20020174423 Fifield et al. Nov 2002 A1
20020194605 Cohen et al. Dec 2002 A1
20030013453 Lavaud et al. Jan 2003 A1
20030016751 Vetro et al. Jan 2003 A1
20030022683 Beckmann et al. Jan 2003 A1
20030023915 Choi Jan 2003 A1
20030060207 Sugaya et al. Mar 2003 A1
20030063563 Kowalski Apr 2003 A1
20030066082 Kliger et al. Apr 2003 A1
20030099253 Kim May 2003 A1
20030152059 Odman Aug 2003 A1
20030169769 Ho et al. Sep 2003 A1
20030193619 Farrand Oct 2003 A1
20030198244 Ho et al. Oct 2003 A1
20040004934 Zhu et al. Jan 2004 A1
20040037366 Crawford Feb 2004 A1
20040047284 Eidson Mar 2004 A1
20040107445 Amit Jun 2004 A1
20040163120 Rabenko et al. Aug 2004 A1
20040172658 Rakib et al. Sep 2004 A1
20040177381 Kliger et al. Sep 2004 A1
20040224715 Rosenlof et al. Nov 2004 A1
20040258062 Narvaez Dec 2004 A1
20050015703 Terry et al. Jan 2005 A1
20050097196 Wronski et al. May 2005 A1
20050152350 Sung et al. Jul 2005 A1
20050152359 Giesberts et al. Jul 2005 A1
20050175027 Miller et al. Aug 2005 A1
20050204066 Cohen et al. Sep 2005 A9
20050213405 Stopler Sep 2005 A1
20050249296 Axnas Nov 2005 A1
20060034175 Herrmann Feb 2006 A1
20060059400 Clark et al. Mar 2006 A1
20060062250 Payne Mar 2006 A1
20060068708 Dessert et al. Mar 2006 A1
20060078001 Chandra et al. Apr 2006 A1
20060104201 Sundberg et al. May 2006 A1
20060107166 Nanda May 2006 A1
20060256799 Eng Nov 2006 A1
20060256818 Shvodian et al. Nov 2006 A1
20060268934 Shimizu et al. Nov 2006 A1
20060280194 Jang et al. Dec 2006 A1
20070025317 Bolinth et al. Feb 2007 A1
20070040947 Koga Feb 2007 A1
20070064720 Sterenson et al. Mar 2007 A1
20070081513 Torsner Apr 2007 A1
20070127373 Ho et al. Jun 2007 A1
20070159985 Sunell Jul 2007 A1
20070160213 Un et al. Jul 2007 A1
20070171919 Godman et al. Jul 2007 A1
20070183786 Hinosugi et al. Aug 2007 A1
20070206551 Moorti et al. Sep 2007 A1
20070217436 Markley et al. Sep 2007 A1
20070253379 Kumar et al. Nov 2007 A1
20070286107 Singh et al. Dec 2007 A1
20070286121 Kolakowski et al. Dec 2007 A1
20080037487 Li et al. Feb 2008 A1
20080037589 Kliger et al. Feb 2008 A1
20080043731 Lim et al. Feb 2008 A1
20080062879 Sivakumar et al. Mar 2008 A1
20080080369 Sumioka et al. Apr 2008 A1
20080089268 Kinder et al. Apr 2008 A1
20080117919 Kliger et al. May 2008 A1
20080117929 Kliger et al. May 2008 A1
20080130779 Levi et al. Jun 2008 A1
20080178229 Kliger et al. Jul 2008 A1
20080189431 Hyslop et al. Aug 2008 A1
20080212591 Wu et al. Sep 2008 A1
20080225832 Kaplan et al. Sep 2008 A1
20080238016 Chen et al. Oct 2008 A1
20080259957 Kliger et al. Oct 2008 A1
20080271094 Kliger et al. Oct 2008 A1
20080273591 Brooks et al. Nov 2008 A1
20080279219 Wu et al. Nov 2008 A1
20080298241 Ohana et al. Dec 2008 A1
20090010263 Ma et al. Jan 2009 A1
20090063878 Schmidt et al. Mar 2009 A1
20090092154 Malik et al. Apr 2009 A1
20090106801 Horii Apr 2009 A1
20090122901 Choi et al. May 2009 A1
20090165070 McMullin et al. Jun 2009 A1
20090217325 Kliger et al. Aug 2009 A1
20090252172 Hare Oct 2009 A1
20090254794 Malik et al. Oct 2009 A1
20090257483 French et al. Oct 2009 A1
20090279643 Shusterman Nov 2009 A1
20090285212 Chu et al. Nov 2009 A1
20090296578 Bernard et al. Dec 2009 A1
20090316589 Shafeeu Dec 2009 A1
20100031297 Klein et al. Feb 2010 A1
20100042882 Randall Feb 2010 A1
20100074263 Bry et al. Mar 2010 A1
20100080312 Moffatt et al. Apr 2010 A1
20100142378 Matheney et al. Jun 2010 A1
20100142540 Matheney et al. Jun 2010 A1
20100146616 Garrett et al. Jun 2010 A1
20100150016 Barr Jun 2010 A1
20100158013 Kliger et al. Jun 2010 A1
20100158015 Wu Jun 2010 A1
20100158021 Kliger et al. Jun 2010 A1
20100158022 Kliger et al. Jun 2010 A1
20100162329 Ford et al. Jun 2010 A1
20100174824 Aloni et al. Jul 2010 A1
20100180171 Liu et al. Jul 2010 A1
20100185731 Wu Jul 2010 A1
20100185759 Wu Jul 2010 A1
20100214916 Wu et al. Aug 2010 A1
20100238932 Kliger et al. Sep 2010 A1
20100246586 Ohana et al. Sep 2010 A1
20100254278 Kliger et al. Oct 2010 A1
20100254402 Kliger et al. Oct 2010 A1
20100281195 Daniel et al. Nov 2010 A1
20100284474 Kliger et al. Nov 2010 A1
20100290461 Kliger et al. Nov 2010 A1
20100322134 Wu Dec 2010 A1
20110001833 Grinkemeyer et al. Jan 2011 A1
20110013633 Klein et al. Jan 2011 A1
20110080850 Klein et al. Apr 2011 A1
20110205891 Kliger et al. Aug 2011 A1
20110206042 Tarrab et al. Aug 2011 A1
20110310907 Klein et al. Dec 2011 A1
20130051330 Le Feb 2013 A1
Foreign Referenced Citations (16)
Number Date Country
1422043 Jun 2003 CN
1588827 Mar 2005 CN
0385695 Sep 1990 EP
0622926 Nov 1994 EP
1501326 Jan 2005 EP
60160231 Aug 1985 JP
9827748 Jun 1998 WO
9831133 Jul 1998 WO
9935753 Jul 1999 WO
9946734 Sep 1999 WO
0031725 Jun 2000 WO
0055843 Sep 2000 WO
0180030 Oct 2001 WO
0219623 Mar 2002 WO
WO-2004023729 Mar 2004 WO
WO-2004023806 Mar 2004 WO
Non-Patent Literature Citations (7)
Entry
Ovadia, S., “Home Networking on Coax for Video and Multimedia, Overview for IEEE 802.1AVB”, Multimedia over Coax Alliance, May 30, 2007, pp. 1-15, San Ramon/California.
“Microtune Introduces Industry's First 1-GHz Cable Tuners Compatible with MoCA—Home Networking Standard”, Business Wire, Mar. 19, 2007, 2 pgs., San Francisco, California.
Ovadia, S., “MoCA: Ubiquitous Multimedia Networking in the Home,” Proceedings of the SPIE—The International Society for Optical Engineering SPIE—The International Society for Optical Engineering USA, [Online] 2007, XP002584642 ISSN: 0277-0786X, Retrieved from <http://spiedl.aip.org/getpdf/servlet/getPDFServlet?filetype=pdf&id=PSISDG00677600000167760C00000&idtype=cvips&prog=normal> on Jul. 28, 2010 as cited in European Search Report.
European Search Report for Application No. EP 10 00 3164 mailed Jun. 22, 2010.
International Search Report for International Application No. PCT/US03/27253 dated Dec. 30, 2003, 4 pgs.
International Search Report for International Application No. PCT/US03/27254 dated Feb. 3, 2004, 5 pgs.
Spangler, “MoCA Brewing Up Bigger Bandwidth”, Multichannel News, Dec. 15, 2008, Interview with CTO Anton Monk, retrieved from <http://www.multichannel.com/article/160878-MoCA—Brewing—Up—Bigger—Bandwidth.php> on Mar. 29, 2009, pp. 1-2.
Related Publications (1)
Number Date Country
20130347043 A1 Dec 2013 US