US20090257364A1 - Node Discovery in Physically Segmented Logical Token Network - Google Patents
Node Discovery in Physically Segmented Logical Token Network Download PDFInfo
- Publication number
- US20090257364A1 US20090257364A1 US12/489,309 US48930909A US2009257364A1 US 20090257364 A1 US20090257364 A1 US 20090257364A1 US 48930909 A US48930909 A US 48930909A US 2009257364 A1 US2009257364 A1 US 2009257364A1
- Authority
- US
- United States
- Prior art keywords
- node
- token
- network
- nodes
- networking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 claims abstract description 88
- 230000006855 networking Effects 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 27
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 239000000725 suspension Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 6
- 230000007704 transition Effects 0.000 description 40
- 238000000034 method Methods 0.000 description 17
- 238000005553 drilling Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH DRILLING; MINING
- E21B—EARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B47/00—Survey of boreholes or wells
- E21B47/12—Means for transmitting measuring-signals or control signals from the well to the surface, or from the surface to the well, e.g. for logging while drilling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Definitions
- 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 data communication in a downhole networking environment.
- 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.
- FIGS. 1A and 1B illustrate block diagrams of a data communication arrangement in accordance with various embodiments of the present invention
- FIGS. 2A-2D illustrate block diagrams of network nodes of FIGS. 1A and 1B , in accordance with various embodiments of the present invention
- FIGS. 3A-3C illustrate state diagrams of network nodes of FIGS. 1A and 1B , in accordance with various embodiments of the present invention
- FIG. 4 illustrates a block diagram of two network nodes in accordance with various embodiments of the present invention
- FIG. 5 illustrates a downhole networking environment suitable for practicing various embodiments of the present invention
- FIG. 6 illustrates a network node suitable for practicing various embodiments of the present invention as presented in FIGS. 1A and 1B and in FIG. 5 in further detail, in accordance with various embodiments;
- FIG. 7 illustrates a flowchart view of a portion of the operations of a first end node as presented in FIGS. 1A and 1B in further detail, in accordance with various embodiments;
- FIG. 8 illustrates a flowchart view of a portion of the operations of an intermediate node as presented in FIGS. 1A and 1B in further detail, in accordance with various embodiments;
- FIG. 9 illustrates a flowchart view of a portion of the operations of a second end node as presented in FIGS. 1A and 1B in further detail, in accordance with various embodiments;
- FIG. 10 illustrates a flowchart view of a portion of the operations of a network node in accordance with various embodiments
- FIGS. 11A and 11B illustrate network node discovery in accordance with various embodiments.
- FIG. 12 illustrates another networking environment suitable for practicing various embodiments of the present invention.
- references 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.
- the * after a reference number denotes a substitutable suffix of the reference number, e.g. 130 * means 130 a or 130 b, and the suffixed reference number stands for the reference element in different operational network status.
- a data communication arrangement 100 * includes, according to at least one embodiment, nodes 110 , 120 , 130 *, and 140 * serially connected to each other and, using e.g. cable segments, with the nodes closest to node 110 directly connected to node 110 , and the nodes closest to node 140 * directly connected to node 140 *.
- network 100 * may be referred to as a physically segmented communication arrangement.
- nodes 110 , 120 , 130 * and 140 * communicate with each other in accordance with a communication protocol, using various tokens 150 , 160 , 170 , 180 , enabling them to effectively communicate with each other as if they are agents of a bus.
- network 100 * may also be referred to as a physically segmented logical bus
- nodes 110 and 130 a / 140 b may be referred to as the first and second end nodes respectively.
- the network 100 * is a hierarchal physically segmented logical token chain/bus downhole network as shown in more detail in FIG. 5 .
- the first and second end nodes may also be referred to as the top and bottom nodes.
- Alternative network configurations or portions thereof, such as the network shown in FIG. 12 may also fall within the scope of various embodiments.
- Consecutive nodes starting from first end node 110 , that are transmitting and receiving data from an active network 100 *, such as transmitting and receiving nodes 110 , 120 , and 130 a forming network 100 a.
- the active network 100 b in FIG. 1B also includes transmitting and receiving node 140 b.
- a node in a power conservation state or suspended transmission state, such as node 140 a is effectively separated from the active network 100 a, while node 140 a is such a state, and accordingly, may be referred to as an orphan node.
- successor nodes serially coupled to 140 a, after node 140 a are also effectively separated from active network 100 a.
- these nodes also become orphan nodes.
- a plurality of successive active ones of these nodes may form another active network.
- the nodes 110 , 120 , and 130 *, (and 140 b in active network 100 b ) employ at least a first token 150 and a second token 160 to facilitate data communication among the connected nodes.
- the first token 150 and the second token 160 are combined in a single token to facilitate data communication among the connected nodes.
- Separate tokens, such as tokens 170 and 180 of active network 100 a, are employed to discover nodes outside of the active network, such as orphan node 140 a.
- the nodes 110 and 130 a are the end nodes, while the nodes 110 and 140 b are the end nodes of network 100 b, and may be referred to as the first and second end nodes of the active network 100 .
- One or more nodes 120 and 130 b are disposed in between the end nodes, and may be referred to as intermediate nodes.
- each of the nodes may be similarly constituted, and operate in accordance with one of at least four operational states depending on the relative placement of the node within/outside of the network 100 including, for example, a first end node 110 , at least one intermediate node 120 and/or 130 b, a second end node 130 a / 140 b, and an orphan node 140 a.
- the various operational states from at least one embodiment of the top end node, the bottom end node, the intermediate node, and the orphan node are described in greater detail in FIGS. 2A-2D .
- each node 110 , 120 , 130 *, and 140 * may also be adapted to temporarily operate as an orphan node, such as 140 a in FIG. 1A .
- a node transitions to an orphan state to conserve power.
- a node may be also become an orphan when communications with the node are interrupted.
- orphan nodes deactivate and suspend any new data transmissions until a qualifying communication is received from a neighboring node, such as a discovery token 170 .
- this operational state enables the network nodes to conserve energy during various drilling operations when the network is disconnected, such as when the well increases in depth, new tubular drill pipe is added to the drill string below the top node, temporarily interrupting data communications between the nodes.
- temporary communication disruptions in a downhole network are very probable and the orphan state allows nodes to wait until the network is ready to be reformed to re-include them before initiating further data transfers.
- an orphan node 140 a monitors, at least periodically, communication interfaces waiting for an opportunity to reconnect to the network 100 *, such as receipt of the discovery token 170 . If reconnection is possible, orphan node 140 a activates data transmission to transmit response token 180 . Once the response token 180 has been sent, a network 100 a is reformed into network 100 b with orphan node 140 a transitions to become the second end node 140 b, and second end node 130 a transitions into intermediate node 130 b for future communications in the new network 100 b.
- the tokens are used to direct how the different nodes in the network 100 * communicate.
- the tokens employed equalize the number of transmission opportunities afforded to each active network node.
- the tokens may also be employed to skew the number of transmission opportunities afforded to each node type.
- the network 100 * may use a single token to pass from the first end node 110 to the second end node 130 a / 140 b and back again to the first end node 110 so that the end nodes are only afforded one opportunity to transmit, but the intermediate nodes are allowed to transmit twice.
- the tokens could be skewed to allow only the end nodes to transmit data.
- a first token 150 is serially passed to each of the serially connected nodes of the network 100 * to provide an opportunity for each node to claim the first token 150 and thereby obtaining authorization to selectively transmit nodal data (data waiting at the node) to the other connected nodes in the network 100 *.
- the second end node 130 a and 140 b, and the at least one orphan node 140 a employ at least a discovery token 170 and a response token 180 to facilitate node discovery and encourage data communication among all the physically connected nodes.
- the second end node 130 a selectively transmits a discovery token 170 in the “beyond” direction to determine if an orphan node 140 a may be present and communication may be established (or re-established).
- the “beyond” direction refers to the direction opposite or away from the active network. If a communication may be established, the orphan node 140 a transmits a response token 180 to the second end node 130 a and begins a transition to be the next second end node 140 b.
- the second end node 130 a determines it is no longer an end node and begins a transition to become an intermediate node 130 b.
- the discovery token 170 is used to query whether a coupled orphan node is ready to rejoin the network. If the available connection is operable, and the orphan node is both operable and ready, the orphan node responds to the end node with a response token 180 . Upon receipt of the response token 180 from the discovered orphan node, the bottom end node is aware that it is no longer the bottom end of the downhole network and will change its operational state to an intermediate node. Once the network is reestablished, the new second end node 140 b may transmit a discovery token 170 to seek additional orphan nodes, as alluded earlier.
- each intermediate node 120 and/or 130 b is adapted to transmit new nodal data in both directions, i.e. to both neighboring nodes, upon obtaining authorization to transmit.
- first end node 110 and second end node 130 a / 140 b have only one neighboring node, both end nodes during normal operation (that is when not discovering orphan nodes) transmit only in one direction, to its directly connected intermediate node 120 or 130 b.
- An iteration of data communication as described herein represents the process of providing each active node with an opportunity to claim a token during normal operation, which selectively authorizes data transmission by the node to other nodes, as the token passes from a first end node, through the one or more intermediate nodes, to a second end node.
- the node discovery process is performed each discovery iteration of data until the physical end node is reached.
- a node upon claiming the first token 150 , will transmit data originally transmitted together with the claimed token to the next node without the token. This modified transmission is then followed by a new transmission from the node of the previously claimed token and the nodal data to the two immediate neighboring nodes.
- only the successor node of an intermediate node i.e. the immediate neighboring node towards second end node 130 a / 140 b
- the predecessor node i.e. the immediate neighboring node towards first end node 110
- each successive node 120 will successively has an opportunity to transmit nodal data.
- the transmitted nodal data will in due course be seen by each node of the network, regardless whether a node is a targeted recipient of the transmitted data or not, as if the nodes are agents of a bus (notwithstanding the fact that the nodes are not physically connected to common data transmission lines).
- Nodal data as referenced in the specification is generally data waiting at and/or transmitted from one specific node to other nodes, once the specific node claims the first token (e.g., a down-token in a downhole network).
- first token e.g., a down-token in a downhole network.
- nodal data is often transmitted by an intermediate node in both directions along the network.
- the nodal data once the nodal data is transmitted to another node, it simply becomes received data to be passed along the network.
- the received data is simply stored in the intermediate node for further analysis and a duplicate copy is forwarded by the intermediate node to the next node.
- the nodes may also be referred to as store and forward nodes.
- first token 150 is employed to successively authorize the nodes to transmit data
- the second token 160 is employed to restart the process again, once each node has been given an opportunity to claim first token 150 to transmit nodal data (i.e. first token 150 having reached second end node 130 a / 140 b ).
- the second token 160 is originated and passed from the second end node 130 a / 140 b back to the first end node 110 .
- second token 160 is passed from second end node 130 a / 140 b, through intermediate node(s) 120 , to first end node 110 , without being claimed by any intervening node 120 .
- the second token 160 is passed along with nodal data from the second end node 130 a / 140 b to the first end node 110 , via the at least one intermediate node 120 .
- transmission of tokens is effectuated by including the tokens in the data packets, in particular, headers of the data packets.
- claiming of tokens is effectuated by modifying the headers of the data packets to effectuate removal of the tokens from the headers.
- other techniques may be employed to transmit and claim tokens.
- embodiments are not limited to the token-passing protocol as described and shown. In fact, many possibilities exist for specific embodiments of token-passing protocols along the network 100 *.
- the token could be passed sequentially to each node 110 , 120 , 130 */ 140 * starting in the first node 110 and ending at the second end node 130 a / 140 b and then back up the network 100 * starting in the second end node 130 a / 140 b and ending in the first end node 110 .
- the cycle of sequential transmission may then repeat itself as many times as are needed.
- the at least one intermediate node 120 would receive twice as many opportunities to transmit data on the network 100 * than the end nodes 110 and 130 a / 140 b, but there may be specific applications in which that particular characteristic is desirable.
- a network may also be envisioned where only certain nodes are allowed to transmit data and other nodes are limited to receiving and re-transmitting the data.
- the network may assign dynamic priority levels to various nodes based in part on the information being transmitted and/or the designated collection priorities of the network.
- Other embodiments may include the consideration of additional variables as criteria which must be met before a node 110 , 120 , 130 *, 140 b is permitted to claim a circulating token.
- data ready to be transmitted on the network 100 * may be assigned a priority level indicative of their relative importance compared to other data waiting at other nodes to be transmitted.
- the protocol may dictate that only a node 110 , 120 , 130 *, 140 b with data to transmit that has been assigned a certain priority level or higher may claim the token when an opportunity to claim the token arises.
- FIGS. 2A-2D the particular operational state interfaces of various network nodes in a downhole network, in accordance with various embodiments, are described.
- a top end node 210 is illustrated.
- the top end node 210 receives tokens from the network below (TokenB) and transmits tokens to other nodes in the network from above (TokenA).
- a TokenA is a down-token and a TokenB is an up-token in a downhole network.
- a TokenA is a first token 150 and a TokenB is a second token 160 .
- the top end node 210 is configured to generate a first token.
- the first token may be generated upon expiration of a response timer.
- the first token may also be generated upon receipt of a second token different from the first token at a communication interface of the top end node 210 .
- the top end node 210 transmits the first token via the same communication interface to the first immediately coupled successor node to facilitate selective data communication between nodes.
- a bottom end node 220 is illustrated.
- the bottom end node 220 receives tokens from the network above (TokenA) and transmits tokens to other nodes in the network from below (TokenB).
- TokenA tokens from the network above
- TokenB tokens from other nodes in the network from below
- Both the top end node 210 and the bottom end node 220 only maintain connections in one relative direction, down for the top end node 210 and up for the bottom end node 220 .
- an intermediate node 230 is illustrated.
- the intermediate node 230 may receive and transmit tokens in both directions in a downhole network. More specifically, tokens are received at the intermediate node 230 from other network nodes logically positioned above (TokenA) and below (TokenB) and tokens are transmitted by the intermediate node 230 to other network nodes in the network logically positioned above (TokenA) and below (TokenB).
- the intermediate node receives a first token, from a second immediately coupled predecessor node and transmits the token to a second immediately coupled successor node and/or receives another token, different from the first token, from the second immediately coupled successor node.
- the intermediate node transmits the received token to the other immediately coupled node, successor or predecessor.
- an orphan node 240 is illustrated.
- the orphan node 240 is not attached to the network, but monitors directly connected transmission segments for tokens that are received from other network nodes above (TokenA).
- the orphan node 240 may also monitor directly connected transmission segments for tokens received from other network nodes positioned below the network node (TokenB).
- the orphan node 240 suspended transmissions due to the expiration of a response timer, and will remain suspended until a discovery token is received via the at least one communication interface, from an immediately coupled predecessor node.
- the orphan node 240 Upon receipt of the discovery token, the orphan node 240 is configured to generate and to transmit a response token, via the at least one communication interface, to the immediately coupled predecessor node.
- FIGS. 3A-3C the particular methods of the invention, in accordance with various embodiments, are described in terms of operational state diagrams illustrating the state transitions of the various network nodes 310 , 320 , 330 , and 340 in a downhole network 300 .
- a first embodiment 300 a where each node is equipped to transition from being a top end node 310 a, a bottom end node 320 a, and an intermediate node 330 a of a network 300 a is shown.
- a network node may transition between one of the three operational states: an operating state operating the node as a top end node 310 a, an operating state operate the node as a bottom end node 320 a, and an operating state operating the node as an intermediate node 330 a.
- a network node will initialize to operate as an intermediate node 330 a, and upon so initialized, reset time-out timers for communication interfaces associated with communications received from above the node and below the node.
- the node Upon expiration of one of the timers, the node will transition itself into a new operating state to operate itself either as a bottom end node 320 a (if time-outB timer expires) or as a top end node 310 a (if time-outA timer expires).
- the time-outB timer expires when no communication is received from below the node, implying that the node has become the bottom end of the network 300 a. Communication with the previous successor node has been severed.
- the time-outA timer expires when no communication is received above the node, implying that the node has become the top end of the network 300 a. Communication with the previous predecessor node has been severed.
- the node From the operating state of a top end node 310 a, the node transitions back to an operating state to operate as an intermediate node 330 a if a TokenA is received from above, as the receipt of the token from above indicates that the node is no longer the top node of the network 300 a. From the operating state of a bottom end node 320 a, the node transitions back to an operating state to operate as an intermediate node 330 a if a TokenB is received from below, as the receipt of the token from below indicates that the node is no longer the bottom node of the network 300 a.
- This operational state configuration enables the network 300 a to have multiple sub-networks in operation at any given time, each sub-network having a different top end node 310 a, bottom end node 320 a, and intermediate node 330 a.
- FIG. 3B an alternate embodiment 300 b where each node monitors for communication from above, and transitions its operational state based on the monitored above communication, is shown.
- a network node 300 b may operate in an operating state as a bottom end node 320 b, an operating state as an intermediate node 330 b, and an operating state as an orphan node 340 b.
- the top end node has been assigned to a specific node.
- a network node will initialize to operate as an intermediate node 330 b and thus resets time-out timers for communication interfaces associated with communications received from above the node and below the node.
- the network node could initialize to operate as an orphan node 340 b and wait for a TokenA to be received from above before transitioning to bottom end node 320 b.
- the node operating as an intermediate node 330 b Upon expiration of one of the timers, the node operating as an intermediate node 330 b will become either a bottom end node 320 b (time-outB timer expires) or an orphan node 340 b (time-outA timer expires).
- time-outB timer expires when no communication is received from below the node, implying that the node is the bottom end of the active network.
- time-outA timer expires after no communication is received above the node, the node is assumed to not yet be connected to the active network and transitions to the orphan state.
- the orphan node 340 b transitions back to a bottom end node 320 b if a TokenA is received from above, as the existence of the token indicates that the node is no longer an orphan.
- the bottom end node 320 b transitions back to an intermediate node 330 b if a TokenB is received from below, as the existence of the token indicates that the node is no longer the bottom node of the active network.
- This operational state configuration enables the active network to add nodes one at a time from the bottom.
- the alternate embodiments could also be configured to load from the top instead of the bottom.
- This configuration would replace the bottom end node 320 b with a top end node and substitute TokenA and time-outA timer for the TokenB and time-outB timer.
- Both top load and bottom load configurations are useful in downhole networks, where networks are linear and segmented.
- each node may operate in an operational state as a top end node 310 c, another operational state as a bottom end node 320 c, still another operational state as an intermediate node 330 c, and a final operational state as an orphan node 340 c.
- a network node may transition between the four operational states.
- a new network node initializes in an operational state and operate as an orphan node 340 c and waits for either a TokenA or a TokenB to be received. If the first received token is a TokenA received from an immediately coupled predecessor node then the node operating as an orphan node 340 c resets time-outA timer and transitions to an operational state to operate as a bottom end node 320 c.
- the node operating as an orphan node 340 c resets time-outB timer and transitions to an operational state to operate as a top end node 310 c.
- the node may transition from operating as either a top end node 310 c or a bottom end node 320 c to an operational state to operate as an intermediate node. From the operating state operating as a top end node 310 c, the node transitions to an operational state to operate as an intermediate node 330 c upon receiving a TokenA from an immediately coupled predecessor node. From the operating state operating as a bottom end node 320 c, the node transitions to an operating state to operate as an intermediate node 330 c upon receiving a TokenB from an immediately coupled successor node.
- a node may automatically reset the respective timer associated with the communication interface through which, the packet is received. Expiration of the timer through communication inactivity often affects whether the node transitions to a new operational state. For example, in FIG. 3C , if the time-outB timer expires, then a node operating as an intermediate node 330 c transitions to an operational state to operate as a bottom end node 320 c and a node operating as a top end node 310 c transitions to an operational state to operate as an orphan node 340 c.
- a node operating as an intermediate node 330 c transitions to an operational state to operate as a top end node 310 c and a bottom end node 320 c transitions to an operational state to operate as an orphan node 340 c. Accordingly, for these embodiments, a node operating as a bottom end node 320 c remains the bottom end node 320 c if the time-outB timer expires, and a node operating as a top end node 310 c remains the top end node 310 c if the time-outA timer expires.
- the timers for successor nodes may selectively expire contemporaneously with a predecessor node timer, thereby expediting the transition to an orphan node for a series of successor nodes.
- the timers for a series of predecessor nodes may selectively expire contemporaneous with a successor node timer expiration, thereby expediting the transition for the linked nodes to an orphan node operational state.
- first bottom end node 410 a transmits a discovery token 420 to orphan node 430 a, see (A) in FIG. 4 .
- the first bottom end node 410 a begins node discovery upon expiration of a discovery timer.
- node discovery might also begin automatically upon receipt of a token, such as a first token or a down-token.
- the first node operating as an orphan node 430 a transitions to operate as a second bottom end node 430 b, see (B) FIG. 4 , and transmits a response token 440 back to the node operating as the first bottom end node 410 a, see (C) FIG. 4 .
- the node operating as the first bottom end node recognizes that it is no longer the bottom node and transitions to operate as an intermediate node 410 b, see (D) FIG. 4 .
- the network will have introduced a new bottom node with second bottom end node 430 b and established a new intermediate node 410 b.
- 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 a drilling rig 505 from the surface.
- the drilling rig 505 also supplies a drilling fluid under pressure through the tubular drill string 560 to the bottom hole assembly 580 .
- 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 the downhole network 510 a first token may be a down-token, and a second token may be an up-token or the first end node represented by a top end node and the second end node represented by a bottom end node.
- the down-token is a logical token generated by the top node 520 that the individual nodes ( 530 , 540 , and 550 ) are cyclically and/or periodically allowed to claim.
- the up-token is a logical token that only the top node 520 is allowed to claim.
- 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 considered within the scope of the instant invention.
- the roles of the up and down tokens could be reversed.
- the up-token and the down-token could be the same logical token.
- a directional modifier may be assigned at each node based in part on which communication interface received the token.
- a downhole network 510 is often a difficult and or discontinuous operating environment.
- each intermediate node 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 .
- 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.
- the network may employ multiple sub-networks to divide the network 510 and continue data communication.
- 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 .
- an entire sub-network e.g. all the nodes of sub-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.
- each network node ( 520 , 530 , 540 , and 550 ) in the downhole network 510 to facilitate data processing and data communication.
- An exemplary downhole network node 600 suitable for practicing various embodiments as presented in FIG. 5 is shown in FIG. 6 , a block diagram of a downhole network node 600 having at least one communication interface 620 and a communication module 610 .
- the network node 600 includes at least one communication interface 620 , a communication module 610 , a packet router 630 , a local processing module 640 , and a local data acquisition module 650 , coupled to each other as shown.
- the illustrated communication module 610 may be connected to the network 510 in at least two directions. However, in alternate configurations the communication module 610 may only be connected to the network 510 in one direction.
- the communication module 610 may modulate digital bits on an analog signal to transmit data packets from the network node 600 on the network 510 and demodulates analog signals received from the network 510 into digital data packets.
- the network node 600 may comprise a packet router 630 that receives packets from the communication module 610 and forwards them to one or more of a local processing module 640 , a local data acquisition module 650 , or a peripheral port 660 . Packets to be transmitted on the network 510 may also be forwarded to the communication module 610 from the packet router 630 .
- the downhole network node 600 includes a peripheral tool port 660 , which allows the downhole network node 600 to collect data from associated tools, packetize the tool data and transmit it to the top of the well.
- a network node 600 may also employ a timing device 670 to calculate whether time-out thresholds have been reached as described in FIGS. 3 , 4 , 7 , 8 , 9 and 10 .
- the timing device 670 may include multiple timers individually assigned to each communication interface 620 or to communication module 610 in general.
- 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).
- the computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic.
- a flowchart of a portion of the operations of a node operating as a first and/or top end node 700 in accordance with various embodiments is shown.
- a node operating as the first end node 700 generates a first token.
- the node operating as the first end node 700 determines whether nodal data is available to be transmitted with the first token in query block 720 . If nodal data is available, then the node operating as the first end node 700 appends the nodal data to the packet for transmission with the token in block 730 .
- the process of transmitting nodal data from the node operating as the first end node includes combining the nodal data and the first token into a single data packet to be transmitted together to a successor node in block 740 .
- the token may be transmitted without first end nodal data to a successor node in block 740 .
- query block 750 the node operating as the first end node 700 determines whether a second token has been received. Upon receipt of the second token, query block 750 directs the node operating as first end node 700 back to block 710 to generate another first token. Alternatively, if the second token has not been received, query block 760 determines whether a time-out threshold has been reached for delivery of the second token. In one embodiment, the time-out threshold is a variable time period based in part on the number of nodes in the network.
- the threshold may also be based in part on various other factors such as the potential size of packets being transmitted, the potential latency between a packet being received at a node and the transmission of the packet to the next node, and whether other packets have been received at the first end node 700 since the previous first token was previously transmitted in conjunction with block 740 .
- query block 760 directs the operations of the node operating as the first end node 700 to generate the first token in block 710 .
- query block 760 may be implemented using a timing device with a timer configured to countdown to zero from a max response time. In this configuration the timer may be reset each time a packet is received by the first end node or in the alternative each time a token is received.
- the node operating as the first end node 700 Prior to reaching the time-out threshold, the node operating as the first end node 700 continues to wait for either the arrival of the second token at query block 750 or the expiration of a time-out timer associated with the token in query block 760 .
- the node operating as the intermediate node 800 receives a token in block 810 .
- the first token may be received from an immediately coupled predecessor node in the physically segmented logical token network and the second token may be received from an immediately coupled successor node in the physically segmented logical token network.
- the tokens, in a downhole network may be received from an immediately coupled node physically positioned either above or below the intermediate node 800 .
- the node operating as the intermediate node 800 in query block 820 determines whether it may claim the token (e.g., for earlier described embodiments, whether the token is a first token 150 ). In one instance, the node operating as the intermediate node 800 in query block 820 determines whether the token may be claimed and whether it has additional nodal data to transmit to the other nodes in the physically segmented logical token network. In one embodiment, certain tokens (such as token 160 ) may not be claimed by an intermediate node regardless of whether nodal data needs to be transmitted.
- the node operating as the intermediate node 800 in query block 820 determines that the token may be claimed and that it has nodal data to be transmitted
- the node operating as the intermediate node 800 claims the token and transmits the data in the packet without the token to the successor node in block 840 .
- the node operating as the intermediate node then combines the nodal data with the token in block 850 for transmission on the network to both immediately coupled nodes in block 830 .
- the node operating as the intermediate node 800 determines that the token may not be claimed in query block 820 , (e.g., the token is a second token 160 ) then the received token is transmitted to the next different immediately coupled node in block 830 .
- the node operating as the intermediate node 800 transmits the unclaimed token to the immediately coupled predecessor node if the token was received from the immediately coupled successor node and to the immediately coupled successor node if the token was received from the immediately coupled predecessor node.
- the node operating as the intermediate node 800 may also compute whether a time-out threshold has been reached in query block 860 prior to returning to block 810 . However, this time-out threshold will be based on whether either a first or second token has been received.
- the intermediate node has two time-out thresholds, each being a variable time period based in part on the number of nodes in the network between the intermediate node and the end node. Depending on which one of the thresholds is reached prior to receipt of a new token, the node operating as the intermediate node 800 may transition to either an orphan node, first end node, or a second end node in block 870 .
- a node operating as an intermediate node 800 may transition to operate as a first end node, and on further timing-out for second token 160 , the node operating as the intermediate node 800 transitions to operate as an orphan node.
- a node operating as an intermediate node 800 may transition to operate as a second end node, and on further timing-out for first token 150 , the node operating as the intermediate node 800 transitions to operate as an orphan node.
- FIG. 9 a flow chart of a portion of operations of a node operating as a second end node 900 in accordance with various embodiments is shown.
- the node operating as a second end node 900 receives a first token from a predecessor node in block 910 .
- the node operating as the second end node 900 consumes the first token, regardless of whether nodal data is available to be transmitted from the node operating as the second end node 900 .
- delivery of the first token to the node operating as the second end node 900 automatically results in the node operating as the second end node 900 generating a second token 920 .
- the node operating as the second end node 900 may also determine whether nodal data is available to be transmitted to the other active nodes in the physically segmented logical token network. In one embodiment, the nodal data from the node operating as the second end node 900 is appended to the packet containing the second token for transmission by the node operating as the second end node 900 in block 930 . Alternatively, the nodal data from the node operating as the second end node 900 could also be sent in a packet prior to the transmission of the second token. Accordingly, regardless of whether supplemental data has been attached by the node operating as the second end node 900 , the second token is transmitted to the predecessor node of the node operating as the second end node in block 930 .
- the transmission of the second token to the predecessor node in block 930 notifies the first end node that a new round of communication may be initiated.
- the second token may not be claimed by intermediate nodes and is automatically transmitted to the node's predecessor node. Once the second token reaches the first end node, a new first token will be generated as previously described in FIG. 7 .
- the node operating as a second end node 900 determines whether the discovery timer has expired in query block 940 . Upon discovery time-out in block 940 , the node operating as the second end node transmits a discovery token to a potential successor node and/or orphan node in block 980 . In one embodiment, the discovery token is a second token transmitted in a different direction. The node operating as a second end node 900 waits for a response token in query block 990 , until either a response timer times out or a response token is received. If a response token is received, the second end node transitions to an intermediate node in block 995 .
- the node operating as the second end node 900 determines whether a communication threshold for receiving a token within a given time-out period has been reached in query block 950 .
- the node operating as the second end node 900 is configured to transition to an orphan node operational state in block 960 , if the threshold has been passed or the associated time-out timer has expired.
- the node operating as the second end node 900 could automatically generate a second token when a given overall time-out threshold, based in part on the number of known active nodes in the network, is reached, so long as the first end node is not similarly configured.
- the node operating as the second end node 900 awaits receipt of the first token from the predecessor node in block 970 .
- the node operating as the second end node 900 also includes timing modules to identify the range of anticipated arrival times of the next first token. If the next first token does not arrive within the calculated time period, the node operating as the second end node 900 may optionally generate another second token in accordance with one embodiment. Alternatively, upon expiration of the response timer, the node operating as the second end node 900 may optionally designate itself as an orphan node.
- the node operating as the second end node 900 continues to wait in a time-out loop as part of query blocks 940 , 950 , and 970 until either a first token is received and the node operating as the second end node 900 generates another second token in block 920 or until one of the two timers expires in either query block 940 or 950 .
- a discovery timer expires in block 1010
- the node(s) charged with discovery in the communication arrangement 1000 transmit(s) a discovery token to a next node in block 1020 .
- the associated response timer monitoring the associated transmission segment is set in block 1030 . If a response token is received prior to the expiration of the timer in query block 1040 , the operational state of both nodes is changed accordingly in block 1060 . Otherwise the discovery timer is reset in block 1050 .
- the discovery timer may be reset based in part on the number of nodes in the network. Alternatively, the discovery timer may be set based on the transmission latency of the network between nodes.
- FIGS. 11A and 11B flowcharts of portions of operations of node discovery at a network layer for a new networking node ( FIG. 11A ) and a network server ( FIG. 11B ) in accordance with various embodiments is shown.
- FIG. 11A a new networking node similar to those previously described, powers-up with a default address in block 1110 . This power-up process may occur as a result of a variety of activities, such as upon insertion of the node into the network or activation following a prolonged orphan state.
- the new nodes As the new nodes are added to the network, they must be configured to interact with the network server and be addressable at the network layer (NET).
- NET network layer
- the network server requests an identifier packet from each node in block 1115 of FIG. 11B .
- the new node transmits the requested identifier packet using the default address to a predecessor node in block 1120 of FIG. 11A .
- the new node may also receive identifier packets from successor nodes in block 1130 .
- the new node modifies the received MAC (Medium Access Control) header by incrementing the hop count in block 1140 and transmits the modified packet identifier to the predecessor node in block 1150 .
- MAC Medium Access Control
- the server receives each identifier packet including the hop counts in block 1155 . Based in part on an examination of the received MAC and NET headers in block 1165 , the server is able to determine the relative distance of each node from the server and assign an appropriate NET address to each node in block 1175 .
- the server also updates the relative network topology look-up table entries for each of the recorded nodes. In one embodiment, the server maintains a historical topology database. This enables the server to identify various node qualities and performance tendencies.
- the topology table includes node connection information, such as found, inserted, visible, intermittent connectivity, lost, or removed.
- the addresses are transmitted from the server to all the network nodes in block 1185 .
- the new network node receives a new NET address in block 1190 and changes from the default address.
- the node discovery process is performed periodically to detect changes in network topology and identify addressing problems, such as duplicate network identification or multiple nodes using the default identification. Changes to the network topology are detected each time the node discovery process is run and the topology table is thereby synchronized with the actual configuration of the network.
- the node discovery process does not only discover new nodes, but the topology table generated by the server can categorize the nodes into various topological states, based in part on the current discovery results and in part on previous discovery attempts.
- the various topological states include found, inserted, visible, intermittent, lost, or removed.
- the network 1200 in FIG. 12 could implement the described physically segmented logical token network.
- a computing device 1210 could operate as a first end node generating a first token 1240 and a client computing device 1230 could operate as a second end node generating a second token 1250 .
- the computing device 1210 and the client computing device 120 may include general and/or special purpose computing devices, such as a desktop computer, a personal digital assistant (PDA), a server, and/or console suitably configured for practicing the present invention in accordance with at least one embodiment.
- PDA personal digital assistant
- the various network devices 1220 could function as intermediate nodes, where the routers 1220 a and 1220 b forward packets between the computing device 1210 and the client computing device 1230 and the bridge 1220 b selectively forwards packets received from one predecessor router 1220 a to the appropriate successor router 1220 c. In this manner, a virtual private network could be established between the computing device 1210 and the client computing device 1230 .
Abstract
Token authorized node discovery between a plurality of nodes in a downhole networking environment and respective applications for data processing and communication are described herein.
Description
- This Application is a Division of pending U.S. patent application Ser. No. 11/674,844 entitled “Node Discovery in Physically Segmented Logical Token Network”, filed on Feb. 14, 2007, which claims priority from 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”. The pending application and both of the above referenced provisional patent applications are hereby incorporated by reference herein for all they disclose.
- 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 data communication in a downhole networking environment.
- 2. Description of Related Art
- Advances in data processing and data communication technologies have led to 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 to, data communications in harsh operating environments, such as oil and gas exploration.
- As electronic 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.
- Unfortunately, attempts to provide communication are hindered by various operational environment and design factors. For example, the corrosive and mechanically violent nature of a downhole drilling environment in combination with the extreme operational temperatures contributes to a rapid degradation of equipment and reduction of connectivity reliability. Additionally, the longer the downhole drilling string and/or the more tools or components attempting to share data with the surface, the more difficult the task becomes. Once the power source and bandwidth limitations are considered, the relative reliability and availability of the network to the components in the downhole tool string becomes a significant design issue. Temporary communication failure, once network connections have been established, is highly probable. With the resulting failure at any point along a serially coupled drill string, the transmission path and the corresponding flow of data to between nodes above and below the failure point will be interrupted or broken.
- The present invention will be described by way of exemplary embodiment, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
-
FIGS. 1A and 1B illustrate block diagrams of a data communication arrangement in accordance with various embodiments of the present invention; -
FIGS. 2A-2D illustrate block diagrams of network nodes ofFIGS. 1A and 1B , in accordance with various embodiments of the present invention; -
FIGS. 3A-3C illustrate state diagrams of network nodes ofFIGS. 1A and 1B , in accordance with various embodiments of the present invention; -
FIG. 4 illustrates a block diagram of two network nodes in accordance with various embodiments of the present invention; -
FIG. 5 illustrates a downhole networking environment suitable for practicing various embodiments of the present invention; -
FIG. 6 illustrates a network node suitable for practicing various embodiments of the present invention as presented inFIGS. 1A and 1B and inFIG. 5 in further detail, in accordance with various embodiments; -
FIG. 7 illustrates a flowchart view of a portion of the operations of a first end node as presented inFIGS. 1A and 1B in further detail, in accordance with various embodiments; -
FIG. 8 illustrates a flowchart view of a portion of the operations of an intermediate node as presented inFIGS. 1A and 1B in further detail, in accordance with various embodiments; -
FIG. 9 illustrates a flowchart view of a portion of the operations of a second end node as presented inFIGS. 1A and 1B in further detail, in accordance with various embodiments; -
FIG. 10 illustrates a flowchart view of a portion of the operations of a network node in accordance with various embodiments; -
FIGS. 11A and 11B illustrate network node discovery in accordance with various embodiments; and -
FIG. 12 illustrates another networking environment suitable for practicing various embodiments of the present invention. - 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. In the following detailed description, the * after a reference number denotes a substitutable suffix of the reference number, e.g. 130* means 130 a or 130 b, and the suffixed reference number stands for the reference element in different operational network status.
- Referring to
FIGS. 1A and 1B , a data communication arrangement 100* includes, according to at least one embodiment,nodes node 110 directly connected tonode 110, and the nodes closest to node 140* directly connected to node 140*. Thus, network 100* may be referred to as a physically segmented communication arrangement. Further, as will be described in more fully below, in various embodiments,nodes various tokens nodes - In one embodiment, the network 100* is a hierarchal physically segmented logical token chain/bus downhole network as shown in more detail in
FIG. 5 . In a hierarchical embedment, the first and second end nodes may also be referred to as the top and bottom nodes. Alternative network configurations or portions thereof, such as the network shown inFIG. 12 , may also fall within the scope of various embodiments. - Consecutive nodes, starting from
first end node 110, that are transmitting and receiving data from an active network 100*, such as transmitting and receivingnodes network 100 a. Theactive network 100 b inFIG. 1B also includes transmitting and receivingnode 140 b. A node in a power conservation state or suspended transmission state, such asnode 140 a, is effectively separated from theactive network 100 a, whilenode 140 a is such a state, and accordingly, may be referred to as an orphan node. As a result oforphan node 140 a being separated fromnetwork 100 a, successor nodes serially coupled to 140 a, afternode 140 a, are also effectively separated fromactive network 100 a. In various embodiments, these nodes also become orphan nodes. In other embodiments, a plurality of successive active ones of these nodes may form another active network. - In various embodiments, the
nodes active network 100 b) employ at least afirst token 150 and a second token 160 to facilitate data communication among the connected nodes. Alternatively, in some embodiments, thefirst token 150 and the second token 160 are combined in a single token to facilitate data communication among the connected nodes. Separate tokens, such astokens active network 100 a, are employed to discover nodes outside of the active network, such asorphan node 140 a. - As alluded to earlier, in
network 100 a, thenodes nodes network 100 b, and may be referred to as the first and second end nodes of the active network 100. One ormore nodes - In various embodiments, each of the nodes may be similarly constituted, and operate in accordance with one of at least four operational states depending on the relative placement of the node within/outside of the network 100 including, for example, a
first end node 110, at least oneintermediate node 120 and/or 130 b, asecond end node 130 a/140 b, and anorphan node 140 a. The various operational states from at least one embodiment of the top end node, the bottom end node, the intermediate node, and the orphan node are described in greater detail inFIGS. 2A-2D . - In various embodiments, each
node FIG. 1A . In one embodiment, a node transitions to an orphan state to conserve power. A node may be also become an orphan when communications with the node are interrupted. Depending on the configuration, orphan nodes deactivate and suspend any new data transmissions until a qualifying communication is received from a neighboring node, such as adiscovery token 170. In a downhole networking environment, this operational state enables the network nodes to conserve energy during various drilling operations when the network is disconnected, such as when the well increases in depth, new tubular drill pipe is added to the drill string below the top node, temporarily interrupting data communications between the nodes. Moreover, as previously indicated temporary communication disruptions in a downhole network are very probable and the orphan state allows nodes to wait until the network is ready to be reformed to re-include them before initiating further data transfers. - In the illustrated embodiments, an
orphan node 140 a monitors, at least periodically, communication interfaces waiting for an opportunity to reconnect to the network 100*, such as receipt of thediscovery token 170. If reconnection is possible,orphan node 140 a activates data transmission to transmitresponse token 180. Once theresponse token 180 has been sent, anetwork 100 a is reformed intonetwork 100 b withorphan node 140 a transitions to become thesecond end node 140 b, andsecond end node 130 a transitions intointermediate node 130 b for future communications in thenew network 100 b. - Note that subsequent to
orphan node 140 a becoming thesecond end node 140 a, it too might discover another successively connected node, and as a result, further transitions to become an intermediate node, with the still newly discovered successively connected node becoming the second end node. This process may continue allowing an active node to successive reform to successively re-include more and more orphan nodes. In various embodiments, the tokens are used to direct how the different nodes in the network 100* communicate. In one embodiment, the tokens employed equalize the number of transmission opportunities afforded to each active network node. Alternatively, the tokens may also be employed to skew the number of transmission opportunities afforded to each node type. For example, in a skewed transmission configuration the network 100* may use a single token to pass from thefirst end node 110 to thesecond end node 130 a/140 b and back again to thefirst end node 110 so that the end nodes are only afforded one opportunity to transmit, but the intermediate nodes are allowed to transmit twice. Alternatively, the tokens could be skewed to allow only the end nodes to transmit data. - In one embodiment seeking to equalize the number of transmission opportunities for each node, a
first token 150 is serially passed to each of the serially connected nodes of the network 100* to provide an opportunity for each node to claim thefirst token 150 and thereby obtaining authorization to selectively transmit nodal data (data waiting at the node) to the other connected nodes in the network 100*. - In various embodiments, the
second end node orphan node 140 a employ at least adiscovery token 170 and aresponse token 180 to facilitate node discovery and encourage data communication among all the physically connected nodes. In one embodiment, thesecond end node 130 a selectively transmits adiscovery token 170 in the “beyond” direction to determine if anorphan node 140 a may be present and communication may be established (or re-established). The “beyond” direction refers to the direction opposite or away from the active network. If a communication may be established, theorphan node 140 a transmits aresponse token 180 to thesecond end node 130 a and begins a transition to be the nextsecond end node 140 b. Upon receipt of theresponse token 180, thesecond end node 130 a determines it is no longer an end node and begins a transition to become anintermediate node 130 b. - In one embodiment of a downhole network, the
discovery token 170 is used to query whether a coupled orphan node is ready to rejoin the network. If the available connection is operable, and the orphan node is both operable and ready, the orphan node responds to the end node with aresponse token 180. Upon receipt of the response token 180 from the discovered orphan node, the bottom end node is aware that it is no longer the bottom end of the downhole network and will change its operational state to an intermediate node. Once the network is reestablished, the newsecond end node 140 b may transmit adiscovery token 170 to seek additional orphan nodes, as alluded earlier. - In various embodiments, except
first end node 110 andsecond end node 130 a/140 b, eachintermediate node 120 and/or 130 b is adapted to transmit new nodal data in both directions, i.e. to both neighboring nodes, upon obtaining authorization to transmit. For these embodiments, since each offirst end node 110 andsecond end node 130 a/140 b have only one neighboring node, both end nodes during normal operation (that is when not discovering orphan nodes) transmit only in one direction, to its directly connectedintermediate node - An iteration of data communication as described herein represents the process of providing each active node with an opportunity to claim a token during normal operation, which selectively authorizes data transmission by the node to other nodes, as the token passes from a first end node, through the one or more intermediate nodes, to a second end node. In one embodiment, the node discovery process is performed each discovery iteration of data until the physical end node is reached.
- In various embodiments, a node, upon claiming the
first token 150, will transmit data originally transmitted together with the claimed token to the next node without the token. This modified transmission is then followed by a new transmission from the node of the previously claimed token and the nodal data to the two immediate neighboring nodes. In various embodiments, only the successor node of an intermediate node (i.e. the immediate neighboring node towardssecond end node 130 a/140 b) can claim the first token included in this “new” transmission, to create another opportunity to transmit nodal data. The predecessor node (i.e. the immediate neighboring node towards first end node 110) will merely pass the first token and the data to its predecessor node. - Thus, for these embodiments, starting with
first end node 110, eachsuccessive node 120, and eventuallysecond end node 130 a/140 b, will successively has an opportunity to transmit nodal data. Further, for these embodiments, the transmitted nodal data will in due course be seen by each node of the network, regardless whether a node is a targeted recipient of the transmitted data or not, as if the nodes are agents of a bus (notwithstanding the fact that the nodes are not physically connected to common data transmission lines). - Nodal data as referenced in the specification is generally data waiting at and/or transmitted from one specific node to other nodes, once the specific node claims the first token (e.g., a down-token in a downhole network). As described earlier, nodal data is often transmitted by an intermediate node in both directions along the network. In one embodiment, once the nodal data is transmitted to another node, it simply becomes received data to be passed along the network. In contrast to nodal data, the received data is simply stored in the intermediate node for further analysis and a duplicate copy is forwarded by the intermediate node to the next node. Thus, for these embodiments, the nodes may also be referred to as store and forward nodes.
- While the
first token 150, is employed to successively authorize the nodes to transmit data, the second token 160 is employed to restart the process again, once each node has been given an opportunity to claimfirst token 150 to transmit nodal data (i.e.first token 150 having reachedsecond end node 130 a/140 b). The second token 160 is originated and passed from thesecond end node 130 a/140 b back to thefirst end node 110. Unlikefirst token 150, second token 160 is passed fromsecond end node 130 a/140 b, through intermediate node(s) 120, tofirst end node 110, without being claimed by any interveningnode 120. In various embodiments, the second token 160 is passed along with nodal data from thesecond end node 130 a/140 b to thefirst end node 110, via the at least oneintermediate node 120. - In various embodiments, transmission of tokens is effectuated by including the tokens in the data packets, in particular, headers of the data packets. In various embodiments, claiming of tokens is effectuated by modifying the headers of the data packets to effectuate removal of the tokens from the headers. In alternate embodiments, other techniques may be employed to transmit and claim tokens. Of course, embodiments are not limited to the token-passing protocol as described and shown. In fact, many possibilities exist for specific embodiments of token-passing protocols along the network 100*. For example, the token could be passed sequentially to each
node first node 110 and ending at thesecond end node 130 a/140 b and then back up the network 100* starting in thesecond end node 130 a/140 b and ending in thefirst end node 110. The cycle of sequential transmission may then repeat itself as many times as are needed. In such an embodiment, the at least oneintermediate node 120 would receive twice as many opportunities to transmit data on the network 100* than theend nodes - Other embodiments may include the consideration of additional variables as criteria which must be met before a
node node - In addition to the previously described configurations, several other different network configurations are possible, including for example one embodiment, where only one
intermediate node 120 is used, the only oneintermediate node 120 being immediately coupled to both thefirst end node 110 and thesecond end node 130 a. Alternatively, in one embodiment, the only oneintermediate node 120 and thesecond end node 130 a are the same node and are immediately coupled to thefirst end node 110. Turning now toFIGS. 2A-2D , the particular operational state interfaces of various network nodes in a downhole network, in accordance with various embodiments, are described. InFIG. 2A , atop end node 210 is illustrated. As previously described, thetop end node 210 receives tokens from the network below (TokenB) and transmits tokens to other nodes in the network from above (TokenA). In one embodiment, a TokenA is a down-token and a TokenB is an up-token in a downhole network. In another embodiment, a TokenA is afirst token 150 and a TokenB is a second token 160. Thetop end node 210 is configured to generate a first token. In one embodiment, the first token may be generated upon expiration of a response timer. Alternatively, the first token may also be generated upon receipt of a second token different from the first token at a communication interface of thetop end node 210. Thetop end node 210 transmits the first token via the same communication interface to the first immediately coupled successor node to facilitate selective data communication between nodes. - In
FIG. 2B , a bottom end node 220 is illustrated. In contrast to thetop end node 210, the bottom end node 220 receives tokens from the network above (TokenA) and transmits tokens to other nodes in the network from below (TokenB). Both thetop end node 210 and the bottom end node 220 only maintain connections in one relative direction, down for thetop end node 210 and up for the bottom end node 220. - In
FIG. 2C , anintermediate node 230 is illustrated. As previously described theintermediate node 230 may receive and transmit tokens in both directions in a downhole network. More specifically, tokens are received at theintermediate node 230 from other network nodes logically positioned above (TokenA) and below (TokenB) and tokens are transmitted by theintermediate node 230 to other network nodes in the network logically positioned above (TokenA) and below (TokenB). The intermediate node receives a first token, from a second immediately coupled predecessor node and transmits the token to a second immediately coupled successor node and/or receives another token, different from the first token, from the second immediately coupled successor node. The intermediate node transmits the received token to the other immediately coupled node, successor or predecessor. - In
FIG. 2D , anorphan node 240 is illustrated. Theorphan node 240 is not attached to the network, but monitors directly connected transmission segments for tokens that are received from other network nodes above (TokenA). In one embodiment, theorphan node 240 may also monitor directly connected transmission segments for tokens received from other network nodes positioned below the network node (TokenB). In one embodiment, theorphan node 240 suspended transmissions due to the expiration of a response timer, and will remain suspended until a discovery token is received via the at least one communication interface, from an immediately coupled predecessor node. Upon receipt of the discovery token, theorphan node 240 is configured to generate and to transmit a response token, via the at least one communication interface, to the immediately coupled predecessor node. - Turning now to
FIGS. 3A-3C , the particular methods of the invention, in accordance with various embodiments, are described in terms of operational state diagrams illustrating the state transitions of the various network nodes 310, 320, 330, and 340 in a downhole network 300. InFIG. 3A , afirst embodiment 300 a, where each node is equipped to transition from being atop end node 310 a, abottom end node 320 a, and anintermediate node 330 a of anetwork 300 a is shown. In this embodiment, a network node may transition between one of the three operational states: an operating state operating the node as atop end node 310 a, an operating state operate the node as abottom end node 320 a, and an operating state operating the node as anintermediate node 330 a. In one embodiment, a network node will initialize to operate as anintermediate node 330 a, and upon so initialized, reset time-out timers for communication interfaces associated with communications received from above the node and below the node. Upon expiration of one of the timers, the node will transition itself into a new operating state to operate itself either as abottom end node 320 a (if time-outB timer expires) or as atop end node 310 a (if time-outA timer expires). The time-outB timer expires when no communication is received from below the node, implying that the node has become the bottom end of thenetwork 300 a. Communication with the previous successor node has been severed. The time-outA timer expires when no communication is received above the node, implying that the node has become the top end of thenetwork 300 a. Communication with the previous predecessor node has been severed. From the operating state of atop end node 310 a, the node transitions back to an operating state to operate as anintermediate node 330 a if a TokenA is received from above, as the receipt of the token from above indicates that the node is no longer the top node of thenetwork 300 a. From the operating state of abottom end node 320 a, the node transitions back to an operating state to operate as anintermediate node 330 a if a TokenB is received from below, as the receipt of the token from below indicates that the node is no longer the bottom node of thenetwork 300 a. This operational state configuration enables thenetwork 300 a to have multiple sub-networks in operation at any given time, each sub-network having a differenttop end node 310 a,bottom end node 320 a, andintermediate node 330 a. - In
FIG. 3B , analternate embodiment 300 b where each node monitors for communication from above, and transitions its operational state based on the monitored above communication, is shown. As illustrated, anetwork node 300 b may operate in an operating state as abottom end node 320 b, an operating state as anintermediate node 330 b, and an operating state as anorphan node 340 b. In other words, the top end node has been assigned to a specific node. - In one embodiment, a network node will initialize to operate as an
intermediate node 330 b and thus resets time-out timers for communication interfaces associated with communications received from above the node and below the node. Alternatively, in a network configured to discover only new bottom nodes, the network node could initialize to operate as anorphan node 340 b and wait for a TokenA to be received from above before transitioning tobottom end node 320 b. - Upon expiration of one of the timers, the node operating as an
intermediate node 330 b will become either abottom end node 320 b (time-outB timer expires) or anorphan node 340 b (time-outA timer expires). As with the previous configuration the time-outB timer expires when no communication is received from below the node, implying that the node is the bottom end of the active network. In contrast, when the time-outA timer expires after no communication is received above the node, the node is assumed to not yet be connected to the active network and transitions to the orphan state. Theorphan node 340 b transitions back to abottom end node 320 b if a TokenA is received from above, as the existence of the token indicates that the node is no longer an orphan. Thebottom end node 320 b transitions back to anintermediate node 330 b if a TokenB is received from below, as the existence of the token indicates that the node is no longer the bottom node of the active network. This operational state configuration enables the active network to add nodes one at a time from the bottom. - Alternatively, the alternate embodiments could also be configured to load from the top instead of the bottom. This configuration would replace the
bottom end node 320 b with a top end node and substitute TokenA and time-outA timer for the TokenB and time-outB timer. Both top load and bottom load configurations are useful in downhole networks, where networks are linear and segmented. - In
FIG. 3C , analternate embodiment 300 c where each node is adapted to use all four operational states is shown. Each node may operate in an operational state as atop end node 310 c, another operational state as abottom end node 320 c, still another operational state as an intermediate node 330 c, and a final operational state as anorphan node 340 c. In this embodiment, a network node may transition between the four operational states. - In one embodiment where upon discovery a new network node may be either added to the top or the bottom of the network, a new network node initializes in an operational state and operate as an
orphan node 340 c and waits for either a TokenA or a TokenB to be received. If the first received token is a TokenA received from an immediately coupled predecessor node then the node operating as anorphan node 340 c resets time-outA timer and transitions to an operational state to operate as abottom end node 320 c. Alternatively, if the first received token is a TokenB received from an immediately coupled successor node then the node operating as anorphan node 340 c resets time-outB timer and transitions to an operational state to operate as atop end node 310 c. As the active network expands by discovering additional network nodes from either end, the node may transition from operating as either atop end node 310 c or abottom end node 320 c to an operational state to operate as an intermediate node. From the operating state operating as atop end node 310 c, the node transitions to an operational state to operate as an intermediate node 330 c upon receiving a TokenA from an immediately coupled predecessor node. From the operating state operating as abottom end node 320 c, the node transitions to an operating state to operate as an intermediate node 330 c upon receiving a TokenB from an immediately coupled successor node. - In each case described and illustrated in
FIGS. 3A-3C , upon receiving a packet or token, a node may automatically reset the respective timer associated with the communication interface through which, the packet is received. Expiration of the timer through communication inactivity often affects whether the node transitions to a new operational state. For example, inFIG. 3C , if the time-outB timer expires, then a node operating as an intermediate node 330 c transitions to an operational state to operate as abottom end node 320 c and a node operating as atop end node 310 c transitions to an operational state to operate as anorphan node 340 c. If the time-outA timer expires, then a node operating as an intermediate node 330 c transitions to an operational state to operate as atop end node 310 c and abottom end node 320 c transitions to an operational state to operate as anorphan node 340 c. Accordingly, for these embodiments, a node operating as abottom end node 320 c remains thebottom end node 320 c if the time-outB timer expires, and a node operating as atop end node 310 c remains thetop end node 310 c if the time-outA timer expires. - As shown in
FIGS. 3A-3C , a wide variety of alternate and/or equivalent state operational implementations may be substituted for the specific embodiments shown and previously described without departing from the scope of the present invention. For example, in one embodiment where successor nodes are dependent on predecessor nodes, the timers for successor nodes may selectively expire contemporaneously with a predecessor node timer, thereby expediting the transition to an orphan node for a series of successor nodes. Accordingly, in another embodiment where predecessor nodes are reliant on successor nodes, the timers for a series of predecessor nodes may selectively expire contemporaneous with a successor node timer expiration, thereby expediting the transition for the linked nodes to an orphan node operational state. - Referring now to
FIG. 4 , a block diagram demonstrating a dual transition for two nodes (410* and 430*) from an initial operational state to a subsequent operational state in accordance with various embodiments is shown. Initially, firstbottom end node 410 a transmits adiscovery token 420 toorphan node 430 a, see (A) inFIG. 4 . In one embodiment, the firstbottom end node 410 a begins node discovery upon expiration of a discovery timer. Alternatively, node discovery might also begin automatically upon receipt of a token, such as a first token or a down-token. - Upon receipt of the discovery token, the first node operating as an
orphan node 430 a transitions to operate as a secondbottom end node 430 b, see (B)FIG. 4 , and transmits aresponse token 440 back to the node operating as the firstbottom end node 410 a, see (C)FIG. 4 . Upon receipt of theresponse token 440, the node operating as the first bottom end node recognizes that it is no longer the bottom node and transitions to operate as anintermediate node 410 b, see (D)FIG. 4 . Thus, during the next round of communication the network will have introduced a new bottom node with secondbottom end node 430 b and established a newintermediate node 410 b. - When drilling boreholes into earthen formations, a
drilling operation 500 as shown inFIG. 5 may be used. Thedrilling operation 500 may include adrilling rig 505, an integrated downhole physically segmented logicaltoken network 510, and atubular drill string 560 having abottom hole assembly 580. Thebottom hole assembly 580 typically forms the bottom of thedrill string 560, which is typically rotatably driven by adrilling rig 505 from the surface. In addition to providing motive force for rotating thedrill string 560, thedrilling rig 505 also supplies a drilling fluid under pressure through thetubular drill string 560 to thebottom hole assembly 580. Other components of thebottom hole assembly 580 include adrill collar 575, adrill bit 590, and various other down hole components. In operation, thedrill bit 590 is rotated and weight is applied. This action forces thedrill bit 590 into the earth, and as the bit is rotated, a drilling action is effected. The downhole physically segmented logicaltoken network 510 includes a first end node and/or atop node 520, a plurality of transmission segments integrated into thedrill pipe 570, a plurality of intermediate nodes and/ormiddle nodes bottom node 550. Thedownhole network 510 provides an electrical interconnection between thetop node 520 and thebottom node 550. Thetop node 520 may, in accordance with at least one embodiment, be a component of aserver 515. Theserver 515 is positioned near the top of the well in one embodiment and may relay reconstituted well information gathered from various components in thedownhole 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 ofFIG. 1 , although features may be described in a more directional nature, for example, in the downhole network 510 a first token may be a down-token, and a second token may be an up-token or the first end node represented by a top end node and the second end node represented by a bottom end node. As such, the down-token is a logical token generated by thetop 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 thetop 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 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 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 thetop 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 thebottom 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 thedownhole 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 thebottom hole assembly 580, temporarily interrupting data may be unacceptable. In these situations the network may employ multiple sub-networks to divide thenetwork 510 and continue data communication. For example the illustratednetwork 510 may be divided into two sub-networks, the portion of thenetwork 510 in abottom hole assembly 580 and the top portion of thedrill string 560 associated with asub-network 585. In various embodiments, an entire sub-network, e.g. all the nodes ofsub-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. - Other modifications may also be made to each network node (520, 530, 540, and 550) in the
downhole network 510 to facilitate data processing and data communication. An exemplarydownhole network node 600 suitable for practicing various embodiments as presented inFIG. 5 is shown inFIG. 6 , a block diagram of adownhole network node 600 having at least onecommunication interface 620 and acommunication module 610. Thenetwork node 600 includes at least onecommunication interface 620, acommunication module 610, apacket router 630, alocal processing module 640, and a localdata acquisition module 650, coupled to each other as shown. - The illustrated
communication module 610, such as a modem, may be connected to thenetwork 510 in at least two directions. However, in alternate configurations thecommunication module 610 may only be connected to thenetwork 510 in one direction. Thecommunication module 610 may modulate digital bits on an analog signal to transmit data packets from thenetwork node 600 on thenetwork 510 and demodulates analog signals received from thenetwork 510 into digital data packets. - The
network node 600 may comprise apacket router 630 that receives packets from thecommunication module 610 and forwards them to one or more of alocal processing module 640, a localdata acquisition module 650, or aperipheral port 660. Packets to be transmitted on thenetwork 510 may also be forwarded to thecommunication module 610 from thepacket router 630. - The
downhole network node 600 includes aperipheral tool port 660, which allows thedownhole network node 600 to collect data from associated tools, packetize the tool data and transmit it to the top of the well. - As previously indicated, a
network node 600 may also employ atiming device 670 to calculate whether time-out thresholds have been reached as described inFIGS. 3 , 4, 7, 8, 9 and 10. Thetiming device 670 may include multiple timers individually assigned to eachcommunication interface 620 or tocommunication module 610 in general. - Turning now to
FIGS. 7-11 , 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. 7 , a flowchart of a portion of the operations of a node operating as a first and/ortop end node 700 in accordance with various embodiments is shown. Inblock 710, a node operating as thefirst end node 700 generates a first token. The node operating as thefirst end node 700 determines whether nodal data is available to be transmitted with the first token inquery block 720. If nodal data is available, then the node operating as thefirst end node 700 appends the nodal data to the packet for transmission with the token inblock 730. In one embodiment, the process of transmitting nodal data from the node operating as the first end node includes combining the nodal data and the first token into a single data packet to be transmitted together to a successor node inblock 740. Alternatively, if the node operating as thefirst end node 700 does not have any additional nodal data to transmit, the token may be transmitted without first end nodal data to a successor node inblock 740. - In
query block 750, the node operating as thefirst end node 700 determines whether a second token has been received. Upon receipt of the second token,query block 750 directs the node operating asfirst end node 700 back to block 710 to generate another first token. Alternatively, if the second token has not been received,query block 760 determines whether a time-out threshold has been reached for delivery of the second token. In one embodiment, the time-out threshold is a variable time period based in part on the number of nodes in the network. The threshold may also be based in part on various other factors such as the potential size of packets being transmitted, the potential latency between a packet being received at a node and the transmission of the packet to the next node, and whether other packets have been received at thefirst end node 700 since the previous first token was previously transmitted in conjunction withblock 740. - Once the time-out threshold is reached,
query block 760 directs the operations of the node operating as thefirst end node 700 to generate the first token inblock 710. In one embodiment,query block 760 may be implemented using a timing device with a timer configured to countdown to zero from a max response time. In this configuration the timer may be reset each time a packet is received by the first end node or in the alternative each time a token is received. Prior to reaching the time-out threshold, the node operating as thefirst end node 700 continues to wait for either the arrival of the second token atquery block 750 or the expiration of a time-out timer associated with the token inquery block 760. - Referring now to
FIG. 8 , a flowchart of a portion of the operations of a node operating as anintermediate node 800 in accordance with various embodiments is shown. The node operating as theintermediate node 800 receives a token inblock 810. The first token may be received from an immediately coupled predecessor node in the physically segmented logical token network and the second token may be received from an immediately coupled successor node in the physically segmented logical token network. As such, the tokens, in a downhole network, may be received from an immediately coupled node physically positioned either above or below theintermediate node 800. Upon receiving the token, the node operating as theintermediate node 800 inquery block 820 determines whether it may claim the token (e.g., for earlier described embodiments, whether the token is a first token 150). In one instance, the node operating as theintermediate node 800 inquery block 820 determines whether the token may be claimed and whether it has additional nodal data to transmit to the other nodes in the physically segmented logical token network. In one embodiment, certain tokens (such as token 160) may not be claimed by an intermediate node regardless of whether nodal data needs to be transmitted. Once the node operating as theintermediate node 800 inquery block 820 determines that the token may be claimed and that it has nodal data to be transmitted, the node operating as theintermediate node 800 claims the token and transmits the data in the packet without the token to the successor node inblock 840. The node operating as the intermediate node then combines the nodal data with the token inblock 850 for transmission on the network to both immediately coupled nodes inblock 830. Alternatively, if the node operating as theintermediate node 800 determines that the token may not be claimed inquery block 820, (e.g., the token is a second token 160) then the received token is transmitted to the next different immediately coupled node inblock 830. For example, the node operating as theintermediate node 800 transmits the unclaimed token to the immediately coupled predecessor node if the token was received from the immediately coupled successor node and to the immediately coupled successor node if the token was received from the immediately coupled predecessor node. - As with the node operating as the top end node in
FIG. 7 , the node operating as theintermediate node 800 may also compute whether a time-out threshold has been reached inquery block 860 prior to returning to block 810. However, this time-out threshold will be based on whether either a first or second token has been received. In one embodiment, the intermediate node has two time-out thresholds, each being a variable time period based in part on the number of nodes in the network between the intermediate node and the end node. Depending on which one of the thresholds is reached prior to receipt of a new token, the node operating as theintermediate node 800 may transition to either an orphan node, first end node, or a second end node inblock 870. For example, on timing-out forfirst token 150, a node operating as anintermediate node 800 may transition to operate as a first end node, and on further timing-out for second token 160, the node operating as theintermediate node 800 transitions to operate as an orphan node. On the other hand, on timing-out for second token 160 first, a node operating as anintermediate node 800 may transition to operate as a second end node, and on further timing-out forfirst token 150, the node operating as theintermediate node 800 transitions to operate as an orphan node. - Referring now to
FIG. 9 , a flow chart of a portion of operations of a node operating as asecond end node 900 in accordance with various embodiments is shown. The node operating as asecond end node 900 receives a first token from a predecessor node inblock 910. Inblock 910, the node operating as thesecond end node 900 consumes the first token, regardless of whether nodal data is available to be transmitted from the node operating as thesecond end node 900. In one embodiment, delivery of the first token to the node operating as thesecond end node 900 automatically results in the node operating as thesecond end node 900 generating asecond token 920. - In addition to generating the second token, the node operating as the
second end node 900 may also determine whether nodal data is available to be transmitted to the other active nodes in the physically segmented logical token network. In one embodiment, the nodal data from the node operating as thesecond end node 900 is appended to the packet containing the second token for transmission by the node operating as thesecond end node 900 inblock 930. Alternatively, the nodal data from the node operating as thesecond end node 900 could also be sent in a packet prior to the transmission of the second token. Accordingly, regardless of whether supplemental data has been attached by the node operating as thesecond end node 900, the second token is transmitted to the predecessor node of the node operating as the second end node inblock 930. - The transmission of the second token to the predecessor node in
block 930 notifies the first end node that a new round of communication may be initiated. In one configuration, the second token may not be claimed by intermediate nodes and is automatically transmitted to the node's predecessor node. Once the second token reaches the first end node, a new first token will be generated as previously described inFIG. 7 . - The node operating as a
second end node 900 determines whether the discovery timer has expired inquery block 940. Upon discovery time-out inblock 940, the node operating as the second end node transmits a discovery token to a potential successor node and/or orphan node inblock 980. In one embodiment, the discovery token is a second token transmitted in a different direction. The node operating as asecond end node 900 waits for a response token inquery block 990, until either a response timer times out or a response token is received. If a response token is received, the second end node transitions to an intermediate node inblock 995. - If the discovery timer has not timed out, the node operating as the
second end node 900 determines whether a communication threshold for receiving a token within a given time-out period has been reached inquery block 950. In one embodiment, the node operating as thesecond end node 900 is configured to transition to an orphan node operational state inblock 960, if the threshold has been passed or the associated time-out timer has expired. Alternatively, the node operating as thesecond end node 900 could automatically generate a second token when a given overall time-out threshold, based in part on the number of known active nodes in the network, is reached, so long as the first end node is not similarly configured. - If the time-out timer has not expired, the node operating as the
second end node 900 awaits receipt of the first token from the predecessor node inblock 970. In various embodiments, the node operating as thesecond end node 900 also includes timing modules to identify the range of anticipated arrival times of the next first token. If the next first token does not arrive within the calculated time period, the node operating as thesecond end node 900 may optionally generate another second token in accordance with one embodiment. Alternatively, upon expiration of the response timer, the node operating as thesecond end node 900 may optionally designate itself as an orphan node. In one embodiment, the node operating as thesecond end node 900 continues to wait in a time-out loop as part of query blocks 940, 950, and 970 until either a first token is received and the node operating as thesecond end node 900 generates another second token inblock 920 or until one of the two timers expires in eitherquery block - Referring to
FIG. 10 , a flowchart of a portion of operations of a network communication arrangement performing node discovery in accordance with various embodiments is shown. A discovery timer expires inblock 1010, the node(s) charged with discovery in thecommunication arrangement 1000 transmit(s) a discovery token to a next node inblock 1020. The associated response timer monitoring the associated transmission segment is set inblock 1030. If a response token is received prior to the expiration of the timer inquery block 1040, the operational state of both nodes is changed accordingly inblock 1060. Otherwise the discovery timer is reset inblock 1050. The discovery timer may be reset based in part on the number of nodes in the network. Alternatively, the discovery timer may be set based on the transmission latency of the network between nodes. - Referring to
FIGS. 11A and 11B , flowcharts of portions of operations of node discovery at a network layer for a new networking node (FIG. 11A ) and a network server (FIG. 11B ) in accordance with various embodiments is shown. InFIG. 11A a new networking node similar to those previously described, powers-up with a default address inblock 1110. This power-up process may occur as a result of a variety of activities, such as upon insertion of the node into the network or activation following a prolonged orphan state. As the new nodes are added to the network, they must be configured to interact with the network server and be addressable at the network layer (NET). To facilitate configuration, the network server requests an identifier packet from each node inblock 1115 ofFIG. 11B . In response to the server's request, the new node transmits the requested identifier packet using the default address to a predecessor node in block 1120 ofFIG. 11A . In one embodiment, the new node may also receive identifier packets from successor nodes inblock 1130. The new node modifies the received MAC (Medium Access Control) header by incrementing the hop count inblock 1140 and transmits the modified packet identifier to the predecessor node in block 1150. - The server receives each identifier packet including the hop counts in
block 1155. Based in part on an examination of the received MAC and NET headers inblock 1165, the server is able to determine the relative distance of each node from the server and assign an appropriate NET address to each node inblock 1175. The server also updates the relative network topology look-up table entries for each of the recorded nodes. In one embodiment, the server maintains a historical topology database. This enables the server to identify various node qualities and performance tendencies. The topology table includes node connection information, such as found, inserted, visible, intermittent connectivity, lost, or removed. - Once the server has assigned each of the nodes a new NET address, the addresses are transmitted from the server to all the network nodes in
block 1185. The new network node receives a new NET address inblock 1190 and changes from the default address. - In various embodiments the node discovery process is performed periodically to detect changes in network topology and identify addressing problems, such as duplicate network identification or multiple nodes using the default identification. Changes to the network topology are detected each time the node discovery process is run and the topology table is thereby synchronized with the actual configuration of the network.
- As such, the node discovery process does not only discover new nodes, but the topology table generated by the server can categorize the nodes into various topological states, based in part on the current discovery results and in part on previous discovery attempts. The various topological states include found, inserted, visible, intermittent, lost, or removed.
- 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. For example, the
network 1200 inFIG. 12 could implement the described physically segmented logical token network. Where acomputing device 1210 could operate as a first end node generating afirst token 1240 and aclient computing device 1230 could operate as a second end node generating asecond token 1250. Thecomputing device 1210 and theclient computing device 120 may include general and/or special purpose computing devices, such as a desktop computer, a personal digital assistant (PDA), a server, and/or console suitably configured for practicing the present invention in accordance with at least one embodiment. - The various network devices 1220 could function as intermediate nodes, where the
routers computing device 1210 and theclient computing device 1230 and thebridge 1220 b selectively forwards packets received from onepredecessor router 1220 a to theappropriate successor router 1220 c. In this manner, a virtual private network could be established between thecomputing device 1210 and theclient computing device 1230. - Thus, a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and previously described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifested and intended that the invention be limited only by the claims and the equivalence thereof.
Claims (14)
1. A networking node comprising:
at least two communication interfaces configurable to couple the networking node to at least a predecessor node and a successor node;
a timing module configurable to track one or more timing periods; and
a communication module coupled to the at least two communication interfaces and the timing module, and adapted to perform at least one of:
(a) generate a first token, upon expiration of a response timing period or receipt of a second token via one of the at least two communication interfaces from the immediately coupled successor node, and transmit the first token via the same communication interface to the immediately coupled successor node to facilitate selective data communication with at least the immediately coupled successor node;
(b) receive a third token, from the predecessor node, via one of the at least two communication interfaces and transmit the third token to the successor node and/or receive a fourth token, different from the third token, from the successor node via the other one of the at least two communication interfaces and transmit the fourth token to the predecessor node;
(c) receive a fifth token, via only one of the at least two communication interfaces from the predecessor node and generate and transmit a sixth token to the predecessor node;
(d) transmit a seventh token upon expiration of a discovery timing period, via one of the at least two communication interfaces to determine if the successor node is coupled;
(e) selectively suspending the networking node after expiration of at least one response timing period associated with one of the at least two communication interfaces; and
(f) receive an eighth token to restore the networking node to an operational state after a previous suspension of the networking node, and in response, transmit a ninth token to at least a selected one of the predecessor node and the successor node.
2. The networking node of claim 1 , wherein the networking node is adapted to perform at least (c) and (d).
3. The networking node of claim 2 , wherein the networking node is further adapted to perform at least (b), the third token and the fifth token are the same token, and the fourth token and the sixth token are the same token.
4. The networking node of claim 2 , wherein the networking node is further adapted to perform at least (e) and (f), the seventh token and the eighth token are the same token, and the sixth token and the ninth token are the same token.
5. The networking node of claim 1 , wherein the networking node is adapted to perform at least (e) and (f).
6. The networking node of claim 5 , wherein the networking node is further adapted to perform at least (b) and at least one of the third token and the fourth token are the same token as the eighth token.
7. The networking node of claim 1 , wherein the networking node is adapted to perform at least (b) and (c) and (d) and (e) and (f), the third token and the fifth token and eighth token are the same token, and the fourth token and the sixth token and the seventh token and ninth token are the same token.
8. The networking node of claim 1 , wherein the first token, the third token, the fifth token, the seventh token, and the eighth token are a down-token and the second token, the fourth token, the sixth token, and the ninth token are an up-token in a downhole network associated with a drill string, the downhole network formed by a plurality of networking nodes coupled together in a hierarchal physically segmented logical token configuration.
9. The networking device of claim 1 , wherein the timing module resets the response timing period associated with each of the at least two communication interfaces upon transmission of a token.
10. The networking device of claim 1 , wherein previously suspended nodes are suspended due to the expiration of the response timing periods associated with all of the at least two communication interfaces.
11. An article of manufacture comprising:
storage medium having stored therein a plurality of programming instructions; and
at least one of first, second, third, and fourth sets of programming instructions, the at least one sets of programming instructions being stored in the storage medium,
the first sets of programming instructions are adapted to enable a networking node to generate a first token and to transmit the first token via at least one communication interface to a first immediately coupled successor node to facilitate selective data communication among nodes of a first serial network, the networking node and the first immediately coupled successor node being members of the first serial network, the selective data communication among nodes being suspended via a second token different from the first token,
the second sets of programming instructions are adapted to enable a networking node to receive a third token, via the at least one communication interface, from a first immediately coupled predecessor node, and to transmit the third token to a second immediately coupled successor node, the third token being employed to facilitate selective data communication among nodes of a second serial network, the networking node, the first immediately coupled predecessor node, and the second immediately coupled successor node are members of the second serial network, the selective data communication among nodes being suspended via a fourth token different from the third token,
the third sets of programming instructions are adapted to enable a networking node to receive a fifth token, via the at least one communication interface, from a second immediately coupled predecessor node, and to generate and to transmit a sixth token, via the at least one communication interface, to the second immediately coupled predecessor node, the sixth token being employed to facilitate selective data transmission from the networking node to the other nodes of a third serial network and to selectively suspend data communication by other nodes of the third serial network, the networking node and the second immediately coupled predecessor node are members of the third serial network, and
the fourth sets of programming instructions are adapted to enable a networking node to suspend transmissions upon expiration of a response timer until a seventh token is received via the at least one communication interface, from a third immediately coupled predecessor node, and upon receipt of the seventh token to generate and to transmit a eighth token, via the at least one communication interface, to the third immediately coupled predecessor node.
12. The article of manufacture of claim 11 , wherein the article of manufacture comprises at least two of the first, the second, the third, and the fourth sets of programming instructions.
13. The article of manufacture of claim 12 , wherein the article of manufacture comprises three of the first, the second, the third, and the fourth sets of programming instructions.
14. The article of manufacture of claim 13 , wherein the article of manufacture comprises all four of the first, the second, the third, and the fourth sets of programming instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/489,309 US20090257364A1 (en) | 2006-02-16 | 2009-06-22 | Node Discovery in Physically Segmented Logical Token Network |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US76687506P | 2006-02-16 | 2006-02-16 | |
US77515206P | 2006-02-21 | 2006-02-21 | |
US11/674,844 US7570175B2 (en) | 2006-02-16 | 2007-02-14 | Node discovery in physically segmented logical token network |
US12/489,309 US20090257364A1 (en) | 2006-02-16 | 2009-06-22 | Node Discovery in Physically Segmented Logical Token Network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/674,844 Division US7570175B2 (en) | 2006-02-16 | 2007-02-14 | Node discovery in physically segmented logical token network |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090257364A1 true US20090257364A1 (en) | 2009-10-15 |
Family
ID=38109610
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/674,815 Active 2028-02-17 US7649473B2 (en) | 2006-02-16 | 2007-02-14 | Physically segmented logical token network |
US11/674,864 Abandoned US20070201362A1 (en) | 2006-02-16 | 2007-02-14 | Increasing Bandwidth in a Downhole Network |
US11/674,844 Active 2028-02-17 US7570175B2 (en) | 2006-02-16 | 2007-02-14 | Node discovery in physically segmented logical token network |
US11/674,874 Abandoned US20080095165A1 (en) | 2006-02-16 | 2007-02-14 | Net-Layer Parsing and Resynchronization |
US12/489,309 Abandoned US20090257364A1 (en) | 2006-02-16 | 2009-06-22 | Node Discovery in Physically Segmented Logical Token Network |
US12/615,858 Abandoned US20100054273A1 (en) | 2006-02-16 | 2009-11-10 | Physically Segmented Logical Token Network |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/674,815 Active 2028-02-17 US7649473B2 (en) | 2006-02-16 | 2007-02-14 | Physically segmented logical token network |
US11/674,864 Abandoned US20070201362A1 (en) | 2006-02-16 | 2007-02-14 | Increasing Bandwidth in a Downhole Network |
US11/674,844 Active 2028-02-17 US7570175B2 (en) | 2006-02-16 | 2007-02-14 | Node discovery in physically segmented logical token network |
US11/674,874 Abandoned US20080095165A1 (en) | 2006-02-16 | 2007-02-14 | Net-Layer Parsing and Resynchronization |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/615,858 Abandoned US20100054273A1 (en) | 2006-02-16 | 2009-11-10 | Physically Segmented Logical Token Network |
Country Status (4)
Country | Link |
---|---|
US (6) | US7649473B2 (en) |
EP (2) | EP1821463A1 (en) |
CA (2) | CA2578886A1 (en) |
MX (2) | MX2007001832A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949416B1 (en) * | 2012-01-17 | 2015-02-03 | Canyon Oak Energy LLC | Master control system with remote monitoring for handling tubulars |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962595B1 (en) * | 2007-03-20 | 2011-06-14 | Emc Corporation | Method and apparatus for diagnosing host to storage data path loss due to FibreChannel switch fabric splits |
US8165021B2 (en) * | 2007-09-05 | 2012-04-24 | Cisco Technology, Inc. | Policy-based resource management |
US20090146836A1 (en) * | 2007-12-11 | 2009-06-11 | Schlumberger Technology Corporation | Methods and apparatus to configure drill string communications |
WO2010027786A1 (en) * | 2008-08-25 | 2010-03-11 | Saudi Arabian Oil Company | Data acquisition in an intelligent oil and gas field |
US8650397B2 (en) * | 2008-09-24 | 2014-02-11 | Telefonaktiebolaget L M Ericsson (Publ) | Key distribution to a set of routers |
US7920467B2 (en) * | 2008-10-27 | 2011-04-05 | Lexmark International, Inc. | System and method for monitoring a plurality of network devices |
US8645571B2 (en) * | 2009-08-05 | 2014-02-04 | Schlumberger Technology Corporation | System and method for managing and/or using data for tools in a wellbore |
US8209447B2 (en) * | 2009-08-31 | 2012-06-26 | Micron Technology, Inc. | Device to device flow control within a chain of devices |
US9094175B2 (en) | 2010-07-16 | 2015-07-28 | Qualcomm, Incorporated | Method and apparatus for saving power by using signal field of preamble |
US8633830B2 (en) * | 2010-10-06 | 2014-01-21 | Wixxi Technologies, Llc | Intelligent universal wireless adapter |
US9593567B2 (en) | 2011-12-01 | 2017-03-14 | National Oilwell Varco, L.P. | Automated drilling system |
US20130142094A1 (en) * | 2011-12-02 | 2013-06-06 | Qualcomm Incorporated | Systems and methods for frame filtering and for enabling frame filtering |
JP5756430B2 (en) * | 2012-06-05 | 2015-07-29 | 株式会社日立製作所 | Net monitoring device |
US9911323B2 (en) * | 2012-12-04 | 2018-03-06 | Schlumberger Technology Corporation | Toolstring topology mapping in cable telemetry |
US9816373B2 (en) | 2012-12-19 | 2017-11-14 | Exxonmobil Upstream Research Company | Apparatus and method for relieving annular pressure in a wellbore using a wireless sensor network |
WO2014100272A1 (en) | 2012-12-19 | 2014-06-26 | Exxonmobil Upstream Research Company | Apparatus and method for monitoring fluid flow in a wellbore using acoustic signals |
WO2014100274A1 (en) | 2012-12-19 | 2014-06-26 | Exxonmobil Upstream Research Company | Apparatus and method for detecting fracture geometry using acoustic telemetry |
WO2014100275A1 (en) | 2012-12-19 | 2014-06-26 | Exxonmobil Upstream Research Company | Wired and wireless downhole telemetry using a logging tool |
WO2014100262A1 (en) | 2012-12-19 | 2014-06-26 | Exxonmobil Upstream Research Company | Telemetry for wireless electro-acoustical transmission of data along a wellbore |
US9631485B2 (en) | 2012-12-19 | 2017-04-25 | Exxonmobil Upstream Research Company | Electro-acoustic transmission of data along a wellbore |
WO2015080754A1 (en) | 2013-11-26 | 2015-06-04 | Exxonmobil Upstream Research Company | Remotely actuated screenout relief valves and systems and methods including the same |
CA2955381C (en) | 2014-09-12 | 2022-03-22 | Exxonmobil Upstream Research Company | Discrete wellbore devices, hydrocarbon wells including a downhole communication network and the discrete wellbore devices and systems and methods including the same |
US9762676B2 (en) | 2014-09-26 | 2017-09-12 | Intel Corporation | Hardware resource access systems and techniques |
US10687381B2 (en) * | 2014-12-01 | 2020-06-16 | Lg Electronics Inc. | Method and apparatus for configuring prohibit timer for prose transmission in wireless communication system |
US9531850B2 (en) * | 2014-12-04 | 2016-12-27 | Cisco Technology, Inc. | Inter-domain service function chaining |
US9863222B2 (en) | 2015-01-19 | 2018-01-09 | Exxonmobil Upstream Research Company | System and method for monitoring fluid flow in a wellbore using acoustic telemetry |
US10408047B2 (en) | 2015-01-26 | 2019-09-10 | Exxonmobil Upstream Research Company | Real-time well surveillance using a wireless network and an in-wellbore tool |
CN106302206B (en) * | 2015-05-28 | 2020-04-24 | 中兴通讯股份有限公司 | Message forwarding processing method, device and system |
US10021018B2 (en) * | 2015-09-07 | 2018-07-10 | Citrix Systems, Inc. | Systems and methods for associating multiple transport layer hops between clients and servers |
US10344583B2 (en) | 2016-08-30 | 2019-07-09 | Exxonmobil Upstream Research Company | Acoustic housing for tubulars |
US10465505B2 (en) | 2016-08-30 | 2019-11-05 | Exxonmobil Upstream Research Company | Reservoir formation characterization using a downhole wireless network |
US10364669B2 (en) | 2016-08-30 | 2019-07-30 | Exxonmobil Upstream Research Company | Methods of acoustically communicating and wells that utilize the methods |
US10415376B2 (en) | 2016-08-30 | 2019-09-17 | Exxonmobil Upstream Research Company | Dual transducer communications node for downhole acoustic wireless networks and method employing same |
US10697287B2 (en) | 2016-08-30 | 2020-06-30 | Exxonmobil Upstream Research Company | Plunger lift monitoring via a downhole wireless network field |
US10590759B2 (en) | 2016-08-30 | 2020-03-17 | Exxonmobil Upstream Research Company | Zonal isolation devices including sensing and wireless telemetry and methods of utilizing the same |
US10526888B2 (en) | 2016-08-30 | 2020-01-07 | Exxonmobil Upstream Research Company | Downhole multiphase flow sensing methods |
US11828172B2 (en) | 2016-08-30 | 2023-11-28 | ExxonMobil Technology and Engineering Company | Communication networks, relay nodes for communication networks, and methods of transmitting data among a plurality of relay nodes |
US11143010B2 (en) | 2017-06-13 | 2021-10-12 | Schlumberger Technology Corporation | Well construction communication and control |
US11021944B2 (en) | 2017-06-13 | 2021-06-01 | Schlumberger Technology Corporation | Well construction communication and control |
US20180359130A1 (en) * | 2017-06-13 | 2018-12-13 | Schlumberger Technology Corporation | Well Construction Communication and Control |
MX2020003298A (en) | 2017-10-13 | 2020-07-28 | Exxonmobil Upstream Res Co | Method and system for performing operations using communications. |
US11035226B2 (en) | 2017-10-13 | 2021-06-15 | Exxomobil Upstream Research Company | Method and system for performing operations with communications |
US10697288B2 (en) | 2017-10-13 | 2020-06-30 | Exxonmobil Upstream Research Company | Dual transducer communications node including piezo pre-tensioning for acoustic wireless networks and method employing same |
CN111201727B (en) | 2017-10-13 | 2021-09-03 | 埃克森美孚上游研究公司 | Method and system for hydrocarbon operations using a hybrid communication network |
CN111201726B (en) | 2017-10-13 | 2021-09-03 | 埃克森美孚上游研究公司 | Method and system for communication using aliasing |
US10837276B2 (en) | 2017-10-13 | 2020-11-17 | Exxonmobil Upstream Research Company | Method and system for performing wireless ultrasonic communications along a drilling string |
US10690794B2 (en) | 2017-11-17 | 2020-06-23 | Exxonmobil Upstream Research Company | Method and system for performing operations using communications for a hydrocarbon system |
CA3081792C (en) | 2017-11-17 | 2022-06-21 | Exxonmobil Upstream Research Company | Method and system for performing wireless ultrasonic communications along tubular members |
US10844708B2 (en) | 2017-12-20 | 2020-11-24 | Exxonmobil Upstream Research Company | Energy efficient method of retrieving wireless networked sensor data |
CN111542679A (en) | 2017-12-29 | 2020-08-14 | 埃克森美孚上游研究公司 | Method and system for monitoring and optimizing reservoir stimulation operations |
US11156081B2 (en) | 2017-12-29 | 2021-10-26 | Exxonmobil Upstream Research Company | Methods and systems for operating and maintaining a downhole wireless network |
CN111699640B (en) | 2018-02-08 | 2021-09-03 | 埃克森美孚上游研究公司 | Network peer-to-peer identification and self-organization method using unique tone signature and well using same |
US11268378B2 (en) | 2018-02-09 | 2022-03-08 | Exxonmobil Upstream Research Company | Downhole wireless communication node and sensor/tools interface |
CN109194539B (en) * | 2018-08-13 | 2022-01-28 | 中国平安人寿保险股份有限公司 | Data management and control method and device, computer equipment and storage medium |
DE102018124184A1 (en) * | 2018-10-01 | 2020-04-02 | Endress+Hauser Process Solutions Ag | Procedure for establishing network communication using OPC UA |
US20220052911A1 (en) * | 2018-12-03 | 2022-02-17 | Deutsche Telekom Ag | Simplified operation and architecture of a central office point of delivery within a broadband access network of a telecommunications network |
US11952886B2 (en) | 2018-12-19 | 2024-04-09 | ExxonMobil Technology and Engineering Company | Method and system for monitoring sand production through acoustic wireless sensor network |
US11293280B2 (en) | 2018-12-19 | 2022-04-05 | Exxonmobil Upstream Research Company | Method and system for monitoring post-stimulation operations through acoustic wireless sensor network |
CN111181800B (en) * | 2019-11-27 | 2023-09-19 | 腾讯科技(深圳)有限公司 | Test data processing method and device, electronic equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5959547A (en) * | 1995-02-09 | 1999-09-28 | Baker Hughes Incorporated | Well control systems employing downhole network |
US20020064163A1 (en) * | 2000-11-30 | 2002-05-30 | Takehiko Fujiyama | Method and apparatus for transmitting data in a linear-type or ring-type network |
US20020120401A1 (en) * | 2000-09-29 | 2002-08-29 | Macdonald Robert P. | Method and apparatus for prediction control in drilling dynamics using neural networks |
US6594232B1 (en) * | 1999-06-02 | 2003-07-15 | Marconi Communications, Inc. | Transmitter-based path protection switching in a ring network |
US20040208159A1 (en) * | 2003-04-16 | 2004-10-21 | Samsung Electronics Co., Ltd. | Network device, system and method for providing list of controlled devices |
US20040245017A1 (en) * | 2003-01-17 | 2004-12-09 | Halliburton Sperry-Sun | Integrated drilling dynamics system |
US20040256152A1 (en) * | 2003-03-31 | 2004-12-23 | Baker Hughes Incorporated | Real-time drilling optimization based on MWD dynamic measurements |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0096097B1 (en) | 1982-06-15 | 1985-12-27 | International Business Machines Corporation | Method and apparatus for controlling access to a communication network |
US5001472A (en) * | 1988-02-11 | 1991-03-19 | Datapoint Corporation | Uneven token distribution technique for token based local area network |
US4972437A (en) * | 1988-06-24 | 1990-11-20 | International Business Machines Corporation | Method of controlling limited resource sessions in a data communications network |
US4949337A (en) * | 1989-01-30 | 1990-08-14 | Honeywell Inc. | Token passing communication network including a node which maintains and transmits a list specifying the order in which the token is passed |
CH677568A5 (en) * | 1989-03-21 | 1991-05-31 | Datawatt Bv | |
JP3115451B2 (en) | 1993-05-21 | 2000-12-04 | トヨタ自動車株式会社 | Communication network |
US6400281B1 (en) * | 1997-03-17 | 2002-06-04 | Albert Donald Darby, Jr. | Communications system and method for interconnected networks having a linear topology, especially railways |
EP0978977A1 (en) * | 1998-08-07 | 2000-02-09 | International Business Machines Corporation | A method and system for improving high speed internetwork data transfers |
US6483812B1 (en) * | 1999-01-06 | 2002-11-19 | International Business Machines Corporation | Token ring network topology discovery and display |
US6853623B2 (en) * | 1999-03-05 | 2005-02-08 | Cisco Technology, Inc. | Remote monitoring of switch network |
US7342897B1 (en) * | 1999-08-07 | 2008-03-11 | Cisco Technology, Inc. | Network verification tool |
US6922557B2 (en) * | 2000-10-18 | 2005-07-26 | Psion Teklogix Inc. | Wireless communication system |
US6985459B2 (en) * | 2002-08-21 | 2006-01-10 | Qualcomm Incorporated | Early transmission and playout of packets in wireless communication systems |
US7280477B2 (en) * | 2002-09-27 | 2007-10-09 | International Business Machines Corporation | Token-based active queue management |
US8339945B2 (en) * | 2003-07-01 | 2012-12-25 | Mworks Wireless Holdings Llc | Data link control architecture for integrated circuit devices |
US7139218B2 (en) * | 2003-08-13 | 2006-11-21 | Intelliserv, Inc. | Distributed downhole drilling network |
US7529267B2 (en) * | 2004-03-19 | 2009-05-05 | Fujitsu Limited | Data transmissions in communication networks using multiple tokens |
US7200070B2 (en) * | 2004-06-28 | 2007-04-03 | Intelliserv, Inc. | Downhole drilling network using burst modulation techniques |
US7508839B2 (en) * | 2004-07-09 | 2009-03-24 | Nokia Corporation | Encapsulator and an associated method and computer program product for encapsulating data packets |
US7672314B2 (en) * | 2004-07-09 | 2010-03-02 | Cisco Technology, Inc. | Scaling VLANs in a data network |
US8406211B2 (en) * | 2004-09-29 | 2013-03-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Forward error correction for broadcast/multicast service |
US7347271B2 (en) * | 2004-10-27 | 2008-03-25 | Schlumberger Technology Corporation | Wireless communications associated with a wellbore |
US7620071B2 (en) * | 2004-11-16 | 2009-11-17 | Intel Corporation | Packet coalescing |
US7548068B2 (en) * | 2004-11-30 | 2009-06-16 | Intelliserv International Holding, Ltd. | System for testing properties of a network |
US7508297B2 (en) * | 2005-02-11 | 2009-03-24 | Ortronics, Inc. | Apparatus and method for communication system |
-
2007
- 2007-02-14 MX MX2007001832A patent/MX2007001832A/en active IP Right Grant
- 2007-02-14 MX MX2007001829A patent/MX2007001829A/en active IP Right Grant
- 2007-02-14 US US11/674,815 patent/US7649473B2/en active Active
- 2007-02-14 US US11/674,864 patent/US20070201362A1/en not_active Abandoned
- 2007-02-14 US US11/674,844 patent/US7570175B2/en active Active
- 2007-02-14 US US11/674,874 patent/US20080095165A1/en not_active Abandoned
- 2007-02-15 CA CA002578886A patent/CA2578886A1/en not_active Abandoned
- 2007-02-15 CA CA002578695A patent/CA2578695A1/en not_active Abandoned
- 2007-02-16 EP EP07250669A patent/EP1821463A1/en not_active Withdrawn
- 2007-02-16 EP EP07250670A patent/EP1821464A3/en not_active Withdrawn
-
2009
- 2009-06-22 US US12/489,309 patent/US20090257364A1/en not_active Abandoned
- 2009-11-10 US US12/615,858 patent/US20100054273A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5959547A (en) * | 1995-02-09 | 1999-09-28 | Baker Hughes Incorporated | Well control systems employing downhole network |
US6594232B1 (en) * | 1999-06-02 | 2003-07-15 | Marconi Communications, Inc. | Transmitter-based path protection switching in a ring network |
US20020120401A1 (en) * | 2000-09-29 | 2002-08-29 | Macdonald Robert P. | Method and apparatus for prediction control in drilling dynamics using neural networks |
US20020064163A1 (en) * | 2000-11-30 | 2002-05-30 | Takehiko Fujiyama | Method and apparatus for transmitting data in a linear-type or ring-type network |
US20040245017A1 (en) * | 2003-01-17 | 2004-12-09 | Halliburton Sperry-Sun | Integrated drilling dynamics system |
US20040256152A1 (en) * | 2003-03-31 | 2004-12-23 | Baker Hughes Incorporated | Real-time drilling optimization based on MWD dynamic measurements |
US20040208159A1 (en) * | 2003-04-16 | 2004-10-21 | Samsung Electronics Co., Ltd. | Network device, system and method for providing list of controlled devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949416B1 (en) * | 2012-01-17 | 2015-02-03 | Canyon Oak Energy LLC | Master control system with remote monitoring for handling tubulars |
Also Published As
Publication number | Publication date |
---|---|
MX2007001829A (en) | 2008-11-18 |
EP1821464A2 (en) | 2007-08-22 |
US7570175B2 (en) | 2009-08-04 |
US20100054273A1 (en) | 2010-03-04 |
CA2578695A1 (en) | 2007-08-16 |
MX2007001832A (en) | 2008-11-18 |
US7649473B2 (en) | 2010-01-19 |
EP1821464A3 (en) | 2007-09-12 |
US20080095165A1 (en) | 2008-04-24 |
CA2578886A1 (en) | 2007-08-16 |
US20070189166A1 (en) | 2007-08-16 |
US20070201362A1 (en) | 2007-08-30 |
EP1821463A1 (en) | 2007-08-22 |
US20070189165A1 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7570175B2 (en) | Node discovery in physically segmented logical token network | |
Elson et al. | Random, ephemeral transaction identifiers in dynamic sensor networks | |
Dunkels et al. | Connecting wireless sensornets with TCP/IP networks | |
US7921316B2 (en) | Cluster-wide system clock in a multi-tiered full-graph interconnect architecture | |
US20090063886A1 (en) | System for Providing a Cluster-Wide System Clock in a Multi-Tiered Full-Graph Interconnect Architecture | |
CN101488902A (en) | Dynamic establishing method and device for GRE tunnel | |
CN103051539A (en) | DHT-based (distributed hash table-based) control network implementation method, system and network controller | |
WO2003052617A1 (en) | A system and method for efficient handling of network data | |
US7668118B2 (en) | Directional topology discovery for downhole networks | |
US20240056377A1 (en) | Multi-cluster networking using hub and spoke elastic mesh | |
JP2006203575A (en) | Communicating method | |
CN103618661A (en) | Data separation method and system | |
JP2015509351A (en) | Hierarchical network with regular redundant links | |
WO2016164061A1 (en) | Big data transfer | |
CN110636090B (en) | Data synchronization method and device under narrow bandwidth condition | |
CN102088399B (en) | Flow control method of peer-to-peer (P2P) network, routing equipment and communication system | |
Xu et al. | Discovering the influences of complex network effects on recovering large scale multiagent systems | |
Halde et al. | Efficient collection of big data in WSN | |
Xu et al. | Design of a P2P based collaboration platform for underwater acoustic sensor network | |
Popat et al. | Experimental evaluation of multipath TCP with MPI | |
Kumar et al. | Enhanced Energy Conserving Improved and Balanced LEACH for Heterogeneous Wireless Sensor Networks | |
JP2005236943A (en) | Setting method for tcp/ip network parameter | |
JP2007006321A (en) | Management server for determining vpn tunnel connection topology, and program | |
Kirianovskii | The Shortest Path Construction Method between Nodes in a Stochastic Network | |
EP3251308A1 (en) | Faster link layer discovery protocol updates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: UOP LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PIEPER, JEFFREY;PAN, WEI;RENDE, DEAN E.;AND OTHERS;REEL/FRAME:022873/0453;SIGNING DATES FROM 20090617 TO 20090618 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |