U.S. patent application number 13/408440 was filed with the patent office on 2012-09-06 for method and apparatus for forward error correction (fec) in a resource-constrained network.
Invention is credited to John Peter Norair.
Application Number | 20120226955 13/408440 |
Document ID | / |
Family ID | 46753245 |
Filed Date | 2012-09-06 |
United States Patent
Application |
20120226955 |
Kind Code |
A1 |
Norair; John Peter |
September 6, 2012 |
METHOD AND APPARATUS FOR FORWARD ERROR CORRECTION (FEC) IN A
RESOURCE-CONSTRAINED NETWORK
Abstract
An electronic device may utilize or support adaptive use of
forward error correction (FEC) in a resource-constrained network.
The adaptive FEC use may comprise determining whether use of FEC
encoding in transmissions from another electronic device to the
electronic device is necessary, desirable, and/or feasible, and
when use of FEC encoding is deemed feasible and either necessary or
desirable, instructing the another electronic device to utilize FEC
encoding when transmitting signals destined for the electronic
device. Use of FEC encoding may be determined to be feasible,
necessary and/or desirable based on power loss associated with the
communications from the another electronic device; based on
determination of latency associated with the communications from
the another electronic device; and/or based on power and/or
processing related resources in the electronic device. The
electronic device may separately and selectively apply FEC encoding
to transmissions to the another electronic device.
Inventors: |
Norair; John Peter; (San
Francisco, CA) |
Family ID: |
46753245 |
Appl. No.: |
13/408440 |
Filed: |
February 29, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61464376 |
Mar 2, 2011 |
|
|
|
Current U.S.
Class: |
714/752 ;
714/E11.032 |
Current CPC
Class: |
H04W 52/54 20130101;
H04W 56/001 20130101; H04W 72/0473 20130101; H04W 74/085 20130101;
H04W 74/0808 20130101; H04W 74/0816 20130101; H04L 69/22 20130101;
H04W 48/08 20130101; H04W 72/0446 20130101; H04L 49/555 20130101;
H04W 4/023 20130101; H04W 28/0205 20130101; H04W 52/242 20130101;
Y02D 70/166 20180101; H04L 43/16 20130101; H04W 28/04 20130101;
H04L 1/0083 20130101; H04W 40/023 20130101; H04W 52/36 20130101;
Y02D 70/142 20180101; H04W 52/06 20130101; H04L 43/0847 20130101;
H04W 52/0235 20130101; Y02D 30/70 20200801; H04W 52/243 20130101;
Y02D 70/144 20180101; H04L 1/0061 20130101; H04W 56/002 20130101;
H04L 47/822 20130101; H04W 56/0025 20130101; H04B 17/318 20150115;
H04L 43/0882 20130101; Y02D 70/164 20180101; H04L 47/12 20130101;
H04W 52/245 20130101 |
Class at
Publication: |
714/752 ;
714/E11.032 |
International
Class: |
H03M 13/05 20060101
H03M013/05; G06F 11/10 20060101 G06F011/10 |
Claims
1. A method, comprising: in an electronic device comprising a
communication interface for communicating over a physical medium:
determining whether use of forward error correction (FEC) encoding
in communications from another electronic device to said electronic
device is necessary, desirable, and/or feasible; and when use of
FEC encoding is feasible and either necessary or desirable,
instructing said another electronic device to utilize FEC encoding
when transmitting signals destined for said electronic device.
2. The method of claim 1, comprising determining whether use of FEC
encoding is feasible and either necessary or desirable based on a
determination of power loss associated with said communications
from said another electronic device to said electronic device.
3. The method of claim 2, comprising determining said power loss
based on measurement of received signal strength indication (RSSI)
for packets received from said another electronic device and based
on original transmit power for packets received from said another
electronic device, said original transmit power being obtained from
information embedded in said received packets.
4. The method of claim 2, comprising determining that use of FEC
encoding is not necessary and is not desirable when said power loss
is below a minimum threshold.
5. The method of claim 2, comprising instructing said another
electronic device to cease transmission to said electronic device
when said power loss exceeds a maximum threshold.
6. The method of claim 1, comprising determining when use of FEC
encoding is necessary or desirable based on determination of
latency associated with said communications from said another
electronic device to said electronic device is necessary and/or
feasible.
7. The method of claim 1, comprising determining when use of FEC
encoding is feasible based on one or more parameters that are
pertinent to FEC decoding handling in said electronic device.
8. The method of claim 7, wherein said one or more parameters
comprise power, storage and/or processing related resources in said
electronic device.
9. The method of claim 1, comprising instructing said another
electronic device to utilize FEC encoding by specifying one or more
FEC-capable channels for use by said another electronic device when
transmitting said signals destined for said electronic device.
10. The method of claim 1, comprising selectively applying FEC
encoding to transmissions to said another electronic device,
wherein said selective use of FEC encoding is based on, at least in
part, a determination of whether FEC decoding is feasible in said
another electronic device.
11. A system, comprising: an electronic device comprising a
communication interface for communicating over a physical medium,
said electronic device being operable to: determine whether use of
forward error correction (FEC) encoding in communications from
another electronic device to said electronic device is necessary,
desirable, and/or feasible; and when use of FEC encoding is
feasible and either necessary or desirable, instruct said another
electronic device to utilize FEC encoding when transmitting signals
destined for said electronic device.
12. The system of claim 11, wherein said electronic device is
operable to determine whether use of FEC encoding is feasible and
either necessary or desirable based on a determination of power
loss associated with said communications from said another
electronic device to said electronic device.
13. The system of claim 12, wherein said electronic device is
operable to determine said power loss based on measurement of
received signal strength indication (RSSI) for packets received
from said another electronic device and based on original transmit
power for packets received from said another electronic device,
said original transmit power being obtained from information
embedded in said received packets.
14. The system of claim 12, wherein said electronic device is
operable to determine that use of FEC encoding is not necessary and
is not desirable when said power loss is below a minimum
threshold.
15. The system of claim 12, wherein said electronic device is
operable to instruct said another electronic device to cease
transmission to said electronic device when said power loss exceeds
a maximum threshold.
16. The system of claim 11, wherein said electronic device is
operable to determine when use of FEC encoding is necessary or
desirable based on determination of latency associated with said
communications from said another electronic device to said
electronic device is necessary and/or feasible.
17. The system of claim 11, wherein said electronic device is
operable to determine when use of FEC encoding is feasible based on
one or more parameters that are pertinent to FEC decoding handling
in said electronic device.
18. The system of claim 17, wherein said one or more parameters
comprise power, storage and/or processing related resources in said
electronic device.
19. The system of claim 11, wherein said electronic device is
operable to instruct said another electronic device to utilize FEC
encoding by specifying one or more FEC-capable channels for use by
said another electronic device when transmitting said signals
destined for said electronic device.
20. The system of claim 11, wherein said electronic device is
operable to selectively apply FEC encoding to transmissions to said
another electronic device, wherein said selective use of FEC
encoding is based on, at least in part, a determination of whether
FEC decoding is feasible in said another electronic device.
21. A system, comprising: an electronic device comprising a
communication interface for communicating over a physical medium,
said electronic device being operable to: selectively use forward
error correction (FEC) encoding when communicating with another
electronic device, wherein said selective use of FEC encoding is
based on, at least in part, information received from said another
electronic device, said information specifying one or more channels
that said another electronic device authorized said electronic
device to use when transmitting to said another electronic
device.
22. The system of claim 21, wherein said electronic device is
operable to determine when to apply FEC encoding based on
determination of type of said one or more channels.
23. The system of claim 21, wherein said electronic device is
operable to apply FEC encoding when said determined type of said
one or more channels indicates that said one or more channels are
FEC channels.
24. The system of claim 21, wherein said selective use of FEC
encoding is based on a determination of power loss of signals
communicated between said another electronic device and said
electronic device.
Description
CLAIM OF PRIORITY
[0001] This patent application makes reference to, claims priority
to and claims benefit from U.S. Provisional Application Ser. No.
61/464,376 which was filed on Mar. 2, 2011.
[0002] The above-referenced application is hereby incorporated
herein by reference in its entirety.
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY
REFERENCE
[0003] This patent application also makes reference to:
U.S. Provisional Patent Application Ser. No. 61/464,376 titled
"Advanced Communication System for Wide-Area Low Power Wireless
Applications and Active RFID" and filed on Mar. 2, 2011; U.S.
Provisional Patent Application Ser. No. 61/572,390 titled "System
for Adding Dash7-Based Applications Capability to a Smartphone" and
filed on Jul. 15, 2011; U.S. patent application Ser. No. 13/267,640
titled "Method and Apparatus for Adaptive Searching of Distributed
Datasets" and filed on Oct. 6, 2011; U.S. patent application Ser.
No. 13/267,621 titled "Method and Apparatus for Low-Power,
Long-Range Networking" and filed on Oct. 6, 2011; U.S. patent
application Ser. No. 13/270,802 titled "Method and Apparatus for a
Multi-band, Multi-mode Smartcard" and filed on Oct. 11, 2011; U.S.
patent application Ser. No. 13/270,959 titled "Method and Apparatus
for an Integrated Antenna" and filed on Oct. 11, 2011; U.S. patent
application Ser. No. 13/289,054 titled "Method and Apparatus for
Electronic Payment" and filed on Nov. 4, 2011; U.S. patent
application Ser. No. 13/289,050 filed on Nov. 4, 2011; U.S. patent
application Ser. No. 13/297,348 titled "Method and Apparatus for
Interfacing with a Smartcard" and filed on Nov. 16, 2011; U.S.
patent application Ser. No. 13/354,513 titled "Method and Apparatus
for Memory Management" and filed on Jan. 20, 2012; U.S. patent
application Ser. No. 13/354,615 titled "Method and Apparatus for
Discovering, People, Products, and/or Services via a Localized
Wireless Network" and filed on Jan. 20, 2012; U.S. patent
application Ser. No. 13/396,708 titled "Method and apparatus for
Plug and Play, Networkable ISO 18000-7 Connectivity" and filed on
Feb. 15, 2012; U.S. patent application Ser. No. 13/396,739 titled
"Method and Apparatus for Serving Advertisements in a Low-Power
Wireless Network" and filed on Feb. 15, 2012; U.S. patent
application Ser. No. ______ (Attorney Docket No. 24666US02) titled
"Method and Apparatus for Adaptive Traffic Management in a
Resource-Constrained Network" and filed on Feb. 29, 2012; U.S.
patent application Ser. No. ______ (Attorney Docket No. 24667US02)
titled "Method and Apparatus for Dynamic Media Access Control in a
Multiple Access System" and filed on Feb. 29, 2012; U.S. patent
application Ser. No. ______ (Attorney Docket No. 24668US02) titled
"Method and Apparatus for Rapid Group Synchronization" and filed on
Feb. 29, 2012;
[0004] U.S. patent application Ser. No. ______ (Attorney Docket No.
24669US02) titled "Method and Apparatus for Addressing in a
Resource-Constrained Network" and filed on Feb. 29, 2012;
U.S. patent application Ser. No. ______ (Attorney Docket No.
24670US02) titled "Method and Apparatus for Query-Based Congestion
Control" and filed on Feb. 29, 2012; and U.S. patent application
Ser. No. ______ (Attorney Docket No. 24671US02) titled "Method and
Apparatus for Power Autoscaling in a Resource-Constrained Network"
and filed on Feb. 29, 2012.
[0005] Each of the above stated applications is hereby incorporated
herein by reference in its entirety.
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0006] [Not Applicable].
MICROFICHE/COPYRIGHT REFERENCE
[0007] [Not Applicable].
FIELD OF THE INVENTION
[0008] Certain embodiments of the invention relate to
communications. More specifically, certain embodiments of the
invention relate to a method and an apparatus for forward error
correction (FEC) in a resource-constrained network.
BACKGROUND OF THE INVENTION
[0009] Existing methods for providing error correction may be
unsuitable in resource-constrained networks. Further limitations
and disadvantages of conventional and traditional approaches will
become apparent to one of skill in the art, through comparison of
such systems with some aspects of the present invention as set
forth in the remainder of the present application with reference to
the drawings.
BRIEF SUMMARY OF THE INVENTION
[0010] A system and/or method is provided for forward error
correction (FEC) in a resource-constrained 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.
[0011] These and other advantages, aspects and novel features of
the present invention, as well as details of an illustrated
embodiment thereof, will be more fully understood from the
following description and drawings.
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
[0012] FIG. 1A is a block diagram illustrating an exemplary
communication setup comprising a plurality of
spatially-distributed, resource-constrained devices, which may be
utilized in accordance with an embodiment of the invention.
[0013] FIG. 1B is a block diagram illustrating exemplary electronic
devices utilizing asymmetric and adaptive forward error correction
(FEC) communication, in accordance with an embodiment of the
invention.
[0014] FIG. 2A is a block diagram illustrating an exemplary
electronic device that may support optimized packet filtering, in
accordance with an embodiment of the invention.
[0015] FIG. 2B is a block diagram illustrating exemplary symbol
encoding and decoding modules that enable optional use of forward
error correction (FEC) encoding/decoding, in accordance with an
embodiment of the invention.
[0016] FIG. 3A is a block diagram illustrating exemplary structure
of a physical layer (PHY) packet carrying a data link layer frame,
which may be utilized in accordance with an embodiment of the
invention.
[0017] FIG. 3B is a block diagram illustrating exemplary structure
of a data link layer frame utilized by a requester device in a
resource-constrained network to specify particular channels for
transmitting responses from responder devices, in accordance with
an embodiment of the invention.
[0018] FIG. 4 is a flow chart that illustrates exemplary steps for
performing adaptive configuration and/or use of forward error
correction (FEC), in accordance with an embodiment of the
invention.
DETAILED DESCRIPTION OF THE INVENTION
[0019] Certain embodiments of the invention may be found in a
method and apparatus for forward error correction (FEC) in a
resource-constrained network. In various embodiments of the
invention, an electronic device may implement and/or support
adaptive use of forward error correction (FEC) in a
resource-constrained network. In this regard, the adaptive use of
FEC may comprise determining whether use of FEC encoding in
transmissions from another electronic device to the electronic
device is necessary, desirable, and/or feasible; and when use of
FEC encoding is deemed feasible and either necessary or desirable,
the electronic device instructing the another electronic device to
utilize FEC encoding when transmitting signals destined for the
electronic device. Use of FEC encoding may be determined to be
feasible and either necessary or desirable based on power loss
associated with the communications from the another electronic
device. In this regard, determining or estimating the power loss
may be based on measurement of received signal strength indication
(RSSI) for packets received from the another electronic device and
based on original transmit power for packets received from the
another electronic device, wherein the original transmit power may
be obtained from information embedded in the received packets. Once
the power loss is determined, use of FEC encoding may be determined
to not be necessary and is not desirable when the power loss is
below a minimum threshold. The electronic device may also instruct
the another electronic device to cease transmission to the
electronic device when the power loss exceeds a maximum threshold.
Use of FEC encoding may be determined to be necessary or desirable
based on determination of latency associated with the
communications from the another electronic device to the electronic
device is necessary and/or feasible. Use of FEC encoding may be
determined to be feasible based on one or more parameters that are
pertinent to FEC decoding handling in the electronic device. The
one or more parameters may pertain to, for example, power, storage
and/or processing related resources in the electronic device. The
electronic device may instruct the another electronic device to
utilize FEC encoding by specifying one or more FEC-capable channels
for use by the another electronic device when transmitting the
signals destined for the electronic device. In some instances, the
electronic device may selectively apply FEC encoding to
transmissions to the another electronic device. In this regard,
selective use of FEC encoding for transmissions from the electronic
device to the another electronic device may be based on, at least
in part, a determination of whether FEC decoding is feasible in the
another electronic device.
[0020] As utilized herein, "and/or" means any one or more of the
items in the list joined by "and/or". As an example, "x and/or y"
means any element of the three-element set {(x), (y), (x, y)}. As
another example, "x, y, and/or z" means any element of the
seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y,
z)}.
[0021] FIG. 1A is a block diagram illustrating an exemplary
communication setup comprising a plurality of
spatially-distributed, resource-constrained devices, which may be
utilized in accordance with an embodiment of the invention.
Referring to FIG. 1A there is shown a first device 102, second
devices 104.sub.1-104.sub.16, and perimeters
106.sub.1-106.sub.3.
[0022] The first device 102 may comprise suitable logic, circuitry,
interfaces, and/or code operable to transmit and receive wireless
signals in accordance with one or more wireless protocols.
Exemplary protocols which may be supported by the device 102 may
include the ISO 18000-7 protocol, and protocols described in the
above-incorporated U.S. Provisional Patent Application Ser. No.
61/464,376 and filed on March 2, 2011. The first device 102 may be
a less resource-constrained device. In this regard, the first
device 102 may be, for example and without limitation, a laptop
computer, a desktop computer, a tablet computer, a smart phone, a
server, a set-top box, a gateway, a base station, a meter or code
reader, or may comprise a combination of one or more such
devices.
[0023] Each of the second devices 104.sub.1-104.sub.16 may comprise
suitable logic, circuitry, interfaces, and/or code operable to
transmit and receive wireless signals in accordance with one or
more wireless protocols, which may include the ISO 18000-7
standard, and protocols described in the above-incorporated U.S.
Provisional Patent Application Ser. No. 61/464,376 and filed on
Mar. 2, 2011. Each of the second devices 104.sub.1-104.sub.16 may
be operable to store data (e.g., in the form of delimited strings
of characters). At least some of the second devices
104.sub.1-104.sub.16 may be more resource-constrained devices. In
this regard, one or more of the second devices 104.sub.1-104.sub.16
may have relatively little memory, relatively little processing
energy, operate on battery energy, and/or may otherwise be
constrained in terms of one or more resources. The second devices
104.sub.1-104.sub.16 may comprise, for example, RFID tags,
smartcards, keyfobs, cellphones, portable media players,
appliances, and/or utility meters.
[0024] The second devices 104.sub.1-104.sub.16 may be located at
different distances relative to the first device 102. Accordingly,
the perimeters 106.sub.1-106.sub.3 may represent and/or delineate
different zones of operations for the first device 102. Operating
at each of the perimeters 106.sub.1-106.sub.3 may correspond to,
for example, utilization of a different transmit power by device
102. That is, the device 102 may utilize a first transmit power
T.sub.1 to communicate with devices within the first perimeter
106.sub.1, utilize a second transmit power T.sub.2 to communicate
with devices within the second perimeter 106.sub.2, and utilize a
third transmit power T.sub.3 to communicate with devices within the
third perimeter 106.sub.3, wherein
T.sub.3>T.sub.2>T.sub.1.
[0025] In operation, the device 102 may communicate one or more of
the devices 104.sub.1-104.sub.16. In this regard, communications
among the devices 102 and 104.sub.1-104.sub.16 may be based on the
ISO 18000-7 protocol, and/or similar protocols such as the
protocols described in the above-incorporated U.S. Provisional
Patent Application Ser. No. 61/464,376 and filed on Mar. 2, 2011.
Use of such protocols may be used for low-power, long range
communication, such as to enable RFID and like exchanges among the
devices 102 and 104.sub.1-104.sub.16. For example, at the 433 MHz
band, low power communication based on such protocols may be in the
range of 1-2000 m.
[0026] In an exemplary aspect of invention, electronic devices,
such as devices 102 and 104.sub.1-104.sub.16, may be operable to
implement and/or support use of forward error correction (FEC)
during communications therebetween. In this regard, forward error
correction (FEC) may be utilized for detecting, controlling and
correcting errors during data transmissions, especially when the
data transmissions are over unreliable or noisy communication
channels. In various embodiments of the invention, use of FEC in
communications among devices in a resource-constrained network,
such as devices 102 and 104.sub.1-104.sub.16 for example, may be
performed in an adaptive and/or intelligent manner, to enable
selective and/or configurable use of FEC such that power
consumption and/or resource utilization may be optimized. In this
regard, various aspects of adaptive FEC implementation(s) described
herein may allow for reducing power consumption and/or resource
utilization associated with use of FEC-based communication by
utilizing FEC selectively and/or independently, in each direction
(i.e., in each direction of communication between two devices)
and/or by each device (i.e., devices determining when and/or how to
use FEC).
[0027] FIG. 1B is a block diagram illustrating exemplary electronic
devices utilizing asymmetric and adaptive forward error correction
(FEC) communication, in accordance with an embodiment of the
invention. Referring to FIG. 1B, there is shown a requesting device
and a responding device engaged in communication in which forward
error correction (FEC) may be used adaptively and/or
asymmetrically. The requesting device and the responding device may
correspond to devices 102 and 104.sub.2, respectively, of FIG. 1A,
for example.
[0028] In operation, devices in a resource-constrained network,
such as devices 102 and 104.sub.2 for example, may be operable to
utilize forward error correction (FEC) during communications
therebetween. In this regard, forward error correction (FEC) may be
utilized in encoding messages communicated between the devices in a
manner that enables detecting and correcting errors occurring
during data transmission over unreliable or noisy communication
channels. In particular, FEC encoding utilizes redundancy of data
to enable the receiving device to detect a particular number of
errors which may occur anywhere in the message, and to correct
these errors without requiring retransmission by the sending
device.
[0029] In various embodiments of the invention, devices in a
resource-constrained network, such as devices 102 and 104.sub.2 for
example, may implement and/or support use of forward error
correction (FEC) adaptively and/or intelligently. The adaptive
and/or intelligent use and/or configuration of FEC during
communications among devices 102 and 104.sub.2 may enable
optimizing power consumption and/or resource utilization in the
devices and/or the network, and/or may be tailored to the
conditions of the network or devices, and changes thereof. In this
regard, various aspects of FEC used in communications by devices
102 and/or 104.sub.2 may be adaptively and/or selectively
configured or adjusted based on power and/or resource requirement
and/or availability. In one aspect, for example, FEC may be
implemented in an asymmetrical manner--that is during
communications between two devices, FEC may be applied in one
direction (e.g., in communication 150.sub.A from device 104.sub.2
to device 102) but not in the opposite direction (e.g., in
communication 150.sub.13 from device 102 to device 104.sub.2). In
this regard, determining when and/or how to implement such
asymmetry in use of FEC may be based on a determination of
availability of power and/or resources in the devices, and may take
advantage of differences in the nature of FEC encoding and
decoding--that is, for example, the fact that FEC encoding may
generally require little power and/or resources, whereas FEC
decoding may generally be power and/or resource intensive. For
example, because device 102, being a less-constrained device
(generally having more power and/or resources than devices
104.sub.1-104.sub.16, which may be more-constrained devices), FEC
may be applied in communications from device(s) 104.sub.x to device
102, but not applied in communication from device 102 to device(s)
104.sub.x. That is, only less-resource-intensive encoding
operations may be performed in more resource-constrained device(s)
104.sub.x while more-resource-intensive decoding operations are
performed in less resource-constrained device 102.
[0030] Another aspect of the FEC scheme used in accordance with
aspects of the present invention is the intelligent managing and/or
configuring of FEC operations. In this regard, devices 102 and
104.sub.2 may selectively and/or variably determine when to use (or
not use) FEC during communications among these devices.
Furthermore, the determination of when and/or how to apply or use
FEC may be done separately in each of the requesting and responding
devices. In this regard, at the requester-side, the requesting
device may consider many factors when deciding when to use FEC,
and/or on what channel to request a response. The selection of the
channel may be relevant in instances where available channels may
comprise both FEC channels (i.e. channels allowing for and/or
incorporating use of FEC) and non-FEC channels. The requesting
device may determine whether FEC is desirable or necessary based
on, for example, a determination of loss of power (or power
dissipation) occurring during communication between the devices. In
this regard, determination of loss of power may be based on local
power measurement of received signals (e.g., received signal
strength indication, or RSSI) and a determination of original
transmit power of received signals. The requesting device may also
base the decision on its own power consumption and available
resources. In this regard, when the requesting device determines
that it has sufficient power and/or available resources (e.g.,
memory and/or processor time) for FEC decoding, the requesting
device may instruct a (responding) device to respond on an FEC
channel; but if the requesting device determines that it does not
have sufficient power or available resources to perform FEC
decoding, the requesting device may instruct that responses be on a
non-FEC channel. The requesting device can instruct responses on
FEC channels or not, based on, for example, latency requirements of
the packets to be communicated. The requesting device can also
decide whether or not FEC is used based on the type of device with
which the requesting device wants to communicate (e.g., whether the
requesting device wants responses from base stations, controllers,
endpoints, and/or blinkers).
[0031] At the responder side, a responding device may consider many
factors pertinent to that device in determining whether or not to
use FEC for a particular transmission. For example, a responding
device may determine whether to use FEC for a particular
transmission based, at least in part, on the channel on which the
endpoint has been instructed to respond--e.g., whether the channel
is a FEC channel or a non-FEC channel. The determination of whether
(or not) to use FEC may also be based on loss-of-power measurements
associated with signals received from the requesting devices--such
as, for example, by subtracting local power measurement of received
signals from original transmit power for these signals. For
example, when power measurements indicate little dissipation during
communication from the requesting device to the responding device,
the responding device may forgo use of FEC in transmissions to the
requesting device; when power measurements indicate medium
dissipation, the responding device may use FEC in transmissions to
the requesting device; and when power measurements indicate high
dissipation, the responding device may choose to not respond.
[0032] In an embodiment of the invention, prior to applying FEC to
communications between two devices, one of the devices (e.g., the
requesting device) may send to the other device (e.g. the
responding device) one or more messages to query and/or interrogate
the another device before determining when and/or how to apply FEC
to any communications to that device. In this regard, such
interrogation may pertain to the other device's characteristics
and/or capabilities (e.g. to determine if the other device can
handle FEC decoding for example). For example, the device 102 may
interrogate the device 104.sub.2, such as to determine its type
and/or its processing or storage capabilities, and may not apply
FEC encoding in transmissions to the device 104.sub.2 in certain
conditions as determined by such interrogative interactions (e.g.,
when device 104.sub.2 is determined to be a simple RFID tag, which
typically lacks the sufficient processing and/or storage
capabilities required for performing FEC decoding). Furthermore,
such interrogative interactions may also allow one or both of the
devices to estimate the distance therebetween, such as by
calculation of power dissipation occurring during communication
therebetween, and/or to estimate latency encountered on the link
therebetween.
[0033] FIG. 2A is a block diagram illustrating an exemplary
electronic device that may support optimized packet filtering, in
accordance with an embodiment of the invention. Referring to FIG.
2A there is shown an electronic device 200.
[0034] The electronic device 200 may be similar to the electronic
devices 102 and/or 104.sub.x of FIG. 1A, and may comprise suitable
logic, circuitry, interfaces, and/or code that may be operable to
implement various aspects of the invention. The electronic device
200 may comprise, for example, a host processor 202, a system
memory 204, a signal processing module 206, a transmit front-end
(FE) 210, a transmission antenna 220, a plurality of receive
front-end (FE) 212.sub.A-212.sub.N, and plurality of reception
antennas 222.sub.A-222.sub.N.
[0035] The host processor 202 may comprise suitable logic,
circuitry, interfaces, and/or code that may be operable to process
data, and/or control and/or manage operations of the electronic
device 200, and/or tasks and/or applications performed therein. In
this regard, the host processor 202 may be operable to configure
and/or control operations of various components and/or subsystems
of the electronic device 200, by utilizing, for example, one or
more control signals. The host processor 202 may enable execution
of applications, programs and/or code, which may be stored in the
system memory 204, for example.
[0036] The system memory 204 may comprise suitable logic,
circuitry, interfaces, and/or code that may enable permanent and/or
non-permanent storage, buffering, and/or fetching of data, code
and/or other information, which may be used, consumed, and/or
processed in the electronic device 200. In this regard, the system
memory 204 may comprise different memory technologies, including,
for example, read-only memory (ROM), random access memory (RAM),
Flash memory, solid-state drive (SSD), and/or field-programmable
gate array (FPGA). The system memory 204 may store, for example,
configuration data, which may comprise parameters and/or code,
comprising software and/or firmware.
[0037] The signal processing module 206 may comprise suitable
logic, circuitry, interfaces, and/or code for enabling processing
of signals transmitted and/or received by the electronic device
200. The signal processing module 206 may be operable to perform
such signal processing operation as filtering, amplification,
up-convert/down-convert baseband signals, analog-to-digital
conversion and/or digital-to-analog conversion, encoding/decoding,
encryption/decryption, and/or modulation/demodulation. The signal
processing module 206 may be operable and/or configured to support
low-power wireless protocol, such as ISO 18000-7, protocols
described in above-incorporated U.S. Provisional Patent Application
No. 61/464,376, and/or similar related protocols.
[0038] The transmit FE 210 may comprise suitable logic, circuitry,
interfaces, and/or code that may be operable to perform wireless
transmission, such as over a plurality of supported RF bands. The
transmit FE 210 may enable, for example, performing wireless
communications of RF signals via the transmission antenna 220. In
this regard, the transmission antenna 220 may comprise suitable
logic, circuitry, interfaces, and/or code that may enable
transmission of wireless signals within certain bandwidths and/or
based on certain protocols. For example, one or more of the
transmission antenna 220 may enable transmission over the 433 MHz
band, which may be suitable for ISM communication based on, for
example, ISO 18000-7, protocols described in above-incorporated
U.S. Provisional Patent Application No. 61/464,376, and/or similar
related protocols.
[0039] Each of the plurality of receive FEs 212.sub.A-212.sub.N may
comprise suitable logic, circuitry, interfaces, and/or code that
may be operable to perform wireless reception, such as over a
plurality of supported RF bands. Each of the plurality of receive
FEs 212.sub.A-212.sub.N may enable, for example, performing
wireless communications of RF signals via corresponding one of the
plurality of reception antennas 222.sub.A-222.sub.N. Each of the
plurality of reception antennas 222.sub.A-222.sub.N may comprise
suitable logic, circuitry, interfaces, and/or code that may enable
reception of wireless signals within certain bandwidths and/or
based on certain protocols. For example, one or more of the
plurality of reception antennas 222.sub.A-222.sub.N may enable
reception of signals communicated over different channels within
the 433 MHz band, which may be suitable for ISM communication based
on, for example, ISO 18000-7, protocols described in
above-incorporated U.S. Provisional Patent Application No.
61/464,376, and/or similar related protocols.
[0040] In various embodiments of the invention, the electronic
device 200 may be operable to support and/or implement adaptive
and/or selective use of forward error correction. In this regard,
the electronic device may be configured to selectively use FEC
encoding during signal transmissions operations and/or to
selectively handle FEC decoding during signal reception operations.
A particular, non-limiting embodiment for providing and/or
supporting adaptive and/or selective FEC encoding and/or decoding
is described in more detail with reference to FIG. 2B, below.
[0041] FIG. 2B is a block diagram illustrating exemplary symbol
encoding and decoding modules that enable optional use of forward
error correction (FEC) encoding/decoding, in accordance with an
embodiment of the invention. Referring to FIG. 2B, there is shown
symbol encoding module 250 and symbol decoding module 270.
[0042] The symbol encoding module 250 and/or the symbol decoding
module 270 may be integrated into an electronic device, such as
electronic device 200, to enable performing data encoding and/or
decoding during communications to and/or from the electronic
device. In this regard, the symbol encoding module 250 and/or the
symbol decoding module 270 may be implemented as separate, stand
alone physical components. Alternatively, the symbol encoding
module 250 and/or the symbol decoding module 270 may comprise
logical components, with functions and/or operations thereof being
performed by existing components of the electronic device 200, such
as signal processing module 206, the transmit FE 210, and/or one or
more of the receive FEs 212.sub.A-212.sub.N.
[0043] The symbol encoding module 250 may comprise suitable logic,
circuitry, interfaces, and/or code to encode data communicated via
signals transmitted by an electronic device (e.g., electronic
device 200). In this regard, messages transmitted or received over
channels implemented in accordance with aspects of the present
invention may comprise binary symbols corresponding to data carried
thereby. The symbols may be encoded based on one or more methods
supported by the electronic device 200, which may be specific to
particular protocol(s), such as, for example, encoding methods
specified for the ISO 18000-7 protocol, and/or similar protocols
such as the protocols described in the above-incorporated U.S.
Provisional Patent Application Ser. No. 61/464,376 and filed on
Mar. 2, 2011. For example, the symbol encoding module 250 may be
operable to support and/or apply two different encoding methods,
the first being pseudo-random number 9-bit (PN9) encoding, and the
second being forward error correction (FEC) encoding. In an
embodiment of the invention, the symbol encoding module 250 may be
operable to apply PN9 encoding as a mandatory first encoding stage,
and to optionally apply FEC encoding as a second encoding stage.
The symbol encoding module 250 may comprise, for example, a PN9
encoder 252, a demultiplexer (DEMUX) 254, and a FEC encoder
256.
[0044] The PN9 encoder 252 may comprise suitable logic, circuitry,
interfaces, and/or code to perform PN9 encoding. In this regard,
PN9 encoding is a "data whitening" encoding scheme, in which input
data may be encoded to resemble white noise. The PN9 encoding is a
full-rate, statistically DC-free encoding that offers no encoding
gain. PN9 encoding (and similarly PN9 decoding) may comprise use of
a Linear Feedback Shift Register (LFSR) and a seed polynomial to
produce a predictable sequence of pseudo-random values, which may
be XOR'ed with the datastream (e.g., the input data) to generate
corresponding encoded data. The seed polynomial may be initialized
to the value:
x.sup.8+x.sup.7+x.sup.6+x.sup.5+x.sup.4+x.sup.3+x.sup.2+x.sup.1+x.sup.0.
[0045] The DEMUX 254 may comprise suitable logic, circuitry,
interfaces and/or code operable to select an output corresponding
to a particular input from a plurality of outputs--that is to route
an input to one of a plurality of possible outputs--based on one or
more control signals.
[0046] The FEC encoder 256 may comprise suitable logic, circuitry,
interfaces, and/or code to perform FEC encoding. The FEC encoder
256 may implement FEC encoding via a first step 256.sub.A, which
applies a computation (e.g., non-recursive) of convolutional code.
The convolutional code may be, for example, a 1/2 rate
convolutional code, using a specific algorithm of a particular
constraint length (e.g., 4). The first, convolutional computation
step 256.sub.A may be followed by a second, interleaver step 256B,
which may apply interleaving computation, for example, a 4.times.4
matrix interleaver. U.S. Provisional Patent Application No.
61/464,376 provides more details on an exemplary FEC encoding using
convolutional computation and interleaving. Use of FEC encoding may
enable improving bit error rates in particular situations, such as
in mid-to-low signal-to-noise ratio (SNR) environments, and less-so
to improve decodability near the SNR limit (i.e., near the limit of
communications range).
[0047] The symbol decoding module 270 may comprise suitable logic,
circuitry, interfaces, and/or code to decode data obtained from
signals received by an electronic device (e.g., electronic device
200). In this regard, the symbol decoding module 270 may be
operable to decode encoded binary symbols corresponding to data
carried in the received signals. In an exemplary aspect of the
invention, the symbol may be encoded using PN9 encoding, and
optionally, using FEC encoding as a second level encoding to
already PN9 encoded data. The symbol decoding module 270 may
comprise, for example, a demultiplexer (DEMUX) 272, a FEC decoder
274, and a PN9 decoder 276.
[0048] The DEMUX 272 may comprise suitable logic, circuitry,
interfaces and/or code operable to select an output corresponding
to a particular input from a plurality of outputs--that is to route
an input to one of a plurality of possible outputs--based on one or
more control signals.
[0049] The FEC decoder 274 may comprise suitable logic, circuitry,
interfaces, and/or code to perform FEC decoding. The FEC decoder
274 may implement FEC decoding via a first de-interleaving step
274.sub.A, which may apply interleaving computation, followed by a
second, convolutional computation step 274.sub.B. In other words,
the operations of the FEC decoder 274 minors and/or reverse the
operation of the FEC encoder 256. U.S. Provisional Patent
Application No. 61/464,376 provides more details on an exemplary
FEC encoding using convolutional computation and interleaving. The
operations of the FEC decoder 274 may be more power and/or resource
intensive than that of the FEC encoder 256, however. This may be
because the computations of FEC encoder 256 may, for example,
simply entail use of lookup tables whereas FEC decoder 274 may
require use of actual, and complex mathematical calculations.
[0050] The PN9 decoder 276 may comprise suitable logic, circuitry,
interfaces, and/or code to perform PN9 decoding. In this regard,
PN9 decoding may enable extracting original data from corresponding
PN9 encoded data. The PN9 decoder 274 may utilize a Linear Feedback
Shift Register (LFSR) and a seed polynomial--e.g., the same
polynomial used in PN9 encoding, to generate a sequence of
pseudo-random values, which may be XOR'ed with the PN9 encoded data
to enable generating the corresponding, original non-encoded
data.
[0051] In operation, the symbol encoding module 250 may encode data
communicated via signals transmitted by electronic device 200. In
this regard, the symbol encoding module 250 may enable generating
encoded symbols that are included in messages transmitted by the
electronic device 200. The symbols may be encoded based on one or
more methods supported by the electronic device 200. For example,
the symbol encoding module 250 may encode data using encoding
methods specific to particular supported protocol(s), such as the
ISO 18000-7 protocol, and/or similar protocols such as the
protocols described in the above-incorporated U.S. Provisional
Patent Application Ser. No. 61/464,376 and filed on Mar. 2, 2011.
In this regard, the symbol encoding module 250 applies PN9 encoding
to input data, via PN9 encoder 252. The PN9 encoding may be
mandatory, and may be applied to all data being written into
messages transmitted by the electronic device 200. In an embodiment
of the invention, the symbol encoding module 250 may also
optionally apply FEC encoding as a second encoding stage to already
PN9 encoded data. For example, the DEMUX 254 may be utilized to
selectively apply or bypass FEC encoding after completion of PN9
encoding via the PN9 encoder 252. The selection performed via the
DEMUX 254 may be controlled using a control signal: ENC_Select. In
this regard, when the ENC_Select signal is asserted, the DEMUX 254
may route the input, corresponding to PN9 encoded data, to the FEC
encoder 256, to apply FEC encoding thereto as a second stage
encoding, thus the encoded output would be both PN9 and FEC
encoded. On the other hand, when the ENC_Select signal is
deasserted, the DEMUX 254 may route the input, corresponding to PN9
encoded data, directly to the output of the symbol encoding module
250, thus bypassing the FEC encoder 256, and resulting in the
encoded output being only both PN9 encoded.
[0052] The symbol decoding module 270 may decode data carried in
signals received by the electronic device 200. In this regard, the
symbol decoding module 270 may enable decoding encoded symbols that
are carried in messages received by the electronic device 200. The
symbols may be encoded in accordance with methods supported by the
electronic device 200. For example, the symbol decoding module 270
may support PN9 decoding and FEC decoding. In this regard, the
symbol decoding module 270 may apply PN9 decoding, via the PN9
decoder 276, to all received data, and may optionally apply FEC
decoding, via the FEC decoder 274, as a first decoding stage in
some conditions. For example, the DEMUX 272 may be utilized to
selectively apply or bypass FEC decoding, via FEC decoder 274,
prior to applying PN9 decoding via the PN9 decoder 276. The
selection performed via the DEMUX 272 may be controlled using a
control signal: DEC_Select. In this regard, when the DEC_Select
signal is asserted, the DEMUX 272 may route the encoded input,
obtained from received signals, to the FEC decoder 274, to apply
FEC decoding thereto as a first decoding stage, to obtain PN9
(only) encoded data, which may then be PN9 decoded via the PN9
decoder 276. On the other hand, when the ENC_Select signal is
deasserted, the DEMUX 272 may route the encoded input,
corresponding to PN9 (only) decoded data, directly to the PN9
decoder 276, thus bypassing the FEC decoder 274.
[0053] The optional FEC encoding and/or decoding, performed via the
symbol encoding module 250 and the symbol decoding module 270,
respectively, may be performed in accordance with adaptive and/or
intelligent FEC use policies applied by the electronic device 200.
In this regard, determining when to apply FEC encoding (by
asserting ENC_Select signal) or to apply FEC decoding (by asserting
DEC_Select signal) may be based on various factors, such as, for
example, power consumption and/or requirement, resource use and/or
availability, and/or communication conditions (e.g., power loss,
latency, reliability, etc.). For example, FEC decoding may be
turned off by deasserting the DEC_Select signals. This may further
require instructing peer device(s) to not apply FEC encoding to
messages (or signals) being sent to the electronic device. Also,
use of FEC encoding and decoding may be asymmetric--i.e., the
electronic device 200 may apply FEC encoding to transmitted
messages while, during the same time period, not applying FEC
decoding to received messages. Furthermore, the electronic device
200 may dynamically switch on/off FEC decoding or encoding.
Determination as to when to use FEC encoding and/or decoding,
and/or any changes thereto, may necessitate interactions with peer
device(s) to coordinate any changes to use of FEC in either
direction--i.e., from and/or to the electronic device 200.
[0054] In an embodiment of the invention, various FEC management
profiles may be utilized to control and/or configure use of FEC
during communications in an electronic device. In this regard, FEC
management profiles may specify different information for
controlling and/or determining when FEC use may be enabled and/or
disabled, and whether to do so separately when transmitting (i.e.,
encoding) and when receiving (i.e., decoding). The FEC management
profiles may specify, for example, parameters (e.g. thresholds)
pertaining to power consumption and/or requirement, resource use
and/or availability, and/or communication related conditions (e.g.,
power loss, latency, reliability, etc.). The FEC management
profiles may be maintained, for example, by the host processor 202,
and/or may be updated and/or modified thereby. The invention,
however, need not be so limited.
[0055] FIG. 3A is a block diagram illustrating exemplary structure
of a physical layer (PHY) packet carrying a data link layer frame,
which may be utilized in accordance with an embodiment of the
invention. Referring to FIG. 3A, there is shown an exemplary
physical layer (PHY) packet 300 carrying a data link layer (DLL)
frame 310, which may be structured in accordance with wireless
protocols utilized by electronic devices that implement various
aspects of the invention. Cross-referenced U.S. application Ser.
No. ______ (Attorney Docket Number 24667US02), filed on Feb. 29,
2012, and cross-referenced U.S. application Ser. No. ______
(Attorney Docket Number 24669US02), filed on Feb. 29, 2012 provide
more details on the structures of exemplary PHY packets and/or data
link layer frames.
[0056] The data link layer (DLL) frames 310 carried in PHY packets
300 may comprise a length field, indicating the length of the DLL
frame, a header and a footer, providing information pertaining to
the frame and/or handling thereof, and a payload field. The DLL
frame 310 may also comprise a cyclic redundancy check (CRC) field.
The header may comprise, inter alia, a transmit equivalent
isotropic radiated power (TxEIRP) field 320, which may indicate the
original transmit power applied by the transmitting device in
transmitting the packet (or frame). In other words, the TxEIRP
field 320 embedded in the frame header may provide a device
receiving PHY packet 300 with information pertaining to the
transmit power applied by the transmitting device, enabling the
receiving device to precisely determine the original transmit power
for received signals being handled by the receiving device.
[0057] In various embodiments of the invention, the TxEIRP field
320 may be utilized to enable devices engaged in communication in
which FEC may optionally be used, such as devices 102 and
104.sub.2, to determine power dissipation associated with
communication therebetween. In this regard, the device may locally
measure the power of received packets, such as, for example, in the
form of received signal strength indication (RSSI), and use the
measured RSSI and the TxEIRP field 320 to estimate the power loss
associated with communication of packets between the devices--e.g.,
by determining the difference between the original transmission
power and locally measure reception power. This power loss may
correspond to power dissipation. The power dissipation may then be
used in determining whether to use forward error correction (FEC).
In this regard, when power dissipation is less than a minimum
threshold, PL.sub.min, FEC use may be unnecessary and/or
undesirable since this may indicate that the devices are
sufficiently close so that no error correction would be needed.
When the power dissipation exceeds the minimum threshold,
PL.sub.min, FEC use may be determined to be necessary and/or
desirable since this may indicate that the devices are not
sufficiently close so that error correction would likely improve
reliability of the communications. Furthermore, in some instance,
it may be determined whether power dissipation exceeds a maximum
threshold, PL.sub.max, which may result in suspending communication
since this may indicate that the devices are too far apart that FEC
may be insufficient in guarding against errors during
communication.
[0058] The power dissipation thresholds (PL.sub.min and PL.sub.max)
may be configurable. In this regard, various FEC management
profiles may be utilized, and these profiles may specify different
thresholds for enabling/disabling FEC use, and/or for suspending
communications between the devices.
[0059] FIG. 3B is a block diagram illustrating exemplary structure
of a data link frame utilized by a requester device in a
resource-constrained network to specify particular channels for
transmitting responses from responder devices, in accordance with
an embodiment of the invention. Referring to FIG. 3B, there is
shown an exemplary mode 2 network protocol (M2NP) PDU 340 carrying
therein a mode 2 query protocol (M2QP) command 350, which may be
structured in accordance with the present invention.
Cross-referenced U.S. application Ser. No. ______ (Attorney Docket
Number 24667US02), filed on Feb. 29, 2012, and cross-referenced
U.S. application Ser. No. ______ (Attorney Docket Number
24669US02), filed on Feb. 29, 2012 provide more details on M2NP
PDUs and/or the M2QP commands.
[0060] The M2QP command 350 may be structured based on the concept
of "request and response," with the "command" being the operator of
requests and the result returned by responses--that is a requesting
device may communicate the M2QP command 350 to trigger responses
from certain devices receiving the command (i.e., responding
devices) under particular conditions. The M2QP command 350 may
comprise a command code field, a command extension field, a dialog
template 360, one or more other (optional) templates, and command
data field. The various fields and/or elements of the M2QP command
350 are described in more details in the above-incorporated U.S.
Provisional Patent Application Ser. No. 61/464,376 and filed on
Mar. 2, 2011.
[0061] The dialog template 360 may comprise information that
specifies channels that may be utilized in transmitting responses.
In other words, the requesting device (e.g., device 102) sending
the M2QP command 350 to responding devices (e.g., device 104.sub.2)
may use the dialog template 360 to specify channels that the
responding devices are authorized to use when transmitting
responses to the requesting device. In this regard, the dialog
template 360 may comprise a response timeout field 360.sub.A, a
response channel list length field 360.sub.B, and a list of
response channels 360.sub.C. The timeout field 360.sub.A may
specify a timeout value, after the expiration of which the
requesting device that issued the request will cease listening for
a response on any of the channels. The response channel list length
field 360.sub.B may specify the length of the list of response
channels 360.sub.C--that is the number of channels listed as valid
channels for use by the responding device(s). The response channel
list length field 360.sub.B may be set to 0 (zero), in which case a
single response channel is implicitly configured to the same
channel used by the request. Alternatively, command parameters,
such as a specific command value, command extension, and/or other
M2QP bit-fields may be used as another way to declare that the
response channel list is of zero (0) length, and that the same
channel shall be used in the response as in the request. The list
of response channels 360.sub.C may comprise one or more channel
identifiers 362.sub.1-362.sub.N.
[0062] In an embodiment of the invention, the dialog template 360
may be utilized to enable a device (requesting device--e.g. device
102) to specify to another, peer device (the responding
device--e.g. device 104.sub.2) the type of channels (FEC vs.
non-FEC) that may be used by the responding device when sending
responses to the requesting device. In this regard, channel
identifiers in the list of response channels 360.sub.C may
correspond to FEC and non-FEC channels. FEC and non-FEC channels
may be physically different--i.e. only some channels may allow for,
and support use of FEC encoding in messages communicated therein.
Additionally or alternatively, the distinction between FEC and
non-FEC channels may be a logical concept. In other words, each
channel may be configured to allow (or not allow) use of FEC
encoding such that each physical channel may have two logical
channel IDs: one being FEC capable and the other being non-FEC.
Accordingly, a physical channel may be configured to either use or
not use FEC based on the channel identifiers associated with that
physical channel is specified.
[0063] FIG. 4 is a flow chart that illustrates exemplary steps for
performing adaptive configuration and/or use of forward error
correction (FEC), in accordance with an embodiment of the
invention. Referring to FIG. 4, there is shown a flow chart 400
comprising a plurality of exemplary steps for performing adaptive
forward error correction in an electronic device, such as
electronic device 200, during communications in a
resource-constrained network.
[0064] In step 402, an analysis of whether use of FEC encoding for
responses sent from the responding device is necessary and/or
desirable may be performed. In this regard, the analysis may be
based on various factors and/or conditions which may be pertinent
to, and/or may necessitate, use (or no use) of FEC encoding. For
example, the FEC use analysis may be based on latency and/or loss
of power associated with the communication from the responding
device to the requesting device. In step 404, a determination of
whether to use FEC encoding by the responding device (based on the
analysis of step 402) may be performed. In instances where it may
be determined to use FEC encoding by the responding device, the
process may proceed to step 406. In step 406, the requesting device
may instruct the responding device to not use FEC encoding when
responding (e.g., by specifying non-FEC capable channels).
[0065] Returning to step 404, in instances where it may be
determined that the responding device use FEC encoding, the process
may proceed to step 408. In step 408, an analysis of whether
handling of FEC encoded responses sent from the responding device
is feasible may be performed--i.e., whether the requesting device
can handle FEC decoding. In this regard, the analysis may be based
on various factors and/or conditions which may be pertinent to the
ability of the requesting device to handle FEC decoding. This may
comprise, for example, required and/or available power or other
resources (e.g. processing or storage resources). In step 410, a
determination of whether handling of FEC decoding by the requesting
device is feasible (based on the analysis of step 408) may be
performed. In instances where it may be determined that handling of
FEC decoding by the requesting device is not feasible the process
may proceed to step 406.
[0066] Returning to step 410, in instances where it may be
determined that use of FEC encoding by the responding device may be
necessary and/or desirable, the process may proceed to step 412. In
step 412, the requesting device may instruct the responding device
to use FEC encoding when responding (e.g., by specifying FEC
capable channels).
[0067] Other embodiments of the invention may provide a
non-transitory computer readable medium and/or storage medium,
and/or a non-transitory machine readable medium and/or storage
medium, having stored thereon, a machine code and/or a computer
program having at least one code section executable by a machine
and/or a computer, thereby causing the machine and/or computer to
perform the steps as described herein for forward error correction
(FEC) in a resource-constrained network.
[0068] Accordingly, the present invention may be realized in
hardware, software, or a combination of hardware and software. The
present invention may be realized in a centralized fashion in at
least one computer system, or in a distributed fashion where
different elements are spread across several interconnected
computer systems. Any kind of computer system or other apparatus
adapted for carrying out the methods described herein is suited. A
typical combination of hardware and software may be a
general-purpose computer system with a computer program that, when
being loaded and executed, controls the computer system such that
it carries out the methods described herein.
[0069] The present invention may also be embedded in a computer
program product, which comprises all the features enabling the
implementation of the methods described herein, and which when
loaded in a computer system is able to carry out these methods.
Computer program in the present context means any expression, in
any language, code or notation, of a set of instructions intended
to cause a system having an information processing capability to
perform a particular function either directly or after either or
both of the following: a) conversion to another language, code or
notation; b) reproduction in a different material form.
[0070] While the present invention has been described with
reference to certain embodiments, it will be understood by those
skilled in the art that various changes may be made and equivalents
may be substituted without departing from the scope of the present
invention. In addition, many modifications may be made to adapt a
particular situation or material to the teachings of the present
invention without departing from its scope. Therefore, it is
intended that the present invention not be limited to the
particular embodiment disclosed, but that the present invention
will include all embodiments falling within the scope of the
appended claims.
* * * * *