Channel assessment in an information network

Information

  • Patent Grant
  • 9531619
  • Patent Number
    9,531,619
  • Date Filed
    Tuesday, December 10, 2013
    11 years ago
  • Date Issued
    Tuesday, December 27, 2016
    8 years ago
Abstract
A method for assessing channel performance in a network is provided. The network includes a network controller and nodes. The method preferably includes selecting a channel for assessment and allocating a first probe operation for use with the nodes. The method may also include, in response to the allocating, sending a first probe operation report message from each of the nodes to the network controller. The method may further include using the network controller to select a node to be a channel assessment operation node. In addition, the method may include selecting at least a portion of the nodes to participate in a channel assessment operation signal exchange. The method may also include moving the selected nodes to a different channel to perform a channel assessment operation on the different channel and using the channel assessment operation node to allocate a second probe operation on each of the selected nodes.
Description
FIELD OF TECHNOLOGY

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

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


Home network technologies having 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.


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.


Later versions of the MoCA specification may require or permit that a MoCA device transmit and receive on more than one channel. For the purposes of this application the term “channel” should be understood to refer to an operational frequency upon which a MoCA network can operate.


SUMMARY OF THE INVENTION

A system and/or method channel assessment in a communications network, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.





BRIEF DESCRIPTION OF THE DRAWINGS

The objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:



FIG. 1 shows a schematic diagram of an illustrative single or multi-chip device that may be used in accordance with principles of the invention; and



FIG. 2 shows illustrative steps of a process in accordance with the principles of the invention.





DETAILED DESCRIPTION OF THE INVENTION

Apparatus and methods for channel assessment in a communication network are provided. In some embodiments, the apparatus and methods may move a node from a first channel to a second channel to assess performance of the node on the second channel. The performance may be dependent on noisiness of the node on the second channel.


Some embodiments may involve “Another Channel Assessment,” which is a procedure that allows nodes to move to another channel for interference detection or expected performance assessments.


A channel assessment operation (“CAO”) may be triggered by an application that is external to a network controller (“NC”). The CAO may be managed and scheduled by the NC. The NC may gather channel assessment results. In certain embodiments, the CAO may be identified in a Media Access Plan (“MAP”) as a link state.


The channel assessment results may include information regarding noise conditions on each node input and full mesh rate for each node on each channel. The channel assessment results may also provide an estimation of the achievable capacity in the assessed channel.


The channel assessment results may be accessible by a higher layer application. The results may include for each node and channel information regarding noise measured or estimated for each channel at each of the nodes. The information may include MoCA Probe0 information. MoCA Probe-0 information corresponds to a period of time on the network when none of the nodes transmit information. It is a silent probe and, to reiterate, all nodes in the network preferably do not transmit during this silent probe. Rather, it is a period of time in which each node measures the existing noise on the network from the respective node's perspective.


The higher layer application may decide whether to initiate a transfer from one channel to another channel. The higher layer application may assess the whole band—i.e., each operational frequency available to the network—to determine an optimal channel for the implementation of the higher layer application's network. Once channel assessment results are available for the application, it may decide to move the network to another channel. Illustrative reasons to move the network to another channel include:


1. The performance on the current channel is not sufficient to provide the required throughput due to either large attenuations or some RF ingress interference.


2. Moving the network to another channel is required to improve the performance further or reduce aggregated transmission power by moving to a channel that has better noise and attenuation conditions.


3. A new node that joined the network reduces significantly the network aggregated throughput, or is creating some unusable channels.


Illustrative embodiments of apparatus and methods in accordance with the principles of the invention will now be described with reference to the accompanying drawings, which form a part hereof. It is to be understood that other embodiments may be utilized and structural, functional and procedural modifications may be made without departing from the scope and spirit of the present invention.


As will be appreciated by one of skill in the art, the invention described herein may be embodied in whole or in part as a method, a data processing system, or a computer program product. Accordingly, the invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software, hardware and any other suitable approach or apparatus.


Furthermore, such aspects may take the form of a computer program product stored by one or more computer-readable storage media having computer-readable program code, or instructions, embodied in or on the storage media. Any suitable computer readable storage media may be utilized, including hard disks, CD-ROMs, optical storage devices, magnetic storage devices, and/or any combination thereof. In addition, various signals representing data or events as described herein may be transferred between a source and a destination in the form of electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).



FIG. 1 shows a single or multi-chip module 102 according to the invention, which can be one or more integrated circuits, in an illustrative data processing system 100 according to the invention. Data processing system 100 may include one or more of the following components: I/O circuitry 104, peripheral devices 106, processor 108 and memory 110. These components may be coupled together by a system bus or other interconnections 112 and are disposed on a circuit board 120 in an end-user system 130 that may be in communication with a coax medium via an interface.


For the sake of clarity, the foregoing description, including specific examples of parameter values provided, is sometimes specific to certain protocols such as those identified with the name MoCA™ and/or Ethernet protocols. However, this is not intended to be limiting and the invention may be suitably generalized to other protocols and/or other packet protocols. The use of terms that may be specific to a particular protocol such as that identified by the name 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 is 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 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.


As will be appreciated by one of skill in the art, the invention described herein may be embodied in whole or in part as a method, a data processing system, chip, component or device, or a computer program product. Accordingly, the invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software, hardware and any other suitable approach or apparatus.


The invention may be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile phones and/or other personal digital assistants (“PDAs”), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. In a distributed computing environment, devices that perform the same or similar function may be viewed as being part of a “module” even if the devices are separate (whether local or remote) from each other.


The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules may include routines, programs, objects, components, data structures, etc., that perform particular tasks or store or process data structures, objects and other data types. The invention may also be practiced in distributed computing environments where tasks are performed by separate (local or remote) processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.


Processes in accordance with the principles of the invention may include one or more features of the process illustrated in FIG. 2. For the sake of illustration, the steps of the process illustrated in FIG. 2 will be described as being performed by a “system”. The “system” may include one or more of the features of the apparatus that are shown in FIG. 1 and/or any other suitable device or approach. The “system” may be provided by an entity. The entity may be an individual, an organization or any other suitable entity.



FIG. 2 shows illustrative channel assessment process 200. Process 200 may send Type 0 Probe to bit mask nodes, Request and Receive Type 0 Probe Report, Send Type I Probe to bit mask nodes, and Receive Type I Probe Report from each other node. The process may be repeated for some or all of the other nodes.


Type 0 probe is a time period in which all nodes of a network, and in some embodiments a subset of the network, are quiet. Type 0 probe may be used for detecting the existence of interference or another network (Beacon detecting) by the assessing node.


In some embodiments, a channel assessment operation may proceed as follows:


(1) NC selects a channel for assessment;


(2) NC allocates a “Probe-0” operation for all nodes or a list of nodes;


(3) All nodes that participated in (2) send Probe 0 report message to the NC;


(4) NC may select a node to be a “CAO node” (based on the reported Probe-0 results) and a list of nodes that may or must participate in the CAO signal exchange, or go back to (1);


(5) Selected nodes move to the selected channel to perform CAO Probe 1 where the CAO transmits Probe 1 message to all other nodes;


(6) NC selects the next node to be the CAO node and the process in (4) and (5) is repeated;


(7) All nodes that participated in the CAO process send their calculated full mesh rate (“FMR”) on the assessed channel to the NC, using CAO probe 1 report; and


(8) NC may select another channel for assessment and go back to (1).


In some embodiments, the following factors may be considered in connection with a transition from one channel to another channel:


1. NC MUST allocate a Transition Time for a node to move to another channel (Tlo ˜100 uSec).


2. During this time transmission on the current channel can continue.


3. After Tlo and until the allocated time for the Probe0 operation and Type I Probe operation NC should preferably not allocate any transmission opportunity on the current channel.


4. One CAO step should preferably follow a full link maintenance operation (“LMO”) procedure.


In some embodiments, messages may be used in connection with channel assessment. Illustrative messages include:


1. “Probe_0_for_channel_Assessment_Report”


NC may use this command to schedule a node to send a Probe 0 report on the assessed channel.


2. “FMR_for_channel_Assessment_Report”


NC may use this command to schedule a node to send a Full Mesh Rates per the assessed channel.


Table 1 shows illustrative link state fields and other associated fields within a MAP frame to indicate a CAO State.











TABLE 1







Link_State
32 bits
Informs nodes of the state of the




network.




Least significant nibble indicates




Link Control state -




0x0 = Deprecated - treat as 0x6




0x1 = Begin Node Admission state




0x2 = New Node Type I Probe TX




state




0x3 = New Node Type I Probe RX




state




0x4 = New GCD Distribution state




0x5 = Begin PHY Profile state




0x6 = Steady state




0x7 = Type III Probe state




0x8 = LMO Type I Probe state




0x9 = LMO Node GCD




Distribution state




0xA = Begin LMO PHY Profile




state




0xB - GCD LMO state




0xC - CAO Type 0 Probe state




0xD - CAO Type I Probe state




All other values reserved.


LMO/CAO_NODE
16 bits
if LINK_STATE = 0x7-0xB




Node ID of link node that is the




current LMO node.




if LINK_STATE = 0xC-0xD




Node ID of link node that is the




current CAO node.




Note that this field should contain




valid node ID only in Link Control




states 0x7-0xD and should be




ignored in all other Link Control




states.


LMO_DESTINATION/
16 bits
if LINK_STATE = 0x7-0xB


CAO_DESTINATIONBIT

Node ID for destination node


MASK

Always set to BROADCAST




(0x3F)




if LINK_STATE = 0xC-0xD




Node ID bit mask for the CAO




destination nodes









In some embodiments, a process to move to another channel may be initiated by the NC. The NC may remain NC on the other channel. Each node may set its LoF to the selected channel's frequency. Each node may use a random backoff to start admission to the new channel. A move to another channel may interrupt network operation and should not be done frequently.


Table 2 shows an illustrative Type 0 Probe report request format.











TABLE 2





Field
Length
Usage















MAC Header










Transmit_Clock
32
bits



Packet_Subtype
4
bits
Type: 0/I/III Probe Report Request





(0x5)


Packet_Type
4
bits
Link Control (0x2)


Version
8
bits


reserved
8
bits
0x00; Type I


Source_Node_ID
8
bits
Source node ID


reserved
8
bits
0x00; Type I


Destination_Node_ID
8
bits
Destination node ID


Packet_Length
16
bits


reserved
32
bits
Type III


Header_Checksum
16
bits
Only following values allowed -





0x1 - Type I Probe





0x2 - Type II Probe





0x4 - Type III Probe.





0x5 - GCD Type I Probe





0x6 - Type 0 Probe







Frame payload










Report Source Node
8
bits
Node ID of the CAO node


Report Destination
8
bits
Node ID of the NC node


Node


Reserved
16
bits
Type II


RESERVED
32
bits
Type II







Payload CRC










PAYLOAD_CRC
32
bits









Table 3 shows an illustrative Type 0 Probe Report Frame Format.











TABLE 3





Field
Length
Usage















MAC Header










TRANSMIT_CLOCK
32
bits



PACKET_SUBTYPE
4
bits
Type 0 Probe Report (0xF)


PACKET_TYPE
4
bits
Link Control (0x2)


VERSION
8
bits


RESERVED
8
bits
0x00; Type I


SOURCE_NODE_ID
8
bits
Source node ID


RESERVED
8
bits
0x00; Type I


DESTINATION_NODE_ID
8
bits
Destination node ID


PACKET_LENGTH
16
bits


RESERVED
32
bits
Type III


HEADER_CHECKSUM
16
bits







Frame payload










NUM_ELEMENTS
8
bits
the total number of element





each element indicates the





average noise of 8 succes-





sive sub carrier


For j = 0; j < 512; j++ {


NOISE (RECEIVED
8
bits
This field is quantitative indi-


LEVEL)


cation on the received level of





the noise for a subcarrier


}


NETWORK_DETECT
8
bits
Network detect on the assess-





ment channel





00 - not detect





10 - MoCA 1.0 network





detect





11 - MoCA 1.1 network





detect





20 - MoCA 2.0 network





detect







RESERVED










Payload CRC









Table 4 shows an illustrative New Probe subtype for Type 0 Probe.











TABLE 4





FIELD
LENGTH
USAGE







PROBE_SUBTYPE
4 BITS
ONLY FOLLOWING VALUES




ALLOWED -




0X1 - TYPE I PROBE




0X2 - TYPE II PROBE




0X4 - TYPE III PROBE.




0X5 - GCD TYPE I PROBE




0X6 - TYPE 0 PROBE









All bits in the RESERVED fields in the syntax should preferably be set to 0.


One of ordinary skill in the art will appreciate that the steps shown and described herein may be performed in other than the recited order and that one or more steps illustrated may be optional. The methods of the above-referenced embodiments may involve the use of any suitable elements, steps, computer-executable instructions, or computer-readable data structures. In this regard, other embodiments are disclosed herein as well that can be partially or wholly implemented on a computer-readable medium, for example, by storing computer-executable instructions or modules or by utilizing computer-readable data structures.


Thus, systems and methods for channel assessment have been provided. Persons skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation.

Claims
  • 1. A method for coordinating alternate channel assessment on a network comprising a plurality of nodes, the method comprising: identifying an alternate channel for assessment, an assessment transmission node of the plurality of nodes to participate in the assessment by transmitting a probe message on the alternate channel, and at least one assessment node of the plurality of nodes to participate in the assessment by receiving the probe message on the alternate channel, wherein the assessment transmission node is distinct from the at least one assessment node;scheduling, over a current channel, the assessment of the alternate channel exclusively by the assessment transmission node and the at least one assessment node;transmitting, to the at least one assessment node over the current channel and subsequent to the scheduling, a probe report request in relation to the assessment of the alternate channel, wherein the probe report request comprises a first field that identifies the assessment transmission node; andreceiving, from the at least one assessment node over the current channel, at least one probe report that comprises at least one result of the assessment of the alternate channel.
  • 2. The method of claim 1, wherein the scheduling, over the current channel, the assessment of the alternate channel by the assessment transmission node and the at least one assessment node further comprises: transmitting, to the plurality of nodes over the current channel, a message that comprises second fields that are indicative of the alternate channel, the assessment transmission node, and the at least one assessment node.
  • 3. The method of claim 2, wherein the identifying, the transmitting the message, the transmitting the probe report request and the receiving, are performed by a network coordinator that is distinct from the assessment transmission node and the at least one assessment node.
  • 4. The method of claim 3, further comprising: receiving, by the network coordinator, a request to initiate the assessment of the alternate channel.
  • 5. The method of claim 4, wherein the request to initiate the assessment of the alternate channel is triggered by an application external to the network coordinator and the plurality of nodes, and the method further comprises: providing, by the network coordinator, the at least one probe report that comprises the at least one result of the assessment of the alternate channel.
  • 6. The method of claim 2, wherein the at least one assessment node is identified in the message by a bit mask.
  • 7. The method of claim 1, wherein the at least one result of the at least one probe report comprises performance information corresponding to a plurality of subcarriers of the alternate channel.
  • 8. The method of claim 1, wherein the current channel is distinct from the alternate channel.
  • 9. The method of claim 1, wherein a communication medium of the network comprises a coaxial cable.
  • 10. A node communicating over a network comprising a plurality of nodes, the node comprising: a processor; anda memory including instructions that, when executed by the processor, causes the processor to: identify an alternate channel for assessment, an assessment transmission node of the plurality of nodes to participate in the assessment by transmitting a probe message on the alternate channel, and at least one assessment node of the plurality of nodes to participate in the assessment by receiving the probe message on the alternate channel, wherein the assessment transmission node is distinct from the at least one assessment node;transmit, to the plurality of nodes over a current channel, a message that comprises first fields that are indicative of the alternate channel, the assessment transmission node, and the at least one assessment node;transmit, to the at least one assessment node over the current channel and subsequent to transmitting the message, a probe report request in relation to the assessment of the alternate channel, wherein the probe report request comprises a second field that identifies the assessment transmission node; andreceive, from the at least one assessment node over the current channel, at least one probe report that comprises at least one result of the assessment of the alternate channel.
  • 11. The node of claim 10, wherein a communication medium of the network comprises a coaxial cable.
  • 12. The node of claim 10, wherein the node comprises a network coordinator that is distinct from the assessment transmission node and the at least one assessment node.
  • 13. The node of claim 10, wherein the at least one assessment node is identified in the message by a bit mask.
  • 14. The node of claim 10, wherein the current channel comprises a different frequency than the alternate channel.
  • 15. The node of claim 10, wherein the at least one result of the at least one probe report comprises performance information corresponding to a plurality of subcarriers of the alternate channel.
  • 16. A computer program product comprising instructions stored in a non-transitory computer-readable storage medium, the instructions comprising: instructions to determine an alternate channel for assessment, an assessment transmission node of a plurality of nodes of a network to participate in the assessment by transmitting a probe message on the alternate channel, and at least one assessment node of the plurality of nodes to participate in the assessment by receiving the probe message on the alternate channel, wherein the assessment transmission node is distinct from the at least one assessment node;instructions to transmit, to the plurality of nodes over a current channel and prior to the assessment of the alternate channel, a message that comprises first fields that identify the determined alternate channel, the determined assessment transmission node, and the determined at least one assessment node;instructions to transmit, to the at least one assessment node over the current channel and subsequent to transmitting the message, a probe report request in relation to the assessment of the alternate channel, wherein the probe report request comprises a second field that identifies the assessment transmission node; andinstructions to receive, from the at least one assessment node over the current channel, a probe report that comprises at least one result of the assessment of the alternate channel.
  • 17. The computer program product of claim 16, wherein the at least one assessment node is identified in the message by a bit mask.
  • 18. The computer program product of claim 16, wherein the current channel is distinct from the alternate channel.
  • 19. The computer program product of claim 16, wherein the at least one result of the at least one probe report comprises performance information corresponding to a plurality of subcarriers of the alternate channel.
  • 20. The computer program product of claim 16, the instructions further comprising: instructions for receiving a request to initiate the assessment of the alternate channel; andinstructions for providing the at least one probe report that comprises the at least one result of the assessment of the alternate channel.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/748,625, filed Mar. 29, 2010, entitled “Channel Assessment in an Information Network,” which claims priority to U.S. Provisional Application No. 61/167,255, filed on Apr. 7, 2009, entitled “Channel Assessment in an Information Network,” both of which are hereby incorporated by reference in their entirety.

