Net-Layer Parsing and Resynchronization

-

A system, apparatus and method to provide NET layer parsing and resynchronization in a physically segmented downhole network are described herein.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional application of provisional application 60/766,875, filed Feb. 16, 2006, entitled “Physically Segmented Logical Token Network” and provisional application 60/775,152, filed Feb. 21, 2006, entitled “Node Discovery in Physically Segmented Logical Token Network”, and claims priority from both provisional applications. Both of the above referenced provisional patent applications are hereby incorporated by reference herein for all they disclose.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Embodiments of the present invention relate to the fields of data processing and data communication. More specifically, embodiments of the present invention relate to methods and apparatus for increasing data available for parsing, recovery, and resynchronization upon detection of data corruption in a downhole networking environment.

2. Description of the Related Art

Advances in data processing and data communication technologies have led to the development of a wide variety of data communication arrangements, including but not limited to various on-chip, on-board and system buses, as well as local and wide area networks. These data communication arrangements are deployed in a wide range of applications, including but not limited data communications in harsh environments, such as oil and gas exploration.

As exploration and drilling technology matures, the need to accurately communicate data with components located in a downhole tool string is vital to continued success in the exploration and production of oil, gas, and geothermal wells. Downhole tool string configurations often incorporate multiple downhole drilling and exploration devices for reporting temperature, pressure, inclination, salinity, and other factors at or near real-time to the surface.

Due to the cost of replicating the transmission segments and the difficulty in transmitting data across the barriers, the downhole network is typically limited to only a single physical cable or communication channel, thereby limiting bandwidth. Moreover, the communication channel must be durable to withstand the extreme conditions in a downhole network.

With respect to power resources, each network node is reliant on downhole generators and other on-board power reserves, which often may not be recharged until the node is physically removed from the downhole environment. These power reserves are gradually depleted with every transmission generated or relayed by the network node. Each data transmission between network nodes typically passes through several intervening drill pipes linked in the drill string by transmission segments and uses both bandwidth and power before reaching their destination.

Unfortunately, networks associated with the downhole tool string often have unreliable connections along with the limited bandwidth and restricted power resources. A variety of factors including formation fluids, drilling mud, stress corrosion, and erosion from cuttings may contribute to the unreliability of drill string connections. As a result of these and other factors there is likelihood that various errors or data corruption may be introduced into the data or prevent/delay delivery of the data. Moreover, a network will often organize transmitted data in a manner that enables delivery to each network node, such as physical (PHY) layer frames and/or a media access layer (MAC) layer datagrams. Due to the previously identified data corruption, the PHY layer frames and/or the MAC layer datagrams commonly undergo data verification including among other things error-checking to identify corrupt data. Unfortunately, PHY frames and MAC datagrams with errors are entirely discarded by the traditional network protocols and devices, which in the downhole environment is an extremely costly result.

Accordingly, the corrosive and mechanically violent nature of a downhole drilling environment, combined with the limited ability to communicate with or to deliver power to network nodes at the bottom of the drill string are factors that make the task of providing a commercially acceptable downhole network for bidirectional communication between the surface and the components in the drill string difficult for the industry to overcome.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:

FIG. 1 illustrates a block diagram of a network node data communication arrangement in accordance with various embodiments of the present invention;

FIG. 2 illustrates a block diagram of a data structure, in accordance with various embodiments of the present invention;

FIG. 3 illustrates a block diagram of a source node and a destination node data communication arrangement in accordance with various embodiments of the present invention;

FIG. 4 illustrates a network node suitable for practicing various embodiments of the present invention as presented in FIG. 1 and in FIG. 5 in further detail, in accordance with various embodiments;

FIG. 5 illustrates a downhole networking environment suitable for practicing various embodiments of the present invention;

FIG. 6 illustrates a flowchart view of a portion of the operations of a destination network node in accordance with various embodiments; and

FIG. 7 illustrates a flowchart view of a portion of the operations of a source network node in accordance with various embodiments.

DETAILED DESCRIPTION OF THE INVENTION AND THE PREFERRED EMBODIMENT

In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which are shown, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.

Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment, but it may. The phrase “A/B” means “A or B”. The phrase “A and/or B” means “(A), (B), or (A and B)”. The phrase “at least one of A, B, and C” means “(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C)”. The phrase “(A) B” means “(A B) or (B)”, that is “A” is optional.

Referring to FIG. 1, a downhole network 100 in accordance with various embodiments is illustrated. The downhole network 100 includes a predecessor node 110, a network node 120, and a successor node 130. In one embodiment, the network node 120 receives and/or transmits data 150 in both directions in the downhole network 100. Data 150, in an embodiment, may also be generated by the network node 120 for transmission to at least one of the other nodes, selected from the predecessor node 110 and the successor node 130.

More specifically, data 150 is received from other network nodes physically positioned above and/or below the network node 120 and is then transmitted to other network nodes in the downhole network 100. In one embodiment, the network node 120 receives data 150, from an immediately coupled predecessor node 110 and transmits the data 150 to an immediately coupled successor node 130. In general, the network node 120 will transmit received data 150 to the other immediately coupled nodes, such as the successor node 130 or the predecessor node 110.

In various embodiments, the data 150 is organized and/or encapsulated in at least one frame 160, at least one datagram 170, and may also include at least one packet 180. Each frame may include frame header information and/or a frame payload. In one embodiment, the frame payload includes at least one datagram 170. Accordingly, in one embodiment, at least one datagram 170 is encapsulated in a single physical (PHY) layer frame 160.

In various embodiments, at least one network (NET) layer packet 180 is encapsulated in a media access (MAC) layer datagram 170. Each datagram includes datagram header information and a datagram payload. The datagram payload includes at least one packet 180. In various embodiments, each of the at least one packet 180 includes packet header information and a packet payload. The packet payload includes a portion of the encapsulated data 150.

In various embodiments, the network node 120 is configured to perform error checking of the data 150. In one embodiment, each packet 180 is configured to individually provide error checking, independent of the datagram 170 and/or the frame 160. The data verification information necessary to perform the error checking is provided for at least one of the packet header information and the packet payload containing the encapsulated data.

Referring now to FIG. 2, a data structure is shown, in accordance with various embodiments. The data 210 is organized and/or encapsulated in at least one PHY frame 220, at least one MAC datagram 230, and may also include at least one NET packet 240.

In various embodiments, each PHY frame 220 includes PHY frame header information 225 and a frame payload including the at least one encapsulated MAC datagram 230. In various embodiments, PHY frame header information 225 includes data quality verification for at least the portion of the PHY frame storing the PHY frame header information 225.

In various embodiments, each MAC datagram 230 includes MAC datagram header information 235 and a MAC datagram payload. The MAC datagram payload of the MAC data gram 230 includes at least one NET packet 240. In various embodiments, MAC datagram header information 235 includes data quality verification for at least the portion of the MAC datagram 230 storing the MAC datagram header information 235.

In one embodiment, each NET packet 240a includes NET packet header information 250 and a NET packet payload 245. The NET packet header information 250 may include a destination node identifier 251, destination port information 253, a source node identifier 255, source port information 257, and packet length information 259. The NET packet payload 245 generally includes at least a portion of the encapsulated data 210.

In one embodiment, the NET packet 240a is configured to individually provide error checking and/or data verification for at least one of the NET packet header information 250 and the NET packet payload 245, independent of the MAC datagram 230 and/or the PHY frame 220. Alternatively, one embodiment determines packet validity based on hierarchical error checking and/or data verification of PHY frame header information, MAC datagram header information, and NET packet header information followed by error checking and/or data verification of the NET packet payload.

Resynchronization of parsing of the NET packets 240 enables the system to recover uncorrupted NET layer packets 240 from corrupted MAC datagrams 230 and/or PHY frames 220. In various embodiments, a unique identifier, such as a Packet Synchronization Sequence (PSS) 270, is added to the Net packet and used for resynchronization upon detection of data corruption. Accordingly, a modified NET layer packet 240b is generated from the Net packet 240a through data manipulation to remove naturally occurring data that also matches the unique identifier. One technique of data manipulation includes bit and/or byte stuffing. Once a value is chosen for the identifier, the other normally occurring instances of the identifier are removed and replaced by a replacement indicator to generate a stuffed packet 275. Upon reception of the data, the stuffed packet 275 may be unstuffed back to the original Net packet 240a by removing the replacement indicators and restoring the original values.

Referring to FIG. 3, a data communication arrangement between a source node 300a and a destination node 300c is shown, in accordance with various embodiments of the present invention. In one embodiment, the network node 300 is coupled to a transmission segment 350 and includes an application layer 310, network layer 320, media access layer 330, and physical layer 340.

In one embodiment, applications residing in the application layer 310 receive, generate, store, and transmit data 360. Network layer applications are configured to encapsulate/unpack data 360 of at least one packet 370. Media access layer applications are configured to encapsulate/unpack at least one packet 370 of at least one datagram 380. Physical layer applications are configured to encapsulate/unpack at least one datagram 380 of at least one frame 390. The physical layer applications are also configured to transmit and/or to receive at least one frame 390 via a transmission segment 350.

In one embodiment, a network node 300 may be configured to operate as either a source node 300a and/or a destination node 300b/300c. The source node 300a encapsulates and transmits data to at least one destination node 300c in a physically segmented logical token network. In the illustrated embodiment, the physical layer 340a of the source node 300a transmits the at least one frame 390 via the transmission segment 350. The transmission segment 350 is also coupled to a potential destination node 300b. The potential destination node 300b is configured to receive at least one frame 390 at a physical layer 340b and to transmit the received at least one frame 390 onto the next node, such as the destination node 300c.

Various embodiments of the present invention perform NET layer parsing and resynchronization, which enables each of the network nodes (e.g., 300a, 300b, and 300c) to recover NET layer packets 370 from a PHY frame 390 and/or a MAC datagram 380 even in some cases after data corruption has occurred within a portion of the PHY frame 390. More specifically, data recovery may be accomplished by parsing packets for individual links at the NET layer 320. The NET layer packet 370 is similar to the MAC layer datagram 380 in that both may include a header and a payload. In one embodiment, a cyclic redundancy check (CRC) is associated with each NET layer packet 370, so that a corrupted PHY frame 390 and/or a MAC datagram 380 may still include some recoverable NET layer packets 370. A CRC is often computed and appended by a transmitting node to a NET layer packet 370 before transmission or storage, and verified afterwards by the recipient node to confirm that no changes occurred in transit. In various embodiments, CRCs are provided for both the header and the payload of NET layer packets 370, where the MAC layer datagram 380 and PHY frame 390 only have a CRC for each respective header portion. The header for the NET layer 320 provides addressing and other information about how to handle the data in the NET payload portion of the NET layer packet 370. In one embodiment, header portion errors in either a MAC layer datagram 380 and/or a PHY frame 390 are recoverable, so that only detection of a CRC error in a NET layer packet 370 will result in the packet being thrown out.

As such, the network architecture differs from other networks in that various embodiments perform error checking using a CRC at the NET layer 320. Essentially, this configuration may allow corrupted packets to pass through the PHY layer 340 and MAC layers 330, which allows for potential recovery of data in corrupted MAC layer datagrams 380 and/or a PHY frames 390 thereby saving bandwidth by reducing retransmission and increasing the overall speed of the network. As NET layer packets 370 are exchanged between the NET layer 320 and the MAC layer 330 a CRC is inserted at the end of the header and the payload. As the NET layer packets 370 are received again from the MAC layer 330 the CRC is checked to ensure the data has not been corrupted. NET layer packets 370 with a bad CRC are thrown out. In one embodiment, error checking is performed by a NET layer CRC device.

Once data corruption has been detected, resynchronization of the parsing at the NET layer 320 enables the system to recover uncorrupted NET layer packets 370. In one embodiment, resynchronization may be accomplished by detecting a unique identifier, such as a Packet Synchronization Sequence (PSS), at the start of each NET layer packet 370. Other unique identifiers may also be provided between each MAC layer datagram 380 and/or PHY frame 390. In various embodiments, the unique identifier is generated through data manipulation to remove naturally occurring data that also matches the unique identifier. One technique of data manipulation includes bit and/or byte stuffing each NET layer packet 370. Once a value is chosen for the identifier, normally occurring instances are removed and replaced by a replacement indicator. Upon reception of the data, the replacement indicator is removed and the original value is restored. If an error is detected during reception (e.g., CRC), then scanning for the unique identifier provides various possibilities. A bit sequence matching the unique identifier will either identify the start of the next NET layer packet 370 or a corrupted value in the data stream, calculation of the CRC will determine which case is present. In this manner, the receiving node may resynchronize parsing of the NET layer 320 despite the presence of errors and/or data corruption.

In one embodiment, Zero-bit insertion, a particular type of bit stuffing, is used to ensure that a PSS doesn't incidentally appear in the contents of the PHY frame 390, MAC layer datagram 380, and/or NET layer packet 370. Once a bit sequence is selected, any naturally occurring sequence needs to be removed from the data. For example, if “01111110” was selected as the PSS, the data would need to be altered to ensure that a sequence of 6 consecutive “1” bits are not present in the frame data so as to avoid possible confusion for the PSS. In one embodiment, zero-bit insertion is used to prevent such a sequence from occurring. More specifically, if a series of five “1” bits are found in the data by the sending node a “0” bit is inserted after the fifth “1” bit, thereby limiting the maximum possible run of “1” bits to five. At a receiver node, if a series of five “1” bits is received, the subsequent “0” bit is removed to recover the original data.

When the receiver node finds “0111111” two possible outcomes may occur. To determine which, the next bit is checked. If the bit is a “0” (i.e. “01111110”) a valid PSS is assumed to have been received. If the bit is another “1” (i.e. “011111111”) then some corruption must have occurred during transmission as that data sequence cannot have been transmitted according to the selected bit sequence for the PSS. In the described example a “0” bit would have been inserted after the fifth “1” bit. Should corruption during transmission result in the PSS being received as part of the data, it is more than likely that the failed CRC would mean that both packets may be suspect to data corruption.

Referring to FIG. 4, a network node 400 is shown in further detail, in accordance with various embodiments. An exemplary downhole network node 400 suitable for practicing various embodiments as presented in FIGS. 1, 3, and 5 is shown in FIG. 4, a block diagram of a downhole network node 400 having at least one communication interface 420 and a communication module 410. The network node 400 includes at least one communication interface 420, a communication module 410, a packet router 430, a local processing module 440, and a local data acquisition module 450, coupled to each other as shown.

The illustrated communication module 410, such as a modem, may be connected to the network (see e.g., network 510 in FIG. 5) in at least two directions via transmission segments (see e.g., transmission segments 350 in FIG. 3 and/or integrated transmission drill pipe 570 in FIG. 5). However, in alternate configurations the communication module 410 may only be connected to the network 510 in one direction. The communication module 410 may modulate digital bits on an analog signal to transmit data packets from the network node 400 on the network 510 and demodulates analog signals received from the network 510 into digital data packets. In various embodiments, the communication module 410 may include a storage medium 470 to temporarily store data in conjunction with transmission.

As previously indicated, a network node 400 may also employ a timing device to calculate whether time-out thresholds have been reached. The timing device may include multiple timers individually assigned to each communication interface 420 or to the communication module 410 in general.

The network node 400 may comprise a packet router 430 that receives packets from the communication module 410 and forwards them to one or more of a local processing module 440, a local data acquisition module 450, or a peripheral port 460. Packets to be transmitted on the network 510 may also be forwarded to the communication module 410 from the packet router 430.

The downhole network node 400 includes a peripheral tool port 460, which allows the downhole network node 400 to collect data from associated tools, packetize the tool data and transmit it to the top of the well.

In one embodiment, a downhole network node 400 includes a suitable portable power source 480. Often the downhole network node 400 will need to be self-reliant on multiple battery packs 490 for power requirements. In one embodiment some of the battery packs 490 may be allocated to individual components of the downhole network node 400 based in part on the function provided by the component requesting power. For example, a portion of the battery packs 490 could be dedicated to transmitting received packets (e.g., 410 and 470) to the next node. Another portion could be dedicated to maintaining the local processing 440 and related components (e.g., 430, 450, and 460). In one embodiment, an attached tool may either draw power from the node or provide a source to recharge the batteries.

