US20190052536A1 - Methods, Systems and Computer Program Products for Identifying Endpoints in a Network - Google Patents
Methods, Systems and Computer Program Products for Identifying Endpoints in a Network Download PDFInfo
- Publication number
- US20190052536A1 US20190052536A1 US16/101,950 US201816101950A US2019052536A1 US 20190052536 A1 US20190052536 A1 US 20190052536A1 US 201816101950 A US201816101950 A US 201816101950A US 2019052536 A1 US2019052536 A1 US 2019052536A1
- Authority
- US
- United States
- Prior art keywords
- endpoints
- network
- map
- range
- grid
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- 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
- 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/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S20/00—Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
- Y04S20/30—Smart metering, e.g. specially adapted for remote reading
Definitions
- the present inventive concept relates generally to networks, more particularly, to networks including smart devices and systems and methods for communicating with out of range devices therein.
- Smart meters and sensors communicate over a network for example, the FlexNet® communication network.
- the network allows secure transmission and reception of data, for example, customer usage data. This data can be used to proactively manage electric, water and gas systems.
- the two-way network enables data to be collected, delivered, managed and analyzed in real time and as often as possible.
- the networks are constantly updating the devices (endpoints) that communicate within the network.
- an “endpoint” refers to any non-transceiver tower device operating in the network, for example, any type of smart meter, gas, heat or electric.
- an out of range device ORD
- the buddy device may be a peer device or may be a device configured to receive and/or relay a transmission.
- Buddy devices are generally discovered within the network for each ORD.
- a search algorithm may be applied to the set of endpoints comprising a network in an attempt to identify candidate (possible) buddy devices (endpoints) for all out of range devices (ORDs) in the system.
- all endpoints (non-ORDs) within a radius R from the target endpoint X (ORD) are located in each of the areas A, B, C and D.
- the radius R can be any distance set by the operator, for example, one (1) mile.
- the endpoints in area A may be ignored in some scenarios as they are deemed too close to the target X to provide anything additional.
- Some embodiments of the present inventive concept provide a method for identifying in range endpoints in a network, the method including providing a map including endpoints in the network, the endpoints including target endpoints, out of range endpoints and non-out of range endpoints; positioning a grid over the map including the endpoints in the network, the grid including a plurality of subsections each having a defined radius, locating a target endpoint on the map and in one of the subsections of the grid; and identifying a plurality of endpoints within subsections of the grid within a defined range of the target endpoint.
- the defined radius may be about 800 meters and the defined range may be two times the defined radius or 1600 meters.
- providing the map may include using a projection program to project endpoints onto a-map using latitude and longitude coordinates associated with each of the endpoints, and the map including the endpoints may be stored.
- the map including the endpoints in the network may be periodically regenerated using the projection program to provide an updated map and the updated map may be stored.
- the defined range may be a multiple of the defined radius.
- the endpoints in the network may be any non-transceiver tower device operating in the network.
- the endpoints in the network may be smart devices, such as smart meters.
- FIG. 1 is a block diagram illustrating location of non-Out of Range Devices (ORDs) in a conventional system.
- ORDs non-Out of Range Devices
- FIG. 2 is a block diagram illustrating a hexagonal grid used to identify non-ORDs in a network in accordance with some embodiments of the present inventive concept.
- FIG. 3 is a block diagram of an example network including ORDs and non-ORDs in accordance with some embodiments of the present inventive concept.
- FIG. 4 is a flowchart illustrating operations in accordance with some embodiments of the present inventive concept.
- FIG. 5 is a basic block diagram of a network including hubs in accordance with some embodiments of the present inventive concept.
- FIG. 6 is a basic block diagram of a data processing system for use in accordance with some embodiments of the present inventive concept.
- an “endpoint” refers to any non-transceiver tower device operating in the network, for example, any type of smart meter, gas, heat or electric.
- an endpoint that is out of range of a transceiver hereinafter, an out of range device (ORD)
- ORD out of range device
- the buddy device may be a peer device or may be a device configured to receive and/or relay a transmission.
- n refers to the number of endpoints in the network.
- embodiments of the present inventive concept provide methods and systems for reducing the amount of time spent locating the non-ORD endpoints in a network.
- some embodiments of the present inventive concept reduce the search space for endpoints (non-ORDs) that are “nearby” (within a particular radius) of a particular other endpoint (ORD).
- embodiments of the present inventive concept project geospatial coordinates from a latitude and longitude on to a hexagonal grid.
- a first order approximation of distance can be made based on the size of the hexagons chosen.
- the size of the hexagon is arbitrary and, therefore, customizable, but is fixed once it is chosen.
- Embodiments of the present inventive concept reduce the time complexity of the “nearby” search from O(n 2 ) to O(n log n), and the actual time from two days to about 20 minutes for 4 million endpoints.
- Embodiments of the present inventive concept are discussed herein using “big O” notation.
- embodiments of the present inventive concept reduce the time complexity of the “nearby” search from O(n 2 ) to O(n log n), and the actual time from two days to about 20 minutes for 4 million endpoints.
- a hexagon grid generated in accordance with some embodiments of the present inventive concept will be discussed.
- a projection program such as Web Mercator
- the endpoints are projected onto a hexagonal grid 200 as illustrated in FIG. 2 .
- the positions of the various endpoints for example, ORDs and non-ORDS, are projected onto a map using a projection program and then a hexagonal grid can be positioned (superimposed) over the projection.
- the hexagons have a radius R of about 800 meters, thus, 2R being 1600 meters, which is approximately 1 mile. It will be understood that the radius R can be chosen to be any distance without departing from the scope of the present inventive concept.
- Projecting every endpoint into its corresponding hexagon can be done in O(n) time. Since the positions of the endpoint are generally static, the projection is computed once and stored in O(n) space for use. It is understood that endpoints can be added or removed from a network at any time. Thus, the projection may be recalculated periodically and restored to make sure the most up to date projection is being used.
- the time can be reduced to about O(n log n) by searching only the hexagon containing the particular ORD you are interested in plus the ring of hexagons surrounding it.
- the hexagon in which the ORD sits and the surrounding hexagons allows a grid with a radius of one (1) mile to be covered if the radius R of the hexagon is 800 meters. As discussed above, the radius R is configurable and, therefore, not limited to a mile or 800 meters.
- a projection includes a series of possible buddy devices (endpoints) Y (non-ORDs) and a target endpoint X (ORD) and this projection is saved.
- a buddy device may be a peer device or may be a device configured to receive and/or relay a transmission. Any two-way device in the wireless network may be capable of autonomously acting as a buddy device while carrying out its normal sensing functions.
- the hexagonal grid 200 is overlaid on the stored projection such that the target endpoint X is within a hexagon.
- the target endpoint X is illustrated as being in the center of the hexagon in FIG. 2 , it will be understood that the target endpoint X does not have to be in the center of a hexagon on the grid 200 .
- the hexagon in which the target endpoint X sits and the surrounding hexagons will be used to locate candidate buddies Y for the endpoint X.
- the relevant hexagons in FIG. 2 are shaded.
- the endpoints Y (non-ORDs) in each of the shaded hexagons are possible candidate buddies in accordance with embodiments discussed herein.
- coverage may be approximated as if all endpoints Y (ORDs) are located at a center of the hexagon.
- Candidate buddies may be chosen based on the approximated information.
- time may be reduced to approximately O(log n) while still covering all endpoints Y (ORDs).
- there may be a tradeoff of reduced quality of the ORD to buddy path.
- the network 300 includes transceiver towers T 1 and TN, candidate buddy devices Y 1 , Y 2 , Y 3 and YN and an ORD X. It will be understood that there may be more or less transceivers, candidate buddy devices and ORDs than illustrated in FIG. 3 without departing from the scope of the present inventive concept.
- an ORD sends a message that is received by one or more buddies (Y 1 -YN) which are 2-way endpoints.
- the 2-way endpoints re-transmit the ORD's message to a transceiver, a collector tower or other collector T 1 -TN.
- the ORD can use the non-ORDs (buddies) to communicate with the transceiver towers.
- Embodiments of the present inventive concept allow identification of non-ORDs for each ORD extremely efficient using a hexagon grid as briefly discussed above.
- operations begin at block 401 by providing a map including endpoints in the network.
- the endpoints may include target endpoints, out of range endpoints and non-out of range endpoints.
- providing the map includes using a projection program to project endpoints onto a map using latitude and longitude coordinates associated with each of the endpoints and storing the map including the endpoints. Since endpoints are constantly being added and removed from the network, the map may be periodically regenerated including the endpoints in the network using the projection program to provide an updated map and the updated map may be stored.
- Endpoints in the network may include any non-transceiver tower device operating in the network.
- endpoints in the network are smart devices, for example, smart meters.
- Operations continue at block 411 by positioning a grid over the map including the endpoints in the network and a target endpoint is located on the map and in one of the subsections of the grid (block 421 ).
- the grid includes a plurality of subsections each having a defined radius.
- each of the plurality of subsections are hexagons as discussed above.
- the plurality of endpoints may be identified by locating endpoints within the hexagons within the defined range of the target endpoint.
- the defined radius may be about 800 meters the defined range may two times the defined radius or 1600 meters.
- embodiments of the present inventive concept are not limited to this configuration.
- a plurality of endpoints may be defined within subsections of the grid within a defined range of the target endpoint (block 431 ).
- all endpoints within a subsection within two times the radius of the subsection are identified as in range endpoints for use in transmission to and from the target device.
- embodiments of the present inventive concept are discussed above with respect to a buddy-ORD communication model, embodiments of the present inventive concept are not limited to this configuration.
- embodiments of the present inventive concept may be used in combination with other types of networks, such as a mesh network.
- embodiments discussed herein could be generalized to choose either a first-hop candidate or the next-hop candidate rather than a buddy candidate.
- a hop is a computer networking term that refers to the number of other devices, for example, routers that a packet passes through from its source device 505 (workstation 1) to its destination device 525 (workstation 2).
- a “hop” is counted when a packet passes through other hardware on a network (besides routers 515 and 520 ), like switches, access points, repeaters and the like.
- the packet traverses two hops (two routers) before reaching its destination 525 , workstation 2.
- one or more devices in the hexagon may be chosen to act as a “hub” for the other devices (the first-hop variant), and the hub may be responsible for relaying to adjacent hexagons. The next hop would be to an endpoint in a hexagon closer to the intended destination.
- FIG. 6 is a block diagram of an example of a data processing system 600 suitable for use in the systems in accordance with embodiments of the present inventive concept.
- the data processing may take place in any of the devices (or all of the devices) in the system without departing from the scope of the present inventive concept.
- the data processing system 600 includes a user interface 644 such as a keyboard, keypad, touchpad, voice activation circuit or the like, I/O data ports 646 and a memory 636 that communicates with a processor 638 .
- the I/O data ports 646 can be used to transfer information between the data processing system 600 and another computer system or a network.
- These components may be conventional components, such as those used in many conventional data processing systems, which may be configured to operate as described herein.
- embodiments of the present inventive concept may be embodied as a method, system, data processing system, or computer program product. Accordingly, the present inventive concept may take the form of an embodiment combining software and hardware aspects, all generally referred to herein as a “circuit” or “module.” Furthermore, the present inventive concept may take the form of a computer program product on a non-transitory computer usable storage medium having computer usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD ROMs, optical storage devices, or other electronic storage devices.
- Computer program code for carrying out operations of the present inventive concept may be written in an object oriented programming language such as Matlab, Mathematica, Java, Smalltalk, C or C++.
- object oriented programming language such as Matlab, Mathematica, Java, Smalltalk, C or C++.
- computer program code for carrying out operations of the present inventive concept may also be written in conventional procedural programming languages, such as the “C” programming language or in a visually oriented programming environment, such as Visual Basic.
- Certain of the program code may execute entirely on one or more of a user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer.
- the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- an Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- inventive concept is described in part with reference to flowchart illustrations and/or block diagrams of methods, devices, systems, computer program products and data and/or system architecture structures according to embodiments of the inventive concept. It will be understood that each block of the illustrations, and/or combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
- These computer program instructions may also be stored in a computer readable memory or storage that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or storage produce an article of manufacture including instruction means which implement the function/act specified in the block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
Abstract
Description
- The present application claims priority to U.S. Provisional Application No. 62/545,072, filed on Aug. 14, 2017, the content of which is hereby incorporated herein by reference as if set forth in its entirety.
- The present inventive concept relates generally to networks, more particularly, to networks including smart devices and systems and methods for communicating with out of range devices therein.
- Smart meters and sensors communicate over a network, for example, the FlexNet® communication network. The network allows secure transmission and reception of data, for example, customer usage data. This data can be used to proactively manage electric, water and gas systems. The two-way network enables data to be collected, delivered, managed and analyzed in real time and as often as possible.
- The networks are constantly updating the devices (endpoints) that communicate within the network. As used herein an “endpoint”, refers to any non-transceiver tower device operating in the network, for example, any type of smart meter, gas, heat or electric. When an endpoint that is out of range of a transceiver, hereinafter, an out of range device (ORD), it communicates through another endpoint, or buddy device. The buddy device (non-ORD) may be a peer device or may be a device configured to receive and/or relay a transmission.
- Buddy devices (non-ORDs) are generally discovered within the network for each ORD. Currently, a search algorithm may be applied to the set of endpoints comprising a network in an attempt to identify candidate (possible) buddy devices (endpoints) for all out of range devices (ORDs) in the system. Thus, as illustrated in
FIG. 1 , all endpoints (non-ORDs) within a radius R from the target endpoint X (ORD) are located in each of the areas A, B, C and D. The radius R can be any distance set by the operator, for example, one (1) mile. The endpoints in area A may be ignored in some scenarios as they are deemed too close to the target X to provide anything additional. The endpoints in each area A, B, C and D having the strongest signals, or signals over a particular threshold, are identified out to the radius R. Thus, currently searching for non-ORDs within a configurable radius R of the ORD (X) requires computing a distance from every identified ORD to every non-ORD. Storing the distances generally requires O (n2) space (where n is the number of endpoints in the network). These distances are computed each time and takes about O(n2) time. For a large input data set, for example, four million endpoints, this process required may take approximately two full days to complete. An improved method of locating non-ORDs in a network is desired. - Some embodiments of the present inventive concept provide a method for identifying in range endpoints in a network, the method including providing a map including endpoints in the network, the endpoints including target endpoints, out of range endpoints and non-out of range endpoints; positioning a grid over the map including the endpoints in the network, the grid including a plurality of subsections each having a defined radius, locating a target endpoint on the map and in one of the subsections of the grid; and identifying a plurality of endpoints within subsections of the grid within a defined range of the target endpoint.
- In further embodiments, each of the plurality of subsections may be hexagons. Identifying the plurality of endpoints may further include identifying the plurality of endpoints within the hexagons within the defined range of the target endpoint. In certain embodiments, the defined radius may be about 800 meters and the defined range may be two times the defined radius or 1600 meters.
- In still further embodiments, providing the map may include using a projection program to project endpoints onto a-map using latitude and longitude coordinates associated with each of the endpoints, and the map including the endpoints may be stored. In certain embodiments, the map including the endpoints in the network may be periodically regenerated using the projection program to provide an updated map and the updated map may be stored.
- In some embodiments, the defined range may be a multiple of the defined radius.
- In further embodiments, the endpoints in the network may be any non-transceiver tower device operating in the network. For example, the endpoints in the network may be smart devices, such as smart meters.
- Related system and computer program product claims are also provided herein.
-
FIG. 1 is a block diagram illustrating location of non-Out of Range Devices (ORDs) in a conventional system. -
FIG. 2 is a block diagram illustrating a hexagonal grid used to identify non-ORDs in a network in accordance with some embodiments of the present inventive concept. -
FIG. 3 is a block diagram of an example network including ORDs and non-ORDs in accordance with some embodiments of the present inventive concept. -
FIG. 4 is a flowchart illustrating operations in accordance with some embodiments of the present inventive concept. -
FIG. 5 is a basic block diagram of a network including hubs in accordance with some embodiments of the present inventive concept. -
FIG. 6 is a basic block diagram of a data processing system for use in accordance with some embodiments of the present inventive concept. - The present inventive concept will be described more fully hereinafter with reference to the accompanying figures, in which embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many alternate forms and should not be construed as limited to the embodiments set forth herein.
- Accordingly, while the inventive concept is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the inventive concept to the particular forms disclosed, but on the contrary, the inventive concept is tom cover all modifications, equivalents, and alternatives falling within the spirit and scope of the inventive concept as defined by the claims. Like numbers refer to like elements throughout the description of the figures.
- The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concept. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising,” “includes” and/or “including” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Moreover, when an element is referred to as being “responsive” or “connected” to another element, it can be directly responsive or connected to the other element, or intervening elements may be present. In contrast, when an element is referred to as being “directly responsive” or “directly connected” to another element, there are no intervening elements present. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items and may be abbreviated as “/”.
- Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this inventive concept belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
- It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the teachings of the disclosure. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
- As used herein an “endpoint”, refers to any non-transceiver tower device operating in the network, for example, any type of smart meter, gas, heat or electric. When an endpoint that is out of range of a transceiver, hereinafter, an out of range device (ORD), it communicates through another endpoint, or buddy device. The buddy device (non-ORD) may be a peer device or may be a device configured to receive and/or relay a transmission. As further used herein, “n” refers to the number of endpoints in the network.
- As discussed above, improved methods for identifying non-ORDs within a specified radius R of an ORD are needed. Currently, the length of time it takes to identify the non-ORDs using conventional methods is extremely long. Accordingly, embodiments of the present inventive concept provide methods and systems for reducing the amount of time spent locating the non-ORD endpoints in a network. In particular, some embodiments of the present inventive concept reduce the search space for endpoints (non-ORDs) that are “nearby” (within a particular radius) of a particular other endpoint (ORD). As will be discussed further below with respect to
FIGS. 2 through 6 , embodiments of the present inventive concept project geospatial coordinates from a latitude and longitude on to a hexagonal grid. A first order approximation of distance can be made based on the size of the hexagons chosen. The size of the hexagon is arbitrary and, therefore, customizable, but is fixed once it is chosen. Embodiments of the present inventive concept reduce the time complexity of the “nearby” search from O(n2) to O(n log n), and the actual time from two days to about 20 minutes for 4 million endpoints. - It will be understood that the estimated time changes based on the number of endpoints included in the process. It will be further understood that although embodiments of the present inventive concept are discussed with respect to ORDs and non-ORDs (buddy devices), embodiments of the present inventive concept are not limited to this configuration. For example, embodiments of the present inventive concept may be used to determine presence of any type of endpoints without departing from the scope of the present inventive concept.
- Embodiments of the present inventive concept are discussed herein using “big O” notation. For example, as discussed above, embodiments of the present inventive concept reduce the time complexity of the “nearby” search from O(n2) to O(n log n), and the actual time from two days to about 20 minutes for 4 million endpoints. The “big O” notation is used to describe the performance or complexity of an algorithm. Big O specifically describes the worst-case scenario, and can be used to describe the execution time required or the space used (e.g. in memory or on disk) by an algorithm. In other words, “big O” is a theoretical measure of the execution of an algorithm, usually the time or memory needed, given the problem size n, which is usually the number of items (endpoints). Informally, saying some equation f(n)=O(g(n)) means it is less than some constant multiple of g(n). The notation is read, “f of n is big oh of g of n”.
- Referring now to
FIG. 2 , a hexagon grid generated in accordance with some embodiments of the present inventive concept will be discussed. First, a projection program, such as Web Mercator, is used to project the endpoints on a map using latitude and longitude coordinates of the endpoints. Then, the resulting projection created using the projection program is projected onto ahexagonal grid 200 as illustrated inFIG. 2 . In other words, the positions of the various endpoints, for example, ORDs and non-ORDS, are projected onto a map using a projection program and then a hexagonal grid can be positioned (superimposed) over the projection. In some embodiments, the hexagons have a radius R of about 800 meters, thus, 2R being 1600 meters, which is approximately 1 mile. It will be understood that the radius R can be chosen to be any distance without departing from the scope of the present inventive concept. - Projecting every endpoint into its corresponding hexagon can be done in O(n) time. Since the positions of the endpoint are generally static, the projection is computed once and stored in O(n) space for use. It is understood that endpoints can be added or removed from a network at any time. Thus, the projection may be recalculated periodically and restored to make sure the most up to date projection is being used.
- Using the stored projections and the hexagonal grid, instead of using O(n2) time to choose candidate buddy devices for an ORD by searching all non-ORDs, the time can be reduced to about O(n log n) by searching only the hexagon containing the particular ORD you are interested in plus the ring of hexagons surrounding it. Using the hexagon in which the ORD sits and the surrounding hexagons allows a grid with a radius of one (1) mile to be covered if the radius R of the hexagon is 800 meters. As discussed above, the radius R is configurable and, therefore, not limited to a mile or 800 meters. Some embodiments of the present inventive concept are configured to compute the number of surrounding rings of hexagons needed to cover the particular distance chosen.
- It will be understood that although embodiments of the present inventive concept are discussed herein as including a grid having a plurality of hexagonal subsections, embodiments of the present inventive concept are not limited to this configuration. The subsections of the grid may have any shape that lends itself to embodiments discussed herein without departing from the scope of the present inventive concept.
- Referring now to
FIG. 2 , an example of using a hexagon grid in accordance with some embodiments of the present inventive concept will be discussed. As illustrated inFIG. 2 , a projection includes a series of possible buddy devices (endpoints) Y (non-ORDs) and a target endpoint X (ORD) and this projection is saved. A buddy device (non-ORD) may be a peer device or may be a device configured to receive and/or relay a transmission. Any two-way device in the wireless network may be capable of autonomously acting as a buddy device while carrying out its normal sensing functions. - Referring again to
FIG. 2 , thehexagonal grid 200 is overlaid on the stored projection such that the target endpoint X is within a hexagon. Although the target endpoint X is illustrated as being in the center of the hexagon inFIG. 2 , it will be understood that the target endpoint X does not have to be in the center of a hexagon on thegrid 200. The hexagon in which the target endpoint X sits and the surrounding hexagons will be used to locate candidate buddies Y for the endpoint X. The relevant hexagons inFIG. 2 are shaded. Thus, the endpoints Y (non-ORDs) in each of the shaded hexagons are possible candidate buddies in accordance with embodiments discussed herein. - In some embodiments, rather than visiting every endpoint Y (ORD) within a given hexagon, coverage may be approximated as if all endpoints Y (ORDs) are located at a center of the hexagon. Candidate buddies may be chosen based on the approximated information. In these embodiments, time may be reduced to approximately O(log n) while still covering all endpoints Y (ORDs). However, there may be a tradeoff of reduced quality of the ORD to buddy path.
- Referring now to
FIG. 3 , a block diagram of an example network including ORDs and non-ORDs in accordance with embodiments discussed herein will be discussed. As illustrated inFIG. 3 , thenetwork 300 includes transceiver towers T1 and TN, candidate buddy devices Y1, Y2, Y3 and YN and an ORD X. It will be understood that there may be more or less transceivers, candidate buddy devices and ORDs than illustrated inFIG. 3 without departing from the scope of the present inventive concept. - As shown in
FIG. 3 , an ORD sends a message that is received by one or more buddies (Y1-YN) which are 2-way endpoints. The 2-way endpoints, re-transmit the ORD's message to a transceiver, a collector tower or other collector T1-TN. Thus, the ORD can use the non-ORDs (buddies) to communicate with the transceiver towers. Embodiments of the present inventive concept allow identification of non-ORDs for each ORD extremely efficient using a hexagon grid as briefly discussed above. - Referring now to
FIG. 4 , a flowchart illustrating operations identifying in range endpoints in a network will be discussed. As illustrated inFIG. 4 , operations begin atblock 401 by providing a map including endpoints in the network. The endpoints may include target endpoints, out of range endpoints and non-out of range endpoints. In some embodiments, providing the map includes using a projection program to project endpoints onto a map using latitude and longitude coordinates associated with each of the endpoints and storing the map including the endpoints. Since endpoints are constantly being added and removed from the network, the map may be periodically regenerated including the endpoints in the network using the projection program to provide an updated map and the updated map may be stored. - Endpoints in the network may include any non-transceiver tower device operating in the network. In some embodiments, endpoints in the network are smart devices, for example, smart meters.
- Operations continue at
block 411 by positioning a grid over the map including the endpoints in the network and a target endpoint is located on the map and in one of the subsections of the grid (block 421). The grid includes a plurality of subsections each having a defined radius. In some embodiments, each of the plurality of subsections are hexagons as discussed above. Thus, the plurality of endpoints may be identified by locating endpoints within the hexagons within the defined range of the target endpoint. In some embodiments, the defined radius may be about 800 meters the defined range may two times the defined radius or 1600 meters. However, it will be understood that embodiments of the present inventive concept are not limited to this configuration. - A plurality of endpoints may be defined within subsections of the grid within a defined range of the target endpoint (block 431). In other words, as discussed above, in embodiments having hexagon shaped subsections, all endpoints within a subsection within two times the radius of the subsection are identified as in range endpoints for use in transmission to and from the target device.
- Although embodiments of the present inventive concept are discussed above with respect to a buddy-ORD communication model, embodiments of the present inventive concept are not limited to this configuration. For example, embodiments of the present inventive concept may be used in combination with other types of networks, such as a mesh network. In other words, rather than ORDs and non-ORDs, embodiments discussed herein could be generalized to choose either a first-hop candidate or the next-hop candidate rather than a buddy candidate.
- As illustrated in
FIG. 5 , a hop is a computer networking term that refers to the number of other devices, for example, routers that a packet passes through from its source device 505 (workstation 1) to its destination device 525 (workstation 2). In some embodiments, a “hop” is counted when a packet passes through other hardware on a network (besidesrouters 515 and 520), like switches, access points, repeaters and the like. InFIG. 5 , the packet traverses two hops (two routers) before reaching itsdestination 525,workstation 2. - Applying embodiments discussed here to a network similar to the network of
FIG. 5 , using the mesh network example, one or more devices in the hexagon may be chosen to act as a “hub” for the other devices (the first-hop variant), and the hub may be responsible for relaying to adjacent hexagons. The next hop would be to an endpoint in a hexagon closer to the intended destination. - As discussed above, embodiments of the present inventive concept a projection program is used to project endpoints on a map, which is used to create the hexagonal grid. Thus, some sort of data processing is needed to create and store the data.
FIG. 6 is a block diagram of an example of adata processing system 600 suitable for use in the systems in accordance with embodiments of the present inventive concept. The data processing may take place in any of the devices (or all of the devices) in the system without departing from the scope of the present inventive concept. As illustrated inFIG. 6 , thedata processing system 600 includes a user interface 644 such as a keyboard, keypad, touchpad, voice activation circuit or the like, I/O data ports 646 and amemory 636 that communicates with aprocessor 638. The I/O data ports 646 can be used to transfer information between thedata processing system 600 and another computer system or a network. These components may be conventional components, such as those used in many conventional data processing systems, which may be configured to operate as described herein. - As will be appreciated by one of skill in the art, embodiments of the present inventive concept may be embodied as a method, system, data processing system, or computer program product. Accordingly, the present inventive concept may take the form of an embodiment combining software and hardware aspects, all generally referred to herein as a “circuit” or “module.” Furthermore, the present inventive concept may take the form of a computer program product on a non-transitory computer usable storage medium having computer usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD ROMs, optical storage devices, or other electronic storage devices.
- Computer program code for carrying out operations of the present inventive concept may be written in an object oriented programming language such as Matlab, Mathematica, Java, Smalltalk, C or C++. However, the computer program code for carrying out operations of the present inventive concept may also be written in conventional procedural programming languages, such as the “C” programming language or in a visually oriented programming environment, such as Visual Basic.
- Certain of the program code may execute entirely on one or more of a user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- The inventive concept is described in part with reference to flowchart illustrations and/or block diagrams of methods, devices, systems, computer program products and data and/or system architecture structures according to embodiments of the inventive concept. It will be understood that each block of the illustrations, and/or combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
- These computer program instructions may also be stored in a computer readable memory or storage that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or storage produce an article of manufacture including instruction means which implement the function/act specified in the block or blocks.
- The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
- In the drawings and specification, there have been disclosed example embodiments of the inventive concept. Although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the inventive concept being defined by the following claims.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/101,950 US11044163B2 (en) | 2017-08-14 | 2018-08-13 | Methods, systems and computer program products for identifying endpoints in a network |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762545072P | 2017-08-14 | 2017-08-14 | |
US16/101,950 US11044163B2 (en) | 2017-08-14 | 2018-08-13 | Methods, systems and computer program products for identifying endpoints in a network |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190052536A1 true US20190052536A1 (en) | 2019-02-14 |
US11044163B2 US11044163B2 (en) | 2021-06-22 |
Family
ID=63491998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/101,950 Active 2038-08-17 US11044163B2 (en) | 2017-08-14 | 2018-08-13 | Methods, systems and computer program products for identifying endpoints in a network |
Country Status (6)
Country | Link |
---|---|
US (1) | US11044163B2 (en) |
EP (1) | EP3669595A1 (en) |
AU (1) | AU2018318925B2 (en) |
CA (1) | CA3072877A1 (en) |
MX (1) | MX2020001749A (en) |
WO (1) | WO2019036340A1 (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070218891A1 (en) * | 2006-03-16 | 2007-09-20 | Cox Marc S | Navigation System for Portable Communication Devices |
US20080186902A1 (en) * | 2005-10-11 | 2008-08-07 | Akinori Furukoshi | System and method for operating a large-scale wireless network |
JP2012244208A (en) * | 2011-05-16 | 2012-12-10 | Panasonic Corp | Device map display apparatus, and device map display method |
US20130294228A1 (en) * | 2012-05-04 | 2013-11-07 | Infinera Corp. | Optimal Segment Identification for Shared Mesh Protection |
US8769461B1 (en) * | 2013-01-15 | 2014-07-01 | Xilinx, Inc. | Replicating a driver of a net in a circuit design |
US20150036532A1 (en) * | 2012-05-04 | 2015-02-05 | Itron, Inc. | Verification of connection of meters to network |
US20150304879A1 (en) * | 2008-11-24 | 2015-10-22 | MeshDynamics | Chirp networks |
US9330053B1 (en) * | 2013-07-24 | 2016-05-03 | Sprint Communications Company L.P. | True push architecture for internet protocol notification |
US20170295468A1 (en) * | 2013-11-27 | 2017-10-12 | Alan Michael Snyder | Methods and Systems for Locating Persons and Places with Mobile Devices |
US20180035401A1 (en) * | 2015-02-24 | 2018-02-01 | Mitsubishi Electric Corporation | Wireless characteristic display apparatus, wireless characteristic display method, and computer readable medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7706745B2 (en) | 2004-12-03 | 2010-04-27 | M&Fc Holding, Llc | Method, system, apparatus, and computer program product for communications relay |
US8705407B2 (en) * | 2010-08-25 | 2014-04-22 | University Of Florida Research Foundation, Inc. | Efficient protocols against sophisticated reactive jamming attacks |
GB201102389D0 (en) * | 2011-02-10 | 2011-03-30 | Nec Casio Mobile Comm Ltd | Communication system |
WO2015027373A1 (en) * | 2013-08-26 | 2015-03-05 | Telefonaktiebolaget L M Ericsson (Publ) | Improving location positioning using m2m ecosystem |
US9461729B2 (en) * | 2013-12-13 | 2016-10-04 | Huawei Technologies Co., Ltd. | Software-defined network infrastructure having virtual range extenders |
-
2018
- 2018-08-13 CA CA3072877A patent/CA3072877A1/en active Pending
- 2018-08-13 EP EP18765514.7A patent/EP3669595A1/en active Pending
- 2018-08-13 MX MX2020001749A patent/MX2020001749A/en unknown
- 2018-08-13 AU AU2018318925A patent/AU2018318925B2/en active Active
- 2018-08-13 WO PCT/US2018/046448 patent/WO2019036340A1/en unknown
- 2018-08-13 US US16/101,950 patent/US11044163B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080186902A1 (en) * | 2005-10-11 | 2008-08-07 | Akinori Furukoshi | System and method for operating a large-scale wireless network |
US20070218891A1 (en) * | 2006-03-16 | 2007-09-20 | Cox Marc S | Navigation System for Portable Communication Devices |
US20150304879A1 (en) * | 2008-11-24 | 2015-10-22 | MeshDynamics | Chirp networks |
JP2012244208A (en) * | 2011-05-16 | 2012-12-10 | Panasonic Corp | Device map display apparatus, and device map display method |
US20130294228A1 (en) * | 2012-05-04 | 2013-11-07 | Infinera Corp. | Optimal Segment Identification for Shared Mesh Protection |
US20150036532A1 (en) * | 2012-05-04 | 2015-02-05 | Itron, Inc. | Verification of connection of meters to network |
US8769461B1 (en) * | 2013-01-15 | 2014-07-01 | Xilinx, Inc. | Replicating a driver of a net in a circuit design |
US9330053B1 (en) * | 2013-07-24 | 2016-05-03 | Sprint Communications Company L.P. | True push architecture for internet protocol notification |
US20170295468A1 (en) * | 2013-11-27 | 2017-10-12 | Alan Michael Snyder | Methods and Systems for Locating Persons and Places with Mobile Devices |
US20180035401A1 (en) * | 2015-02-24 | 2018-02-01 | Mitsubishi Electric Corporation | Wireless characteristic display apparatus, wireless characteristic display method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
EP3669595A1 (en) | 2020-06-24 |
CA3072877A1 (en) | 2019-02-21 |
AU2018318925A1 (en) | 2020-02-13 |
US11044163B2 (en) | 2021-06-22 |
MX2020001749A (en) | 2020-03-24 |
WO2019036340A1 (en) | 2019-02-21 |
CN111279765A (en) | 2020-06-12 |
AU2018318925B2 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ozturk et al. | Energy-aware smart connectivity for IoT networks: Enabling smart ports | |
US8351357B2 (en) | Tactical cognitive-based simulation methods and systems for communication failure management in ad-hoc wireless networks | |
GB2410354B (en) | Method and system for validating logical end-to-end access paths in storage area networks | |
Alazawi et al. | ICDMS: an intelligent cloud based disaster management system for vehicular networks | |
CN103822638B (en) | The treating method and apparatus of customer position information | |
WO2019116418A1 (en) | Failure analysis device, failure analysis method, and failure analysis program | |
CN106210163A (en) | IP address-based localization method and device | |
Meghanathan | Cognitive radio technology applications for wireless and mobile ad hoc networks | |
US11044163B2 (en) | Methods, systems and computer program products for identifying endpoints in a network | |
Chen et al. | Adaptive channel recommendation for opportunistic spectrum access | |
US9727403B2 (en) | System and method for detecting an abnormal condition in a multi-node communication system | |
US20140192791A1 (en) | Real time analytics driven decisioning of edge devices in a wireless sensor network | |
CN102334315A (en) | Port blocking-up method and route equipement | |
CN111279765B (en) | Method, system and computer program product for identifying endpoints in a network | |
CN104125583B (en) | A kind of common signal channel coverage prediction method in plot planning | |
EP3547622A1 (en) | Method for network management and apparatus for implementing the same | |
Nicholas et al. | Designing interference-robust wireless mesh networks using a defender-attacker-defender model | |
CN103970860B (en) | Method, device and system for processing data | |
CN103516620A (en) | VM migration method, VM migration system and server | |
Bera et al. | A normal factor graph approach for co-operative spectrum sensing in cognitive radio | |
Mei et al. | Fine grained load balancing in multi-hop wireless networks | |
CN111817799B (en) | Anti-interference method and device | |
Huang et al. | Relay placement for reliable base station connectivity in polymorphous networks | |
CN116567095B (en) | Cloud computing distributed scheduling third party service grid system and method | |
CN106534379A (en) | Data access policy based on maximum clique model in cloud storage environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SENSUS SPECTRUM, LLC, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:O'KEEFE, BRIAN;REEL/FRAME:046628/0039 Effective date: 20180810 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction |