This application is a utility of U.S. Provisional Application Ser. No. 60/941,949, entitled “MANAGING COMMUNICATIONS OVER A SHARED MEDIUM,” filed on Jun. 4, 2007, which is hereby incorporated by reference.
The invention relates to managing secured end-to-end communications over a shared medium.
A network of communication stations can share a communication medium (e.g., wires connecting multiple stations or a spectrum for transmitting radio signals among stations) using any of a variety of access techniques. Security for a shared communication medium network can be difficult since there is no protection from other devices that are connected to the shared medium. For example, two stations that are connected to a shared medium cannot communicate with each other in a secure manner without the danger of being subjected to snooping by other devices connected to the shared medium.
The following are various aspects described herein. In one aspect computer implemented authentication methods are disclosed. Such methods can include: receiving a connection request from a first station at a second station, the connection request comprising a first pseudo-random number associated with the first station; generating a second pseudo-random number associated with the second station; communicating an end-to-end management key request to an authorization server, the end-to-end management key request comprising a first pseudo-random number associated with the first station and the second pseudo random number associated with the second station; receiving a communication comprising an end-to-end management key and the second pseudo random number, the communication being encrypted using a device access key associated with the second station; decrypting the communication using the device access key associated with the second station; and, authenticating the end-to-end management key based on the second pseudo-random number included in the communication.
Still further methods can include: receiving an end-to-end management key request, the end-to-end management key request comprising a first pseudo random number associated with an originating station and a second pseudo random number associated with a receiving station; encrypting an first end-to-end management key response, the first end-to-end management key response comprising an end-to-end management key and a first pseudo-random number encrypted using a first device access key associated with the originating station; encrypting an second end-to-end management key response, the second end-to-end management key response comprising an end-to-end management key and a second pseudo-random number encrypted using a second device access key associated with the receiving station; and, communicating the first and second end-to-end management key responses to the originating and receiving stations, respectively.
Systems can include a first station and a second station attempting to establish a communication session. An authorization server can receive an end-to-end management key request from one or more of the stations and provide a first response and a second response. The first response including an end-to-end management key and a first pseudo-random number associated with the first station, both being encrypted using a first device access key associated with the first station. The second response can include the end-to-end management key and the second pseudo random number associated with the second device, both being encrypted using a second device access key associated with the second station. The first station can authenticate the first response based upon decrypting the first response and identifying the first pseudo-random number, and the second station can authenticate the second response based upon decrypting the second response and identifying the second pseudo-random number.
Other systems can use an authorization server to provide an end-to-end management key used to facilitate communications between a first station and a second station, wherein the authorization server has a device access key associated with the first station and a device access key associated with the second station. The authorization server can receive a first nonce associated with the first station, and a second nonce associated with the second station. The authorization server can send a first encrypted message to the first station, the first encrypted messing being encrypted using the device access key associated with the first station and including the first station nonce and the end-to-end management key, and can send a second encrypted message to the second station, the second encrypted message being encrypted using the device access key associated with the second station and including the second station nonce and the end-to-end management key.
Other aspects will be found in the detailed description, drawings and claims.
There are a many possible implementations of the invention, some example implementations are described below. However, such examples are descriptions of various implementations, and not descriptions of the invention, which is not limited to the detailed implementations described in this section but is described in broader terms in the claims.
A BPLN can include one or more cells. A cell is a group of broadband power line (BPL) devices in a BPLN that have similar characteristics such as association management, security, QoS and channel access settings, for example. Cells in a BPLN are logically isolated from each other, and communication to and from the backhaul occurs within the cell. Each cell in a BPLN includes a core-cell and may also include one or more sub-cells. There can be more than one cell on a given physical power line medium.
A core-cell includes a group of devices in a BPLN that includes a head end (HE), repeaters (R), and network termination units (NTU), but can exclude customer premise equipment (CPE). The head end (HE) is a device that bridges a cell to the backhaul network. At a given time, a cell will have one active head end and the head end manages the cell including the core-cell and any associated sub-cells. A repeater (RP) is a device that selectively retransmits media access control (MAC) service data units (MSDUs) to extend the effective range and bandwidth of the BPLN cell. Repeaters can also perform routing and quality of service (QoS) functions. The NTU is a device that connects a BPLN cell to the end users' network or devices. The NTU may in some cases bridge to other network technologies such as WiFi. A single NTU can serve more than one customer. Each Sub-Cell is associated with an active NTU. In some implementations, an HE, an NTU and/or an RP can be co-located at a single station. Thus, a single device may be designed to perform multiple functions. For example, a single device can simultaneously be programmed to perform the tasks associated with an RP and an NTU.
Various types of CPE devices (e.g., a computer) can be used as endpoint nodes in the network and such devices can communicate with other nodes in the network through the NTU.
Various types of CPE devices (e.g., a computer) can be used as endpoint nodes in the network and such devices can communicate with other nodes in the network through the NTU, any number of repeaters (e.g., including no repeaters), and the head end.
Each node in the network communicates as a communication “station” (STA) using a PHY layer protocol that is used by the nodes to send transmissions to any other stations that are close enough to successfully receive the transmissions. STAs that cannot directly communicate with each other use one or more repeater STAs to communicate with each other. Any of a variety of communication system architectures can be used to implement the portion of the network interface module that converts data to and from a signal waveform that is transmitted over the communication medium. An application running on a station can provide data to and receives data from the network interface module. A MSDU is a segment of information received by the MAC layer. The MAC layer can process the received MSDUs and prepares them to generate “MAC protocol data units” (MPDUs). A MPDU is a segment of information including header and payload fields that the MAC layer has asked the PHY layer to transport. An MPDU can have any of a variety of formats based on the type of data being transmitted. A “PHY protocol data unit (PPDU)” refers to the modulated signal waveform representing an MPDU that is transmitted over the power line by the physical layer.
Apart from generating MPDUs from MSDUs, the MAC layer can provide several functions including channel access control, providing the required QoS for the MSDUs, retransmission of corrupt information, routing and repeating. Channel access control enables stations to share the powerline medium. Several types of channel access control mechanisms like carrier sense multiple access with collision avoidance (CSMA/CA), centralized Time Division Multiple Access (TDMA), distributed TDMA, token based channel access, etc., can be used by the MAC. Similarly, a variety of retransmission mechanism can also be used. The Physical layer (PHY) can also use a variety of techniques to enable reliable and efficient transmission over the transmission medium (power line, coax, twisted pair etc). Various modulation techniques like Orthogonal Frequency Division Multiplexing (OFDM), Wavelet modulations can be used. Forward error correction (FEC) code line Viterbi codes, Reed-Solomon codes, concatenated code, turbo codes, low density parity check code, etc., can be employed by the PHY to overcome errors. A preferred implementation of the MAC and PHY layers used by powerline medium is that based on HomePlug AV specification.
One implementation of the PHY layers is to use OFDM modulation. In OFDM modulation, data are transmitted in the form of OFDM “symbols.” Each symbol has a predetermined time duration or symbol time Ts. Each symbol is generated from a superposition of N sinusoidal carrier waveforms that are orthogonal to each other and form the OFDM carriers. Each carrier has a peak frequency fi and a phase Φi measured from the beginning of the symbol. For each of these mutually orthogonal carriers, a whole number of periods of the sinusoidal waveform is contained within the symbol time Ts. Equivalently, each carrier frequency is an integral multiple of a frequency interval Δf=1/Ts. The phases Φi and amplitudes Ai of the carrier waveforms can be independently selected (according to an appropriate modulation scheme) without affecting the orthogonality of the resulting modulated waveforms. The carriers occupy a frequency range between frequencies f1 and fN referred to as the OFDM bandwidth.
The CPE devices 205a-d can communicate with the headend 215 through a network of network termination units 220a-d and repeaters 225a-d. In some implementations, the network termination units can operate to translate the data signals from the CPE devices in any of a variety of communications protocols onto a powerline network. For example, a CPE 205a-d might communicate with an NTU 220a-d using a IEEE 802.11 wireless protocol, and the NTU 220a-d can convert the wireless signal to a signal suitable for transmission on a powerline medium. Systems for transmitting and receiving powerline network signals are further described in
In various implementations, repeaters 225a-d can be located throughout the powerline network to provide the ability for a data signal to travel on the powerline carrier medium over long distances. As discussed above, the headend 215 can provide a gateway for the data signal to be transferred to a backhaul network 210. For example, the headend 215 can extract the data signal from the powerline network and convert the signal for transmission on a packet switched network such as the Internet. In various implementations, one or more of the repeaters 225a-d can be equipped to transfer the signal from the powerline network to the backhaul network 210.
In some implementations, the headend 215 can also include an authorization server. In one implementation, the authorization server is included on the backhaul network 210. The authorization server can be operable to authorize CPE devices 205a-d for transmission of data over the powerline network. When a CPE device 205a-d is not authorized, in various implementations, the CPE device 205a-d can be provided access to a registration server 230. The registration server 230, in various implementations, can enable the user of a CPE device 205a-d to register the CPE device 205a-d with the network to obtain access to the powerline network.
In various implementations, the registration server 230 can provide a limited registration to a CPE device 205a-d to try the powerline network. For example, the registration can be limited by a period of time, bandwidth, destination address, or any other limitation that might allow the user to have limited access to the network. In additional implementations, the registration server 230 can require payment prior to using the network. For example, the registration server can provide web pages operable to collect payment information from the user. In various implementations, the registration server can allow the user to pay for any of a variety of different access plans. For example, an access plan might allow a user to purchase access for a specified period of time, at a specified bandwidth, or combinations thereof. In some implementations, the registration server and authorization server can be co-located as shown in
Referring to
At the transmitter 302, modules implementing the PHY layer receive an MPDU from the MAC layer. The MPDU is sent to an encoder module 320 to perform processing such as scrambling, error correction coding and interleaving.
The encoded data is fed into a mapping module 322 that takes groups of data bits (e.g., 1, 2, 3, 4, 6, 8, or 10 bits), depending on the constellation used for the current symbol (e.g., a BPSK, QPSK, 8-QAM, 16-QAM constellation), and maps the data value represented by those bits onto the corresponding amplitudes of in-phase (I) and quadrature-phase (Q) components of a carrier waveform of the current symbol. This results in each data value being associated with a corresponding complex number Ci=Ai exp(jΦi) whose real part corresponds to the I component and whose imaginary part corresponds to the Q component of a carrier with peak frequency fi. Alternatively, any appropriate modulation scheme that associates data values to modulated carrier waveforms can be used.
The mapping module 322 also determines which of the carrier frequencies f1, . . . , fN within the OFDM bandwidth are used by the system 300 to transmit information. For example, some carriers that are experiencing fades can be avoided, and no information is transmitted on those carriers. Instead, the mapping module 322 uses coherent BPSK modulated with a binary value from the Pseudo Noise (PN) sequence for that carrier. For some carriers (e.g., a carrier i=10) that correspond to restricted bands (e.g., an amateur radio band) on a medium 304 that may radiate power no energy is transmitted on those carriers (e.g., A10=0). The mapping module 322 also determines the type of modulation to be used on each of the carriers (or “tones”) according to a “tone map.” The tone map can be a default tone map, or a customized tone map determined by the receiving station, as described in more detail below.
An inverse discrete Fourier transform (IDFT) module 324 performs the modulation of the resulting set of N complex numbers (some of which may be zero for unused carriers) determined by the mapping module 322 onto N orthogonal carrier waveforms having peak frequencies f1, . . . , fN. The modulated carriers are combined by IDFT module 324 to form a discrete time symbol waveform S(n) (for a sampling rate fR), which can be written as
where the time index n goes from 1 to N, Ai is the amplitude and Φi is the phase of the carrier with peak frequency fi=(i/N)fR, and j=√−1. In some implementations, the discrete Fourier transform corresponds to a fast Fourier transform (FFT) in which N is a power of 2.
A post-processing module 326 combines a sequence of consecutive (potentially overlapping) symbols into a “symbol set” that can be transmitted as a continuous block over the communication medium 304. The post-processing module 326 prepends a preamble to the symbol set that can be used for automatic gain control (AGC) and symbol timing synchronization. To mitigate intersymbol and intercarrier interference (e.g., due to imperfections in the system 300 and/or the communication medium 304) the post-processing module 326 can extend each symbol with a cyclic prefix that is a copy of the last part of the symbol. The post-processing module 326 can also perform other functions such as applying a pulse shaping window to subsets of symbols within the symbol set (e.g., using a raised cosine window or other type of pulse shaping window) and overlapping the symbol subsets.
An analog front end (AFE) module 328 couples an analog signal containing a continuous-time (e.g., low-pass filtered) version of the symbol set to the communication medium 304. The effect of the transmission of the continuous-time version of the waveform S(t) over the communication medium 304 can be represented by convolution with a function g(τ;t) representing an impulse response of transmission over the communication medium. The communication medium 304 may add noise n(t), which may be random noise and/or narrowband noise emitted by a jammer.
At the receiver 306, modules implementing the PHY layer receive a signal from the communication medium 304 and generate an MPDU for the MAC layer. An AFE module 330 operates in conjunction with an automatic gain control (AGC) module 332 and a time synchronization module 334 to provide sampled signal data and timing information to a discrete Fourier transform (DFT) module 336.
After removing the cyclic prefix, the receiver 306 feeds the sampled discrete-time symbols into DFT module 336 to extract the sequence of N complex numbers representing the encoded data values (by performing an N-point DFT). Demodulator/Decoder module 338 maps the complex numbers onto the corresponding bit sequences and performs the appropriate decoding of the bits (including de-interleaving and descrambling).
Any of the modules of the communication system 300 including modules in the transmitter 302 or receiver 306 can be implemented in hardware, software, or a combination of hardware and software.
In various implementations, the stations (e.g., repeaters 420a-c and NTUs 410a-h) can use end-to-end management keys (EMKs) to facilitate private communications between stations (e.g., NTU 410a-h, repeaters 420a-c, headend 400, etc.) on the network. The stations that are to communicate with each other can use an EMK to encrypt the communications. The EMK is unknown to other devices on the network, so the communications are substantially secure. The EMK can be distributed to the communicating stations by the authorization server 430. To maintain security, the authorization server 430 can encrypt the EMK communication to the stations.
In some implementations, the stations can send an EMK request to the authorization server 430. In various implementations, the EMK request can include a pseudo-random number generated by the station. The authorization server 430 can include a nonce in addition to the EMK in the response to the EMK request. In some implementations, the response can be encrypted using a device access key (DAK) or a network membership key (NMK) associated with the respective requesting device. The DAK or NMK can be retrieved, for example, from a key store located at the authorization server 430.
In such implementations, the stations can decrypt the response to the EMK request using a DAK or NMK associated with the respective device. Moreover, the stations can authenticate the response and the EMK based upon the nonce included in the response. If the nonce included in the response matches the pseudo-random number included in the request communicated from the station, the EMK is determined to be authentic. In some implementations, the pseudo-random number can be incremented by a function known to both the headend 400 and the station. If the incremented pseudo-random number matches the nonce included in the response, the EMK is determined to be authentic.
In the example of
Upon receiving the EMK requests, the headend 400 can retrieve key information. associated with the requesting devices 410a, 410h, as shown by signal 470. In those implementations where the EMK requests are encrypted, the headend 400 can extract an identifier (e.g., a MAC address) from the requests and can use the extracted identifiers to retrieve an NMK or an DAK to decrypt the EMK requests. The headend 400 can extract the pseudo-random number included in the EMK request and can also generate a new EMK based upon receipt of the requests. The headend 400 can use the pseudo-random numbers included in the requests and the FMK to generate response communications to the first station 410a and second station 410h. The response communications can include a nonce based upon the received pseudo random number and the EMK. In various implementations, the nonce can be identical to the pseudo-random number. In other implementations, the nonce can be the pseudo-random number adjusted by a function known to the headend and to the station. In various implementations, the function can be particular to the specific station. The response communications for each of the first station 410a and the second station 410h can then be encrypted using the retrieved DAK or NMK associated with the respective stations, as shown h the signals 450, 460. The encrypted response communications can be sent to the first station 410 a and the second station 410h.
In various implementations, upon receiving the EMK requests, the headend 400 can forward the request to the authorization server 430 as shows by signal 470. The authorization server 430 can retrieve key information associated with the requesting devices 410a, 410h. In those implementations where the EMK requests are encrypted, the authorization server 430 can extract an identifier (e.g., a MAC address) from the requests and can use the extracted identifiers to retrieve an NMK or a DAK to decrypt the EMK requests. The authorization server 430 can extract the pseudo-random number included in the EMK request and can also generate a new EMK based upon receipt of the requests. The authorization server 430 can use the pseudo-random numbers included in the requests and the EMK to generate response communications to the first station 410a and second station 410h. The response communications can include a nonce based upon the received pseudo random number and the EMK. The response communications for each of the first station 410a and the second station 410h can then be encrypted using the retrieved DAK or NMK associated with the respective stations and send to the headend 400, as shown by the signal 470. The headend 400 can then forward the response to the first station 410a and the second station 410h, as shown by signals 450, 460.
While other stations may receive the response communication, the stations cannot decrypt the response communication without knowledge of the DAK or NMK associated with the respective station 410a, 410h to which the communication is addressed. When the stations 410a, 410h decrypt the response communication, the stations 410a, 410h can compare the nonce to the pseudo-random number to authenticate the received EMK. In other implementations, the stations 410a, 410h can compare the nonce to an adjusted pseudo-random number to authenticate the received EMK. For example, when the pseudo-random number is adjusted by the headend 400 using a function to derive the nonce, the pseudo-random number can be adjusted locally by the station(s) 410a, 410h using the same function for authentication purposes.
In various implementations, the first and second EMK requests can be encrypted to prevent other stations from copying the first or second pseudo-random numbers. The first and second EMK requests can be encrypted, for example, using a network membership key (NMK) or a device access key (DAK) respectively associated with the first and second stations 500, 505.
Upon receiving the first and second EMK requests, the headend 510 can forward the requests to the authorization server 515, as shown by signal 2. In some implementations, the authorization server 515 can extract an identifier (e.g., MAC address) from the first and second EMK requests, and use the identifier to retrieve the keys associated with the requesting stations 500, 505. In those implementations where the first and second EMK requests are encrypted, the authorization server 515 can also use the keys associated with the stations to decrypt the first and second EMK requests.
The authorization server 515 can also generate an EMK based upon receipt of the first and second EMK requests. Authorization server 515 can then generate a first response and a second response to the first and second EMK requests, respectively. The first response and second response can include the generated EMK along with a first nonce and second nonce, respectively. The first nonce can be based upon the first pseudo-random number received in the first EMK request, and the second nonce can be based upon the second pseudo-random number received in the second EMK request.
The first response can be encrypted using an NMK or DAK associated with the first station 500. The second response can be encrypted using an NMK or DAK associated with the second station 505. The authorization server 515 can provide the first response and second response to the headend 510, as shown by signal 3. The headend 510 can transmit the first response to the first station as shown by signal 4(a), and can transmit the second response to the second station as shown by signal 4(b).
Upon receipt of the first response, the first station 500 can decrypt the first response using its NMK or DAK. The first station 500 can then identify the first nonce and the EMK from the communication. The first station 500 can authenticate the EMK based upon the first nonce. Similarly, the second station 505 can decrypt the second response using its NMK or DAK. The second station 505 can then identify the second nonce and the EMK from the communication. The second station 505 can authenticate the EMK based upon the second nonce. In various implementations, the first and second nonces can be authenticated based upon matching the first and second pseudo-random numbers, respectively.
In response to the receipt of the first and second EMK requests, the headend or authorization server 603 can submit a query to a key store 604 as shown by signal 620. The query can include identifiers (e.g., MAC addresses) associated with the first and second queries. The key store 604 can provide the first key and the second key to the headend or authorization server 603. In various implementations, the first key can be used to decrypt the first EMK request and the second key can be used to decrypt the second EMK request. The headend or authorization server 603 can also generate an EMK. Upon generation of the EMK, the headend or authorization server 603 can generate a first response including a first nonce and the EMK, and can generate a second response including a second nonce and the EMK. The first and second nonces can be based upon the received first and second pseudo-random numbers, respectively. The headend or authorization server 603 can also encrypt the first and second responses using the retrieved first and second keys, respectively. The first and second responses can be transmitted to the first and second stations 602, 601, as shown by signals 630 and 635, respectively.
Upon receipt of the first response, the first station can decrypt the first response using the first key. The EMK can then be authenticated based upon the first nonce included in the first response. In various implementations, if the first nonce matches the first pseudo-random number, the received EMK is determined to be authentic. Similarly, the second station 601 can decrypt the second response using the second key. The EMK can then be authenticated based upon the second nonce included in the second response. In various implementations, if the second nonce matches the second pseudo-random number, the received EMK is determined to be authentic. The first station 602 and second station 601 can then begin communicating.
At stage 710, an EMK request is sent. The EMK request can be sent, for example, by a station (e.g., NTU 410a-h or repeater 410a-c of
At stage 720, a response to the EMK request is received. The response to the EMK request can be received, for example, by a station (e.g., NTU 410a-h or repeater 410a-c of
At stage 730, the response can be authenticated based upon the nonce. The response can be authenticated, for example, by a station (e.g., NTU 410a-h or repeater 410a-c of
At stage 810, a first response is encrypted. The first response can be encrypted, for example, by a headend device (e.g., headend 400 of
At stage 820, a second response is encrypted. The second response can be encrypted, for example, by a headend device (e.g., headend 400 of
At stage 830, the first and second responses are communicated. The first and second responses can be communicated, for example, by a headend device(e.g., headend 400 of
In various implementations, stations can establish communication links between themselves using an end-to-end management key (EMK). In such implementations, a first station can communicate a connection request to a second station. The connection request can include a first pseudo-random generated by the first station. The second station, upon receiving the request can generate a second pseudo-random number, and an EMK request comprising the first and second pseudo-random numbers. The second station can communicate the EMK request to an authorization server. In some implementations, the EMK request can be encrypted using one or more of a first or second DAK associated with the first or second stations, respectively. In other implementations, the EMK request can be encrypted using one or more of a first or second NMK associated with the first or second stations, respectively.
Upon receiving the EMK request from the second station, the authorization server can generate a first response to the EMK request. The first response can include an EMK and the first pseudo-random number, and can be encrypted using a first DAK associated with the first station. The first DAK or NMK can be retrieved based upon a first unique identifier associated with the EMK request. The authorization server can also generate a second response to the EMK request. The second response can include an EMK and the second pseudo-random number, and can be encrypted using a second DAK associated with the second station. The second DAK or NMK can be retrieved based upon a second unique identifier associated with the EMK request.
In some aspects, the first station can receive the first response based upon its ability to decrypt the first response using its DAK or NMK. The first station can identify the pseudo-random number included in the response to authenticate the first response, and can use the EMK to begin communications with the second station.
Further, the second station can receive the second response based upon its ability to decrypt the second response using its DAK or NMK. The second station can identify the pseudo-random number included in the response to authenticate the second response, and can use the EMK to begin communications with the first station. Thus, communications between the first and second station can be encrypted using a common EMK communicated securely to each of the stations.
In alternative aspects, the first station can receive the first response based upon its ability to decrypt the first response using its DAK or NMK. The first station can identify the pseudo-random number included in the response to authenticate the first response. Similarly, the second station can receive the second response based upon its ability to decrypt the second response using its DAK or NMK. The second station can identify the pseudo-random number included in the response to authenticate the second response. After receiving their respective first and second responses, the first station and the second station can establish a secure point-to-point connection using the EMK to establish an end-to-end key (EEK). For example, the first station can generate the EEK and can send a set key request to the second station to request that the second station use the EEK to encrypt communications between the first station and the second station. Alternatively, the second station can generate the EEK and send a set key request to the first station to request that the first station use the EEK to encrypt communications between the first station and the second station. In either case, the set key request can be encrypted using the EMK.
The systems and methods disclosed herein may use data signals conveyed using networks (e.g., local area network, wide area network, internet, etc.), fiber optic medium, carrier waves, wireless networks (e.g., wireless local area networks, wireless metropolitan area networks, cellular networks, etc.), etc. for communication with one or more data processing devices (e.g., mobile devices). The data signals can carry any or all of the data disclosed herein that is provided to or from a device.
The methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by one or more processors. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform methods described herein.
The systems and methods may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.
The computer components, software modules, functions and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that software instructions or a module can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code or firmware. The software components and/or functionality may be located on a single device or distributed across multiple devices depending upon the situation at hand.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context clearly dictates otherwise.
Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it will be understood that the particular value forms another embodiment. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint.
These and other implementations are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4578530 | Zeidler | Mar 1986 | A |
4689786 | Sidhu et al. | Aug 1987 | A |
4807248 | Pyatt et al. | Feb 1989 | A |
5328530 | Semiatin et al. | Jul 1994 | A |
5359625 | Vander Mey et al. | Oct 1994 | A |
5491750 | Bellare | Feb 1996 | A |
5570355 | Dail et al. | Oct 1996 | A |
5613012 | Hoffman et al. | Mar 1997 | A |
5617421 | Chin et al. | Apr 1997 | A |
5682428 | Johnson | Oct 1997 | A |
5732076 | Ketseoglou et al. | Mar 1998 | A |
6074086 | Yonge, III | Jun 2000 | A |
6111919 | Yonge, III | Aug 2000 | A |
6141355 | Palmer et al. | Oct 2000 | A |
6167137 | Marino et al. | Dec 2000 | A |
6173400 | Perlman et al. | Jan 2001 | B1 |
6185185 | Bass et al. | Feb 2001 | B1 |
6188690 | Holden et al. | Feb 2001 | B1 |
6189040 | Oohara | Feb 2001 | B1 |
6201794 | Stewart et al. | Mar 2001 | B1 |
6243761 | Mogul et al. | Jun 2001 | B1 |
6269132 | Yonge, III | Jul 2001 | B1 |
6269163 | Rivest et al. | Jul 2001 | B1 |
6272135 | Nakatsugawa | Aug 2001 | B1 |
6278685 | Yonge, III et al. | Aug 2001 | B1 |
6307940 | Yamamoto et al. | Oct 2001 | B1 |
6310892 | Olkin | Oct 2001 | B1 |
6388995 | Gai et al. | May 2002 | B1 |
6519231 | Ding et al. | Feb 2003 | B1 |
6574195 | Roberts | Jun 2003 | B2 |
6591364 | Patel | Jul 2003 | B1 |
6606303 | Hassel et al. | Aug 2003 | B1 |
6631136 | Chowdhury et al. | Oct 2003 | B1 |
6711163 | Reid et al. | Mar 2004 | B1 |
6775656 | Gettwart et al. | Aug 2004 | B1 |
6804252 | Johnson | Oct 2004 | B1 |
6904462 | Sinha | Jun 2005 | B1 |
6910136 | Wasserman et al. | Jun 2005 | B1 |
7039021 | Kokudo | May 2006 | B1 |
7065643 | Cornils et al. | Jun 2006 | B1 |
7085284 | Negus | Aug 2006 | B1 |
7089298 | Nyman et al. | Aug 2006 | B2 |
7181620 | Hur | Feb 2007 | B1 |
7234058 | Baugher et al. | Jun 2007 | B1 |
7346021 | Yoshizawa et al. | Mar 2008 | B2 |
7350076 | Young et al. | Mar 2008 | B1 |
7352770 | Yonge, III et al. | Apr 2008 | B1 |
7369579 | Logvinov et al. | May 2008 | B2 |
7395097 | Perdomo et al. | Jul 2008 | B2 |
7409543 | Bjorn | Aug 2008 | B1 |
7496039 | Yamada et al. | Feb 2009 | B2 |
7506042 | Ayyagari | Mar 2009 | B2 |
7558294 | Yonge, III et al. | Jul 2009 | B2 |
7558575 | Losh et al. | Jul 2009 | B2 |
7573891 | Chow et al. | Aug 2009 | B1 |
7609681 | Kurobe et al. | Oct 2009 | B2 |
7668191 | Steinback et al. | Feb 2010 | B2 |
7684333 | Dasylva et al. | Mar 2010 | B1 |
7756039 | Yonge, III et al. | Jul 2010 | B2 |
7797751 | Hughes et al. | Sep 2010 | B1 |
7804842 | Malik et al. | Sep 2010 | B2 |
7826475 | Lee et al. | Nov 2010 | B2 |
7826618 | Klingler et al. | Nov 2010 | B2 |
7894487 | Yonge, III et al. | Feb 2011 | B2 |
7949356 | Yonge, Iii et al. | May 2011 | B2 |
7961694 | Chan et al. | Jun 2011 | B1 |
8112358 | Yonge, III et al. | Feb 2012 | B2 |
8170051 | Yonge, III et al. | May 2012 | B2 |
8429406 | Yonge et al. | Apr 2013 | B2 |
8467369 | Yonge, III et al. | Jun 2013 | B2 |
8488615 | Yonge, III et al. | Jul 2013 | B2 |
8503480 | Yonge, III et al. | Aug 2013 | B2 |
8510470 | Yonge, III et al. | Aug 2013 | B2 |
8930572 | Yonge, III et al. | Jan 2015 | B2 |
8989379 | Katar et al. | Mar 2015 | B2 |
20010000709 | Takahashi et al. | May 2001 | A1 |
20020015496 | Weaver et al. | Feb 2002 | A1 |
20020025810 | Takayama et al. | Feb 2002 | A1 |
20020029260 | Dobbins et al. | Mar 2002 | A1 |
20020060986 | Fukushima et al. | May 2002 | A1 |
20020097679 | Berenbaum | Jul 2002 | A1 |
20020107023 | Chari et al. | Aug 2002 | A1 |
20020114303 | Crosbie et al. | Aug 2002 | A1 |
20020122411 | Zimmerman et al. | Sep 2002 | A1 |
20020124177 | Harper et al. | Sep 2002 | A1 |
20020133622 | Pinto | Sep 2002 | A1 |
20020137462 | Rankin | Sep 2002 | A1 |
20020141417 | Umayabashi | Oct 2002 | A1 |
20030012166 | Benveniste | Jan 2003 | A1 |
20030018812 | Lakshminarayana et al. | Jan 2003 | A1 |
20030022978 | Hohner et al. | Jan 2003 | A1 |
20030048183 | Vollmer et al. | Mar 2003 | A1 |
20030067892 | Beyer et al. | Apr 2003 | A1 |
20030086437 | Benveniste | May 2003 | A1 |
20030095551 | Gotoh et al. | May 2003 | A1 |
20030137993 | Odman | Jul 2003 | A1 |
20030193959 | Lui et al. | Oct 2003 | A1 |
20030224784 | Hunt et al. | Dec 2003 | A1 |
20030228846 | Berliner et al. | Dec 2003 | A1 |
20030229783 | Hardt | Dec 2003 | A1 |
20040047319 | Elg | Mar 2004 | A1 |
20040070912 | Kopp | Apr 2004 | A1 |
20040081089 | Ayyagari et al. | Apr 2004 | A1 |
20040090982 | Xu | May 2004 | A1 |
20040128310 | Zmudzinski et al. | Jul 2004 | A1 |
20040165532 | Poor et al. | Aug 2004 | A1 |
20040174829 | Ayyagari | Sep 2004 | A1 |
20040190542 | Ono et al. | Sep 2004 | A1 |
20040210630 | Simonnet et al. | Oct 2004 | A1 |
20040218577 | Nguyen et al. | Nov 2004 | A1 |
20040234073 | Sato et al. | Nov 2004 | A1 |
20040240671 | Hu et al. | Dec 2004 | A1 |
20040264428 | Choi et al. | Dec 2004 | A1 |
20050001694 | Berkman | Jan 2005 | A1 |
20050021539 | Short et al. | Jan 2005 | A1 |
20050025176 | Ko et al. | Feb 2005 | A1 |
20050068227 | Caspi et al. | Mar 2005 | A1 |
20050071631 | Langer | Mar 2005 | A1 |
20050089005 | Sakoda et al. | Apr 2005 | A1 |
20050114489 | Yonge et al. | May 2005 | A1 |
20050117515 | Miyake | Jun 2005 | A1 |
20050117750 | Rekimoto | Jun 2005 | A1 |
20050135291 | Ketchum et al. | Jun 2005 | A1 |
20050147075 | Terry | Jul 2005 | A1 |
20050169222 | Ayyagari et al. | Aug 2005 | A1 |
20050190785 | Yonge, III et al. | Sep 2005 | A1 |
20050192037 | Nanda et al. | Sep 2005 | A1 |
20050210157 | Sakoda | Sep 2005 | A1 |
20050243765 | Schrader et al. | Nov 2005 | A1 |
20050249186 | Kelsey et al. | Nov 2005 | A1 |
20060002406 | Ishihara et al. | Jan 2006 | A1 |
20060039371 | Castro et al. | Feb 2006 | A1 |
20060053289 | Singh | Mar 2006 | A1 |
20060072517 | Barrow et al. | Apr 2006 | A1 |
20060077997 | Yamaguchi et al. | Apr 2006 | A1 |
20060104301 | Beyer et al. | May 2006 | A1 |
20060120371 | Huang et al. | Jun 2006 | A1 |
20060159260 | Pereira et al. | Jul 2006 | A1 |
20060168647 | Chiloyan | Jul 2006 | A1 |
20060209871 | Claret et al. | Sep 2006 | A1 |
20060224813 | Rooholamini et al. | Oct 2006 | A1 |
20060251017 | Bishop | Nov 2006 | A1 |
20060251021 | Nakano et al. | Nov 2006 | A1 |
20060251107 | Geren et al. | Nov 2006 | A1 |
20060252378 | Bishop | Nov 2006 | A1 |
20060256741 | Nozaki | Nov 2006 | A1 |
20060268746 | Wijting et al. | Nov 2006 | A1 |
20070004404 | Buckley et al. | Jan 2007 | A1 |
20070019609 | Anjum | Jan 2007 | A1 |
20070025244 | Ayyagari et al. | Feb 2007 | A1 |
20070025384 | Ayyagari et al. | Feb 2007 | A1 |
20070025391 | Yonge, III et al. | Feb 2007 | A1 |
20070026794 | Ayyagari et al. | Feb 2007 | A1 |
20070030811 | Frei et al. | Feb 2007 | A1 |
20070053520 | Eckleder | Mar 2007 | A1 |
20070058661 | Chow | Mar 2007 | A1 |
20070058732 | Riedel et al. | Mar 2007 | A1 |
20070060141 | Kangude et al. | Mar 2007 | A1 |
20070097867 | Kneckt et al. | May 2007 | A1 |
20070115973 | Koga et al. | May 2007 | A1 |
20070118730 | Platt | May 2007 | A1 |
20070133388 | Lee et al. | Jun 2007 | A1 |
20070133449 | Schacht et al. | Jun 2007 | A1 |
20070140185 | Garg et al. | Jun 2007 | A1 |
20070147322 | Agrawal et al. | Jun 2007 | A1 |
20070183445 | Kim et al. | Aug 2007 | A1 |
20070189189 | Andrews et al. | Aug 2007 | A1 |
20070220570 | Dawson et al. | Sep 2007 | A1 |
20070254596 | Corson et al. | Nov 2007 | A1 |
20070271398 | Manchester et al. | Nov 2007 | A1 |
20070286074 | Xu | Dec 2007 | A1 |
20070286111 | Corson et al. | Dec 2007 | A1 |
20080002599 | Yau et al. | Jan 2008 | A1 |
20080151820 | Solis et al. | Jun 2008 | A1 |
20080178003 | Eastham et al. | Jul 2008 | A1 |
20080181219 | Chen et al. | Jul 2008 | A1 |
20080186230 | Wengler et al. | Aug 2008 | A1 |
20080192666 | Koskan et al. | Aug 2008 | A1 |
20080212591 | Wu et al. | Sep 2008 | A1 |
20080222447 | Ram et al. | Sep 2008 | A1 |
20080225774 | Kim et al. | Sep 2008 | A1 |
20080247408 | Yoon et al. | Oct 2008 | A1 |
20080267106 | Buddhikot et al. | Oct 2008 | A1 |
20080279126 | Katar et al. | Nov 2008 | A1 |
20080279204 | Pratt, Jr. et al. | Nov 2008 | A1 |
20080298252 | Yonge, III et al. | Dec 2008 | A1 |
20080298590 | Katar et al. | Dec 2008 | A1 |
20080298594 | Yonge, III et al. | Dec 2008 | A1 |
20080301052 | Yonge, III et al. | Dec 2008 | A1 |
20080301446 | Yonge, III et al. | Dec 2008 | A1 |
20080310414 | Yonge, III et al. | Dec 2008 | A1 |
20090010276 | Yonge, III et al. | Jan 2009 | A1 |
20090034552 | Yonge, III et al. | Feb 2009 | A1 |
20090040930 | Yonge, III et al. | Feb 2009 | A1 |
20090067389 | Lee et al. | Mar 2009 | A1 |
20090074007 | Yonge, III et al. | Mar 2009 | A1 |
20090092075 | Corson et al. | Apr 2009 | A1 |
20090097443 | Pasanen et al. | Apr 2009 | A1 |
20090106551 | Boren et al. | Apr 2009 | A1 |
20090116461 | Yonge, III et al. | May 2009 | A1 |
20090119190 | Realini | May 2009 | A1 |
20090147714 | Jain | Jun 2009 | A1 |
20090154487 | Ryan et al. | Jun 2009 | A1 |
20090207769 | Park et al. | Aug 2009 | A1 |
20090311963 | Haverty | Dec 2009 | A1 |
20100014444 | Ghanadan et al. | Jan 2010 | A1 |
20100072715 | Crum | Mar 2010 | A1 |
20100091760 | Yoon | Apr 2010 | A1 |
20100100724 | Kaliski, Jr. | Apr 2010 | A1 |
20100161972 | Staring et al. | Jun 2010 | A1 |
20120072715 | Yonge, Iii et al. | Mar 2012 | A1 |
20130235730 | Yonge, III et al. | Sep 2013 | A1 |
20130272315 | Yonge et al. | Oct 2013 | A1 |
20130287041 | Yonge, III et al. | Oct 2013 | A1 |
Number | Date | Country |
---|---|---|
1748574 | Jan 2007 | EP |
1748597 | Jan 2007 | EP |
1179919 | Jul 2010 | EP |
3107317 | May 1991 | JP |
2002135177 | May 2002 | JP |
2005073240 | Mar 2005 | JP |
WO9634329 | Oct 1996 | WO |
WO9857439 | Dec 1998 | WO |
WO02103943 | Dec 2002 | WO |
03010096 | Feb 2003 | WO |
WO03100996 | Dec 2003 | WO |
WO2004038980 | May 2004 | WO |
Entry |
---|
Afkhamie et al., “An Overview of the upcoming HomePlug AV Standard”, May 2005, IEEE 0-7803-8844-5/05, pp. 400-404. |
European Search Report—EP09178487, Search Authority , Munich Patent Office, Jan. 21, 2010. |
Faure, Jean-Philippe et al., Call for Submissions. Draft Standard for Broadband over Power Line Networks: Medium Access Control and Physical Layer Specifications. Feb. 14, 2007, 4 pages. |
Faure, Jean-Philippe et al., Coexistence/interoperability Cluster, FTR SG Requirements. Draft Standard for Broadband over Power Line Networks: Medium Access Control and Physical Layer Specifications. Feb. 5, 2007 , 13 pages. |
HomePlug Powerline Alliance Inc., “HomePlug AV White Paper,” Doc. Ver. No. HPAVWP-050818, Aug. 2005, pp. 1-11. |
International Search Report and Written Opinion—PCT/US2008/065811, International Searching Authority, European Patent Office, Nov. 25, 2008. |
International Search Report and Written Opinion—PCT/US2008/065831, International Searching Authority, European Patent Office, Feb. 20, 2009, 22 pages. |
Katar et al., “Beacon Schedule Persistence to Mitigate Beacon Loss in HomePlug AV Networks,” May 2006, IEEE 1-4244-0113-05/06, pp. 184-188. |
Lee et al., “HomePlug 1.0 Powerline Communication LANs-Protocol Description and Performance Results version 5.4,” 2000, International Journal of Communication Systems, 2000 00: 1-6, pp. 1-25. |
Loh et al, Quality of Support and priority Management in HomePNA 2.0 Link Layer, IEEE, 6 pages, 2003. |
Notification of First Office Action, the State Intellectual Property Office of the People's Republic of China, issued in Chinese Application No. 200610107587.1, dated Oct. 11, 2010, 6 pages. |
Notification of Reasons for Rejection, Japanese Patent Office, issued in Japanese Patent Application No. 2006-205200, dated Jan. 18, 2011, 3 pages. |
Opera Specification—Part 1: Technology, Open PLC European Research Alliance, 198 pages, 1006. |
Co-pending U.S. Appl. No. 13/113,474, filed May 23, 2011, 32 pages. |
“U.S. Appl. No. 11/970,271 Final Office Action”, Jul. 19, 2011, 21 pages. |
“U.S. Appl. No. 11/970,271 Office Action”, Mar. 9, 2012, 19 pages. |
“U.S. Appl. No. 11/970,271 Office Action”, Oct. 7, 2011, 20 pages. |
“U.S. Appl. No. 11/970,271 Office Action”, Dec. 7, 2010, 21 pages. |
“U.S. Appl. No. 11/970,297 Final Office Action”, Apr. 16, 2012, 32 pages. |
“U.S. Appl. No. 11/970,297 Office Action”, Mar. 30, 2011, 30 pages. |
“U.S. Appl. No. 11/970,297 Office Action”, Sep. 29, 2011, 31 pages. |
“U.S. Appl. No. 11/970,323 Office Action”, Dec. 7, 2010, 12 pages. |
“U.S. Appl. No. 11/971,446 Office Action”, Feb. 15, 2011, 20 pages. |
“U.S. Appl. No. 11/971,446 Final Office Action”, Jul. 1, 2011, 17 pages. |
“U.S. Appl. No. 12/108,334 Final Office Action”, Jun. 14, 2011, 28 pages. |
“U.S. Appl. No. 12/108,334 Office Action”, Feb. 16, 2011, 26 pages. |
“U.S. Appl. No. 12/108,334 Office Action”, Aug. 3, 2010, 20 pages. |
“U.S. Appl. No. 12/133,270 Final Office Action”, Nov. 18, 2011, 23 pages. |
“U.S. Appl. No. 12/133,270 Office Action”, Jun. 3, 2011, 67 pages. |
“U.S. Appl. No. 12/133,301 Final Office Action”, Mar. 22, 2011, 39 pages. |
“U.S. Appl. No. 12/133,301 Office Action”, Sep. 22, 2010, 42 pages. |
“U.S. Appl. No. 12/133,301 Office Action”, Mar. 1, 2012, 38 pages. |
“U.S. Appl. No. 12/133,312 Final Office Action”, Feb. 16, 2011, 24 pages. |
“U.S. Appl. No. 12/133,312 Office Action”, Jun. 8, 2011, 24 pages. |
“U.S. Appl. No. 12/133,312 Office Action”, Jul. 28, 2010, 29 pages. |
“U.S. Appl. No. 12/133,315 Final Office Action”, Jun. 9, 2011, 38 pages. |
“U.S. Appl. No. 12/133,315 Final Office Action”, Jul. 20, 2010, 30 pages. |
“U.S. Appl. No. 12/133,315 Office Action”, Dec. 24, 2009, 28 pages. |
“U.S. Appl. No. 12/133,315 Office Action”, Dec. 28, 2010, 36 pages. |
“U.S. Appl. No. 12/133,325 Final Office Action”, Dec. 9, 2010, 33 pages. |
“U.S. Appl. No. 12/133,325 Office Action”, May 27, 2010, 31 pages. |
“U.S. Appl. No. 12/108,334 Office Action”, Aug. 3, 2012 , 18 pages. |
“U.S. Appl. No. 12/133,315 Office Action”, Aug. 9, 2012 , 37 pages. |
Notification of First Office Action, The State Intellectual Property Office of the People's Republic of China, issued in Chinese Application No. 200880100486.9, Nov. 21, 2012, 11 pages. |
“U.S. Appl. No. 13/303,913 Office Action, Dec. 26, 2012, 37 pages.” |
U.S. Appl. No. 12/133,301 Final Office Action, Sep. 26, 2012, 54 pages. |
Muir, Andrew et al., “An Efficient Packet Sensing MAC Protocol for Wireless Networks”, 20 Pages. |
Co-pending U.S. Appl. No. 13/873,168, filed Apr. 29, 2013, 20 pages. |
“U.S. Appl. No. 131113,474 Office Action”, Jun. 17, 2013 , 10 pages. |
Co-pending U.S. Appl. No. 13/917,394, filed Jun. 13, 2013, 34 pages. |
“U.S. Appl. No. 121133,301 Office Action”, Sep. 25, 2013 , 44 pages. |
“U.S. Appl. No. 13/873,168 Office Action”, Dec. 16, 2013 , 23 pages. |
Co-pending U.S. Appl. No. 13/933,924, filed Jul. 2, 2013, 36 pages. |
“U.S. Appl. No. 12/133,301 Office Action”, Oct. 2, 2014, 34 pages. |
“U.S. Appl. No. 13/303,913 Final Office Action”, Sep. 16, 2014, 8 pages. |
“U.S. Appl. No. 11/971,446 Final Office Action”, Aug. 27, 2014, 21 pages. |
U.S. Appl. No. 11/971,446 Office Action, 19 pages, Feb. 14, 2014. |
“U.S. Appl. No. 12/133,301 Final Office Action”, Apr. 17, 2014, 28 pages. |
“U.S. Appl. No. 13/873,168 Final Office Action”, Jun. 11, 2014, 22 pages. |
“U.S. Appl. No. 12/133,301 Final Office Action”, Mar. 16, 2015, 36 pages. |
“U.S. Appl. No. 13/917,394 Final Office Action”, Feb. 23, 2015, 54 pages. |
“U.S. Appl. No. 13/917,394 Office Action”, Oct. 17, 2014, 49 Pages. |
“U.S. Appl. No. 11/970,297 Office Action”, Jan. 21, 2015 , 38 pages. |
Yonge, III, Lawrence W. et al., “Managing Communications Over a Shared Medium”, Co-pending U.S. Appl. No. 13/933,924, filed Jul. 2, 2013, 36 pages Sep. 18, 2013 , 36 pages. |
“U.S. Appl. No. 13/933,924 Office Action”, Jun. 12, 2015, 18 pages. |
“U.S. Appl. No. 12/133,301 Office Action”, Jul. 1, 2015, 37 pages. |
“U.S. Appl. No. 11/970,297 Final Office Action”, Aug. 27, 2015, 41 pages. |
“U.S. Appl. No. 13/933,924 Final Office Action”, Nov. 10, 2015, 21 pages. |
“U.S. Appl. No. 11/970,297 Office Action”, Mar. 11, 2016, 43 pages. |
“U.S. Appl. No. 12/133,301 Final Office Action”, Feb. 5, 2016, 45 pages. |
Number | Date | Country | |
---|---|---|---|
20080298589 A1 | Dec 2008 | US |
Number | Date | Country | |
---|---|---|---|
60941949 | Jun 2007 | US |