Referring to FIG. 5, a drilling operation 500 with a downhole networking environment suitable for practicing various embodiments of the present invention is shown. Accordingly, when drilling boreholes into earthen formations, the drilling operation 500 as shown in FIG. 5 may be used. The drilling operation 500 may include a drilling rig 505, an integrated downhole physically segmented logical token network 510, and a tubular drill string 560 having a bottom hole assembly 580. The bottom hole assembly 580 typically forms the bottom of the drill string 560, which is typically rotatably driven by the drilling rig 505 from the surface. In addition to providing motive force for rotating the drill string 560, the drilling rig 505 also supplies a drilling fluid under pressure through the tubular drill string 560 to the bottom hole assembly 580. Other components of the bottom hole assembly 580 include a drill collar 575, a drill bit 590, and various other down hole components. In operation, the drill bit 590 is rotated and weight is applied. This action forces the drill bit 590 into the earth, and as the bit is rotated, a drilling action is effected.

The downhole physically segmented logical token network 510 includes a first end node and/or a top node 520, a plurality of transmission segments integrated into the drill pipe 570, a plurality of intermediate nodes and/or middle nodes 530 and 540, and the second end node and/or a bottom node 550. The downhole network 510 provides an electrical interconnection between the top node 520 and the bottom node 550. The top node 520 may, in accordance with at least one embodiment, be a component of a server 515. The server 515 is positioned near the top of the well in one embodiment and may relay reconstituted well information gathered from various components in the downhole network 510 to a variety of interested client computing devices across an area network, such as the Internet, using traditional methods known in the art.

The downhole network 510 operates similar to the previously described network of FIG. 1, although features may be described in a more directional nature, for example, in one embodiment of the downhole network 510 a frame may include data associated with a logical token that may be passed up and down the downhole network 510. In one configuration, a first token may be designated as a down-token, and a second token may be designated as an up-token. Other directional adaptations include referring to the first end node as a top end node and the second end node as a bottom end node. As such, in one embodiment, the down-token may be generated by the top node 520 that the individual nodes (530, 540, and 550) are cyclically and/or periodically allowed to claim. In one embodiment that tries to equalize the number of transmission opportunities for each node, the up-token is a logical token that only the top node 520 is allowed to claim.

Although the down-token has been characterized in one embodiment to be an equivalent to the first token and the up-token is characterized as an equivalent to the second token, it is clear to one of skill in the art that other characterizations are possible and should be considered within the scope of the instant invention. For example, the roles of the up and down tokens could be reversed. Moreover, the up-token and the down-token could be functionally the same logical token. In such a configuration, a directional modifier may be assigned at each node based in part on which communication interface received the token.

As previously indicated, a downhole network 510 is often a difficult and or discontinuous operating environment. For example, as the well increases in depth, new tubular drill pipe is added to the drill string below the top node 520, temporarily interrupting data communications between the nodes. Additionally, portions of the drill string may become temporarily unavailable due to mechanical stresses related to drilling operations. As a result in one embodiment, each intermediate node (530 and 540) may become the bottom node 550 when no data and/or token are received from a successor immediately coupled node for a designated time period based in part on the number of nodes in the downhole network 510.

In various embodiments, the top node 520 is configured to selectively generate another down-token even if the up-token is not received within a designated time period. The designated time period is often based in part on the number of known active nodes in the downhole network.

Depending on the importance of the data being collected by the portion of the network 510 in the bottom hole assembly 580, temporarily interrupting data may be unacceptable. In these situations the network may employ multiple sub-networks to divide the network 510 and continue data communication. For example the illustrated network 510 may be divided into two sub-networks, the portion of the network 510 in a bottom hole assembly 580 and the top portion of the drill string 560 associated with a sub-network 585. In various embodiments, an entire sub-network, e.g. all the nodes of network 510, may transition to an orphan operational status to conserve power or preserve data through active manipulation of timing devices associated with the end node of the sub-network.

Turning now to FIGS. 6-7, the particular methods of the invention, in accordance with various embodiments, are described in terms of computer firmware, software, and hardware with reference to a series of flowcharts. In various embodiments, portions of the operations to be performed by network devices may constitute state machines or computer programs made up of computer-executable instructions. Describing portions of the operations by reference to a flowchart enables one skilled in the art to develop programs including instructions to carry out the illustrated methods on suitably configured network devices (e.g., a processor of the network device executing instructions from a computer-accessible media).

In various embodiments, the computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, etc.), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a network device causes the processor of the computer to perform an action or a produce a result.

Referring to FIG. 6, a portion of the operations of a network node operating as a destination node 600 is shown, in accordance with various embodiments. The network node operating as a destination node 600 receives data in block 610. The received data is parsed into packets in block 620 by the network node operating as a destination node 600. In one embodiment, the data is encapsulated in at least one frame having at least one datagram having at least one packet.

