Method And Apparatus For Forward Error Correction (fec) In A Resource-constrained Network

Norair; John Peter

Patent Application Summary

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 Number20120226955 13/408440
Document ID /
Family ID46753245
Filed Date2012-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.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed