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 PDF

Info

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
Application number
US16/101,950
Other versions
US11044163B2 (en
Inventor
Brian O'Keefe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensus Spectrum LLC
Original Assignee
Sensus Spectrum LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sensus Spectrum LLC filed Critical Sensus Spectrum LLC
Priority to US16/101,950 priority Critical patent/US11044163B2/en
Assigned to SENSUS SPECTRUM, LLC reassignment SENSUS SPECTRUM, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: O'KEEFE, BRIAN
Publication of US20190052536A1 publication Critical patent/US20190052536A1/en
Application granted granted Critical
Publication of US11044163B2 publication Critical patent/US11044163B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • YGENERAL 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS 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/00Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
    • Y04S20/30Smart 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

Methods for identifying in range endpoints in a network are provided. The methods includes 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.

Description

    CLAIM OF PRIORITY
  • 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.
  • FIELD
  • 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.
  • BACKGROUND
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 a hexagonal grid 200 as illustrated in FIG. 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 in FIG. 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, the hexagonal 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 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. 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 in FIG. 3, the network 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 in FIG. 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 in FIG. 4, 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. 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 (besides routers 515 and 520), like switches, access points, repeaters and the like. In FIG. 5, the packet traverses two hops (two routers) before reaching its destination 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 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. As illustrated in FIG. 6, 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.
  • 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)

What is claimed is:
1. A method for identifying in range endpoints in a network, the method comprising:
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,
wherein at least one of the providing, positioning, locating and identifying are performed by at least one processor.
2. The method of claim 1:
wherein each of the plurality of subsections are hexagons; and
wherein identifying the plurality of endpoints further comprises identifying the plurality of endpoints within the hexagons within the defined range of the target endpoint.
3. The method of claim 2:
wherein the defined radius is about 800 meters; and
wherein the defined range is two times the defined radius or 1600 meters.
4. The method of claim 1, wherein providing the map comprises using a projection program to project endpoints onto a map using latitude and longitude coordinates associated with each of the endpoints, the method further comprising storing the map including the endpoints.
5. The method of claim 4, further comprising:
periodically regenerating the map including the endpoints in the network using the projection program to provide an updated map; and
storing the updated map.
6. The method of claim 1, wherein the defined range being a multiple of the defined radius.
7. The method of claim 1, wherein the endpoints in the network comprise any non-transceiver tower device operating in the network.
8. The method of claim 7, wherein the endpoints in the network are smart devices.
9. The method of claim 8, wherein the smart devices are smart meters.
10. A system for identifying in range endpoints in a network, the system comprising a plurality of endpoints and a processor configured to:
provide a map including endpoints in the network, the endpoints including target endpoints, out of range endpoints and non-out of range endpoints;
position a grid over the map including the endpoints in the network, the grid including a plurality of subsections each having a defined radius,
locate a target endpoint on the map and in one of the subsections of the grid; and
identify a plurality of endpoints within subsections of the grid within a defined range of the target endpoint.
11. The system of claim 10:
wherein each of the plurality of subsections are hexagons; and
wherein the processor is further configured to identify the plurality of endpoints within the hexagons within the defined range of the target endpoint.
12. The system of claim 11,
wherein the defined radius is about 800 meters; and
wherein the defined range is two times the defined radius or 1600 meters.
13. The system of claim 10, wherein the processor is further configured to provide a projection program to project endpoints onto a map using latitude and longitude coordinates associated with each of the endpoints and store the map including the endpoints.
14. The system of claim 13, wherein the processor is further configured to periodically regenerate the map including the endpoints in the network using the projection program to provide an updated map and store the updated map.
15. The system of claim 10, wherein the defined range is a multiple of the defined radius.
16. The system of claim 10, wherein the endpoints in the network comprise any non-transceiver tower device operating in the network.
17. The system of claim 16, wherein the endpoints in the network are smart devices.
18. The system of claim 17, wherein the smart devices are smart meters.
19. A computer program product for identifying in range endpoints in a network, the computer program product comprising:
a non-transitory computer readable-storage medium having computer readable program code embodied in said medium, the computer readable program code comprising:
computer readable program code to provide a map including endpoints in the network, the endpoints including target endpoints, out of range endpoints and non-out of range endpoints;
computer readable program code to position a grid over the map including the endpoints in the network, the grid including a plurality of subsections each having a defined radius,
computer readable program code to locate a target endpoint on the map and in one of the subsections of the grid; and
computer readable program code to identify a plurality of endpoints within subsections of the grid within a defined range of the target endpoint.
US16/101,950 2017-08-14 2018-08-13 Methods, systems and computer program products for identifying endpoints in a network Active 2038-08-17 US11044163B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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