The network node operating as a destination node 600 determines the quality of data in block 630. In one embodiment, each packet of the received data is verified. In one embodiment, the packet having packet header information and a packet payload also includes data quality information to verify the received data. The data quality information may be associated, individually or collectively, with the packet header information and/or the packet payload. In one embodiment, the packet header information is verified first by the network node operating as a destination node 600 in block 640 and if valid, the packet payload is subsequently verified in block 650. Alternatively, both the packet header information and the packet payload could be verified together.

In one embodiment, the packet data quality information is independent of any data quality verification provided by encapsulated datagram header information and/or frame header information. This separation allows the network node operating as a destination node 600 to selectively ignore data errors in the datagram header information and/or the frame header information, if recoverable data is available in the packets associated with the corrupted frame and/or datagram.

In block 660, the network node operating as a destination node 600 queries whether the packet is valid. In one embodiment, validation is based in part on the data quality determination from block 630. If valid, then the network node operating as a destination node 600 in block 670 determines the packet destination and, where appropriate, delivers the packet. If a packet is found to be invalid in block 660 by the network node operating as a destination node 600 it may discard the packet and proceed to block 680.

Once packet validation has been determined, the network node operating as a destination node 600 queries whether additional packets are available in block 680. If the received data has not yet been depleted, the network node operating as a destination node 600 retrieves the next packet in block 690 and determines its data quality in block 630. Otherwise, the network node operating as a destination node 600 returns to block 610 to receive more data.

Referring to FIG. 7, a portion of the operations of a network node operating as a source node 700 is shown, in accordance with various embodiments. In block 710, the network node operating as a source node 700 encapsulates data to be sent on the network. In one embodiment, the network node operating as a source node 700 generates a CRC for the header in block 720 and a CRC for the payload in block 730. In an embodiment using a PHY frame, MAC datagram, and NET packet, the network node operating as a source node 700 may generate a unique CRC for each of the different headers and the packet payload. In this manner the data quality of the entire frame may be checked by a destination node without duplicating the portions being checked. This may also allow portions of a defective frame to be recovered, which is especially useful in a physically segmented logical token network where the data is automatically transmitted to every network node. The encapsulation may, as previously discussed, include the addition of a synchronization sequence, such as a PSS, to assist with resynchronization and any associated data manipulation necessary to ensure that the added synchronization sequence is a unique bit sequence within the packet.

Once the data has been encapsulated into at least one packet in block 710, the network node operating as a source node 700 encapsulates the at least one packet into at least one datagram in block 740. The at least one datagram is further encapsulated in at least one frame in block 750 by the network node operating as a source node 700. In one embodiment, the network node operating as a source node 700 transmits the frame to a destination and/or successor node in block 760.

Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art and others, that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment shown in the described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the embodiment discussed herein. Therefore, it is manifested and intended that the invention be limited only by the claims and the equivalents thereof.

Whereas the present invention has been described in particular relation to the drawings attached hereto, it should be understood that other and further modifications apart from those shown or suggested herein, may be made within the scope and spirit of the present invention.

Claims

1. An apparatus comprising:

at least one communication interface configured to connect the apparatus to a physically segmented logical token network; and
a communication module coupled to the at least one communication interface, and configured to encapsulate data in at least one packet, each packet having a packet payload and packet header information, the communication module further configured to encapsulate the at least one packet with datagram header information in at least one datagram, the at least one datagram with frame header information in a frame, the communication module having a storage medium to temporarily store the frame, the communication module providing data quality verification for each packet, independent of whether any data quality verification is provided in the encapsulated datagram header information and/or frame header information, and the data quality verification being provided through at least one of the packet header information and the associated encapsulated packet payload.

2. The apparatus of claim 1, wherein the frame is associated with a physical layer of a communication protocol, and each datagram is associated with a media access control layer of the communication protocol.

3. The apparatus of claim 1, wherein the communication module further provides data quality verification for at least one of the datagram header information and the frame header information without providing data quality verification for a payload portion of the datagram and/or the frame.

4. The apparatus of claim 1, wherein the data quality verification for each packet includes inserting at least one quality validator into at least one of the packet header information and the packet payload.