US Referenced Citations (223)
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
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
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
6234413 Greaney May 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
6553586 Lin Apr 2003 B1
6563829 Lyles et al. May 2003 B1
6567654 Coronel Arredondo et al. May 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
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
7194041 Kadous Mar 2007 B2
7292527 Zhou et al. Nov 2007 B2
7296083 Barham et al. Nov 2007 B2
7327754 Mills et al. Feb 2008 B2
7372853 Sharma et al. May 2008 B2
7460543 Malik et al. Dec 2008 B2
7487532 Robertson 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
7783259 Dessert et al. Aug 2010 B2
7860092 Yoon et al. Dec 2010 B2
7916756 Atsumi et al. Mar 2011 B2
8184550 Beck et al. May 2012 B2
20010001833 Ravenscroft et al. May 2001 A1
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
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
20060059400 Clark et al. Mar 2006 A1
20060062250 Payne Mar 2006 A1
20060078001 Chandra et al. Apr 2006 A1
20060104201 Sundberg et al. 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
20070127373 Ho et al. Jun 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
20070286121 Kolakowski et al. Dec 2007 A1
20080037487 Li et al. Feb 2008 A1
20080037589 Kliger et al. Feb 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
20080219371 Hong 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
20100080312 Moffatt et al. Apr 2010 A1
20100094995 Barr Apr 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
20100185731 Wu Jul 2010 A1
20100185759 Wu Jul 2010 A1
20100238932 Kliger et al. Sep 2010 A1
20100246586 Ohana et al. Sep 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
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
20120093244 Levi et al. Apr 2012 A1
Foreign Referenced Citations (14)
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
WO-9827748 Jun 1998 WO
WO-9831133 Jul 1998 WO
WO-9935753 Jul 1999 WO
WO-9946734 Sep 1999 WO
WO-0031725 Jun 2000 WO
WO-0055843 Sep 2000 WO
WO-0180030 Oct 2001 WO
WO-0219623 Mar 2002 WO
Non-Patent Literature Citations (1)
Entry
Niemietz, “Mask (computing)”, Mar. 17, 2008, Wikipedia, all pages.
Related Publications (1)
Number Date Country
20140146698 A1 May 2014 US
Provisional Applications (1)
Number Date Country
61167255 Apr 2009 US
Continuations (1)
Number Date Country
Parent 12748625 Mar 2010 US
Child 14102390 US