5. The apparatus of claim 4, wherein the communication module is configured to provide data quality verification of received packets based on a Packet Synchronization Sequence and/or the at least one quality validator provided in at least one of the packet header information and/or the packet payload, regardless whether data quality verification are provided in a received datagram and/or frame encapsulating the received packets, the at least one quality validator being selected from the group consisting of a cyclic redundancy check, a checksum, and parity.

6. The apparatus of claim 4, wherein the at least one quality validator for each packet includes a cyclic redundancy check inserted into the packet header information and/or into the packet payload.

7. The apparatus of claim 6, wherein the apparatus further comprises a cyclic redundancy check module having a cyclic redundancy check generator and a cyclic redundancy check evaluator.

8. The apparatus of claim 7, wherein the cyclic redundancy check generator inserts values into each packet during encapsulation and generates the cyclic redundancy check to be placed after at least one of the packet header information and the packet payload.

9. The apparatus of claim 7, wherein the cyclic redundancy check evaluator receives the cyclic redundancy check from at least one of the packet header information and the packet payload and determines, based in part on the received cyclic redundancy check, whether the data has been corrupted.

10. The apparatus of claim 1, wherein the at least one communication interface is configured to transmit received packet data to components coupled to the apparatus, but separate from the physically segmented logical token network, only after data quality verification is received for at least one of the packet header information and the packet payload.

11. A communication arrangement, comprising:

a source node configured to encapsulate data in at least one packet having packet header information and a packet payload, the at least one packet encapsulated in a datagram, the datagram encapsulated in a frame, each packet individually providing error checking, independent of the datagram and/or the frame, for at least one of the packet header information and the packet payload containing the encapsulated data; and
at least one destination node coupled to the source node to receive the encapsulated data and to verify, independent of the datagram and/or the frame, error checking of each packet by at least one of the packet header information and the packet payload.

12. The communication arrangement of claim 11, wherein the source node generates a Packet Synchronization Sequence (PSS) and/or a cyclic redundancy check for each packet associated with at least one of the packet header information and the packet payload.

13. The communication arrangement of claim 12, wherein the destination node checks, for each packet, the cyclic redundancy check associated with at least one of the packet header information and the packet payload and, if valid, transmits the packet to a requesting and/or designated component.

14. The communication arrangement of claim 13, wherein the source node generates the cyclic redundancy check separately for both the packet header information and the packet payload, and the destination node checks the cyclic redundancy check for the packet header information and, if valid, subsequently checks the cyclic redundancy check for the packet payload.

15. A method comprising:

receiving a packet containing encapsulated data at a network node from a node immediately preceding the network node on a physically segmented logical token network; and
prior to determining a destination for the encapsulated data contained in the received packet, verifying data quality of the received packet by checking data quality of at least one of the packet header information and the packet payload.

16. The method of claim 15, wherein the verifying data quality of the received packet further comprises evaluating at least one of a Packet Synchronization Sequence (PSS) and a cyclic redundancy check inserted into at least one of the packet header information and the packet payload.

17. The method of claim 16, wherein the evaluating includes evaluating the cyclic redundancy check inserted into the packet header information and, if valid, subsequently evaluating the cyclic redundancy check inserted into the packet payload.

18. The method of claim 15, wherein the receiving a packet includes receiving a frame having frame header information, the frame having at least one encapsulated datagram, each datagram having datagram header information and at least one packet.

19. The method of claim 18, wherein the verifying data quality of the received packet includes checking data quality of at least one of the frame header information and the datagram header information.

20. The method of claim 19, wherein the checking data quality of at least one of the frame header information and the datagram header information is performed without verifying data quality of a payload of the respective frame and datagram.

21. The method of claim 15, wherein the verifying data quality of the received packet includes checking the encapsulated data within the encapsulated packet independent of any data quality verification provided by the encapsulated datagram and/or frame.

Patent History
Publication number: 20080095165
Type: Application
Filed: Feb 14, 2007
Publication Date: Apr 24, 2008
Applicant:
Inventors: Monte Johnson (Orem, UT), Mark Stillings (Lehi, UT), Justin Moon (Bountiful, UT)
Application Number: 11/674,874
Classifications
Current U.S. Class: 370/392.000; 714/758.000
International Classification: H04L 12/56 (20060101); H03M 13/00 (20060101);