Connected devices on a public or private network are associated with a network address, such as an IPv4 address or IPv6 address. The associated network addresses may be commissioned or decommissioned during the lifecycle of a connected device. Network addresses may be grouped as blocks. Individual network addresses and blocks may be provisioned, reassigned, and reclaimed according to the lifecycle of connected devices. IPv4 inventory numbers are over 100 million (M), and IPv6 inventory numbers are over 26 nonillion (26×1021). Management of network addresses is typically a time consuming process.
While the techniques presented herein may be embodied in alternative forms, the particular embodiments illustrated in the drawings are only a few examples that are supplemental of the description provided herein. These embodiments are not to be interpreted in a limiting manner, such as limiting the claims appended hereto.
Subject matter will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific example embodiments. This description is not intended as an extensive or detailed discussion of known concepts. Details that are well known may have been omitted, or may be handled in summary fashion.
The following subject matter may be embodied in a variety of different forms, such as methods, devices, components, and/or systems. Accordingly, this subject matter is not intended to be construed as limited to any example embodiments set forth herein. Rather, example embodiments are provided merely to be illustrative. Such embodiments may, for example, take the form of hardware, software, firmware or any combination thereof.
The following provides a discussion of some types of computing scenarios in which the disclosed subject matter may be utilized and/or implemented.
One or more systems and/or techniques for internet numbers asset management are provided. In some examples, historical internet protocol (IP) block information associated with a plurality of IP blocks corresponding to an IP block owner may be received from a server database. The historical IP block information may include, for each of the plurality of IP blocks, IP block size information indicating a size of a corresponding IP block and IP block type information indicating a type of a corresponding IP block. A machine learning model may be trained based on the historical IP block information. Predictions may be received from the trained machine learning model indicating a set of IP blocks of the plurality of IP blocks to be audited. An electronic action may be generated based on the received predictions to audit the pool of IP blocks to obtain validation status information for each IP block of the pool of IP blocks. The historical IP block information may be updated in the server database with the validation status information for each IP block of the pool of IP blocks.
Accordingly, as provided herein, an internet numbers process may be performed. In some examples, a device may receive historical IP block information associated with a plurality of IP blocks corresponding to an IP block owner. The historical IP block information may include, for each of the plurality of IP blocks, IP block size information and IP block type information. The device may train a machine learning model based on the historical IP block information. The device may receive predictions from the trained machine learning model indicating a pool of IP blocks of the plurality of IP blocks to be audited. The device may generate an electronic action based on the predictions to audit the pool of IP blocks to obtain validation status information for each IP block of the pool of IP blocks. The historical IP block information may be updated in a server database with the validation status information for each IP block of the pool of IP blocks.
Internet numbers, for example, IP Addresses, may be considered valuable resources, such as in network service provider organizations. Both IPv4 and IPv6 addresses are deployed and scattered across a wide range of network devices in far edge, edge, core, and terminal devices like customer premises equipment (CPE), cellular telephone equipment (CTE), and internet of things (IoT) devices. Machine based intelligence, for example in combination with human interaction, may provide inventory management of internet numbers as an asset.
According to some example embodiments, an inventory management system may provide various roles and responsibilities in groups and/or blocks, such as groups associated with individuals, or blocks of internet protocol (IP) addresses. In an example, an inventory management system may search for patterns of work in the system. A robotic process automation engine may provide natural language processing, and may provide outcomes, recommendations and insights that are comprehensible and/or actionable.
In some example embodiments, IP addresses may be grouped in IP blocks and the IP blocks may be grouped in IP pools. IP pools and/or IP blocks may be used to allocate and manage IP addresses. In some example embodiments, a number of IP pools in an environment, such as a network service provider environment, may be around 50 to 100 thousand. IP blocks may be associated with an IP block owner, an IP block size, and an IP block type. Pools of IP blocks may be associated with an IP block owner, and may include IP blocks having different IP block sizes and different IP block types. In some example embodiments, attributes, such as dynamic attributes, may be provided to manage IP pool information. Attributes associated with the IP blocks may be periodically evaluated and/or updated, and new attributes may be added by auditing, such as with processes executed by machines and/or intelligent machines, and/or humans. Attributes associated with the IP blocks may be used to analyze the IP blocks with supervised and/or unsupervised machine learning.
In some example embodiments, IP pools may be dynamically analyzed, classified and/or updated periodically. Unsupervised learning may be used to analyze an IP pool, identify clusters of IP blocks within an IP pool, detect anomalies in IP blocks, and/or identify features associated with IP blocks in the IP pool. Machine learning and/or artificial intelligence may provide algorithms and/or techniques to prioritize and/or investigate IP blocks. In some example embodiments, an unsupervised learning model may provide tagging of IP blocks along with a design of customized and/or dynamic workflows. In some example embodiments, including automated analysis and investigation, a supervised learning model may be used to identify and/or determine workflows associated with processing IP blocks within an IP pool. In some example embodiments, existing workflows may be updated and/or new workflows may be created to update the supervised model.
IPv4 uses a 32-bit address space, which provides 4,294,967,296 (1×232) unique addresses. However, all IPv4 addresses are not available for assignment. For example, the Internet Assigned Numbers Authority (IANA) and the Internet Engineering Task Force (IETF) have reserved large IP blocks of IPv4 addresses for special purposes, such as multi-cast traffic and use by private networks. The universe of assignable IPv4 addresses have already been exhausted. IPv6 addresses use a 128-bit address, theoretically allowing 1×2128 (approximately 3.4×1038) addresses. There is anticipated explosive growth in the use of IP addresses, through reclamation of IPv4 and IPv6 addresses and assignment of new IPv6 addresses, due to expansion of current systems (e.g., 5G wireless systems, wireline-terrestrial systems, etc.) and adoption of emerging systems (e.g., Intelligent Edge Network (IEN), Internet of Things (IoT), etc.).
As shown in
According to some embodiments, the INAM resources 116 may include a management server 124, a cloud platform server 126, an RPA engine 127, a Domain Name System (DNS) server 128, a Dynamic Host Configuration Protocol (DHCP) server 130, a Route Origination Authorization (ROA) server 131, an IP gateway 132, a messaging bus server 134, and a server database 136 (e.g., including a data management platform such as a business support system (BSS) database and/or an operational support system (OSS) database). In some embodiments, the modules 110 may access the INAM resources 116 through the management server 124.
According to some embodiments, the INAM resources 116 may include the cloud platform server 126 to configure the INAM system 102 as a virtual appliance in a cloud computing environment. In some embodiments, each of the modules 110 may be provided in a software container platform by the cloud platform server 126. As set forth in greater detail below, the software container platform may include one or more containers corresponding to each of the modules 110. Each of the modules 110 may be scaled within the container platform according to a scaling model. Scaling models include: a scale up model (e.g., vertical scaling), where the each of the modules 110 corresponds to a container that may be increased in resources in response to a task; a scale out model (e.g., horizontal scaling), where each of the modules 110 corresponds to a container of fixed unit size, and multiple containers are spawned in response to a divisible task; or a dynamically scaled up and scaled out model, where each of the modules 110 corresponds to a container that may be dynamically increased in resources in response to a task and multiple containers are spawned in response to divisible tasks. In an example, an identified block of IP assets (e.g., IP addresses or IP blocks) may comprise 20 assets grouped in a single container by one of the modules 110 through the cloud platform server 126. During processing of the assets, such as during an audit, the 20 assets may be discovered and the single container may be scaled up within the container platform to include resources corresponding to the 20 discovered IP assets. In another example, an identified block of IP assets may comprise or be discovered to comprise 2 million IP assets grouped in a single container by one of the modules 110 through the cloud platform server 126. During processing, the identified block of IP assets may be divided into a plurality of sub-blocks and the single container may be scaled out to spawn multiple containers, with each container corresponding to each of the plurality of sub-blocks. During subsequent processing and in an example, each spawned container may scale up or scale out to respond to tasks associated with each sub-block. For example, a spawned container may scale up to include resources corresponding to each IP address of a sub-block, or a spawned container may scale out to provide a separate container for each IP block included within a sub-block. Scaling models also include baseline scaling, width scaling, depth scaling, resolution scaling, compound scaling, and other scaling models. According to various examples, a scaling model may be selected through the client device 104 or may be dynamically selected by the INAM system 102 in response to attributes associated with a task. According to another example, a scaling model may be selected by the ML model 114 during execution of a dynamic workflow, as set forth in greater detail below.
According to some embodiments, the INAM resources 116 may include the RPA engine 127 configured as computer software (e.g., a “robot” or “bot”). In some embodiments, the RPA engine 127 may be directed by the INAM system 102 to emulate and integrate the actions of a human interacting with the client device 104. In some embodiments, the RPA engine 127 may be a component of a service orchestration engine (SOE) operating on a device, such as a server, that may be in operable communication with the INAM system 102. In some embodiments, the RPA engine 127 may be configured as a virtual appliance in a cloud computing environment by the cloud platform server 126. In some embodiments, the RPA engine 127 may be part of a system and/or platform to access and/or manage a data management platform in the server database 136. The RPA engine 127 may enable a user, through the client device 104, to perform a function and/or operation involving data of the INAM system 102 and/or other platform, such as the wireline resources 118 and/or the wireless resources 120. The RPA engine 127 may use AI (e.g., machine learning, deep learning, and/or other learning) to provide the UI 108.
According to some embodiments, the RPA engine 127 may be configured as a virtual assistant to control a display of the client device 104. When configured as a virtual assistant, the RPA engine 127 may provide a conversation service (e.g., natural language processing (NLP)) to perform a function and/or an operation, as described herein. For example, the RPA engine 127 may identify a function and/or an operation to be performed, and perform the function and/or operation (or cause the operation to be performed) in association with human-like characteristics of the function and/or operation. The RPA engine 127 may be configured to identify elements of the UI 108, to provide navigation of the UI 108, and/or to perform an associated operation. Additionally, or alternatively, the RPA engine 127 may selectively configure the UI 108 (e.g., as a chat bot) to obtain additional and/or supplemental information from the user.
According to some embodiments, the RPA engine 127 may present one or more electronic actions derived from predictions of the ML model 114 for selection and/or confirmation by a user through the client device 104. The ML model 114 may record user selections and/or may associate recorded user selections corresponding to a particular user. The ML model 114 may then prompt a user to automatically execute the one or more electronic actions through the RPA engine 127. For example, the INAM system 102 may receive predictions from the ML model 114 indicating one or more pools of IP blocks corresponding to an IP block owner to be audited. The INAM system 102 may then present an electronic action for selection and/or confirmation by a user through the client device 104 to audit a first pool of IP blocks corresponding to the IP block owner. Upon receiving the selection and/or confirmation, the RPA engine 127 may prompt a user through the client device 104 to automatically execute one or more electronic actions to audit other pools of IP blocks corresponding to the IP block owner. Additionally, and/or alternatively, other electronic actions, set forth in greater detail below, may be presented for selection and/or confirmation through the RPA engine 127.
According to some embodiments, the RPA engine 127 may cause an operation (and/or cause an operation to be performed) that accesses a data management platform in the server database 136. In an example, the RPA engine 127 may access the data management platform through the UI 108 to enter received information (e.g., updated IP block owner information associated with a plurality of IP blocks corresponding to a previous IP block owner) as if the information were manually entered by a human agent. In another example, the RPA engine 127 may cause navigation through the UI 108 to access the data management platform based on characteristics of the received user information and enter corresponding user information within designated fields of the UI 108 to perform the operation. Upon entry of the user information, the data management platform in the server database 136 may then update a data structure of the data management platform to include the updated information.
According to some embodiments, the RPA engine 127 may provide electronic actions (e.g., resulting from predictions by the ML model 114) for selection and/or confirmation, which correspond to previous behavior of a particular user associated with a function and/or operation. According to some embodiments the RPA engine 127 may provide and/or execute different operations automatically, such as cascading operations associated with one or more audits and/or operations of a dynamic workflow, which may improve speed, improve efficiency, and/or conserve computing resources (e.g., processor resources, memory resources, database resources, etc.). Examples described herein may increase capacities of human agents that are to perform redundant and/or duplicative tasks, such as responding to and/or updating received information from other services, other users, themselves, and/or other electronic actions generated as a result of machine learning by the ML model 114.
According to some embodiments, the INAM resources 116 may include the DNS server 128 to manage and/or translate a domain name hierarchy and IP addresses. In some embodiments, the DNS server 128 may be internal to the INAM system 102 and may manage domain names and IP addresses corresponding to an IP address owner stored in the server database 136. In some embodiments, the DNS server 128 may be external to the INAM system 102. In some embodiments, the DNS server 128 may be accessed by the INAM system 102 to conduct a validation test associated with a selected IP block. The validation test may be performed in response to a generated electronic action by the INAM system 102 to audit a pool of IP blocks including the selected IP block. To conduct the validation test of the selected IP block, the INAM system 102 may receive, from the server database 136, a domain name associated with the selected IP block and an IP block attribute, such as an IP block owner attribute, corresponding to the selected IP block. In some embodiments, the DNS server 128 may include a WHOIS database that may be polled, for the selected IP block, with the received domain name. The INAM system 102 may then receive, from the WHOIS database, central registry information and/or registrar information corresponding to the received domain name, including the domain name itself, an entity providing registration services for the domain name, domain status, nameservers associated with the domain, create/expire dates for the domain, and/or registered owner information. The INAM system 102 may compare, for the selected IP block, the registered owner information with the received IP block owner attribute and generate a validation status based on the comparison of the registered owner information and the received IP block owner attribute. In some embodiments, the validation status may indicate that the registered owner information from the WHOIS database does not match the received IP block owner attribute, and the INAM system 102 may then register a WHOIS entry in the WHOIS database corresponding to the received IP block owner attribute.
According to some embodiments, the INAM resources 116 may include the DHCP server 130 to manage IP settings for devices on a local network, e.g., by assigning IP addresses to the devices automatically and/or dynamically. In some embodiments, the DHCP server 130 may be accessed by the INAM system 102 to conduct a validation test associated with a selected IP block and/or a pool of IP blocks. The validation test may be performed in response to a generated electronic action by the INAM system 102 to audit the pool of IP blocks including the selected IP block. To conduct the audit of the pool of IP blocks, the INAM system 102 may identify each IP address associated with the pool of IP blocks. The INAM system 102 may perform a validation test associated with each identified IP address to obtain a corresponding first validation status. For example, the INAM system 102 may send a DHCP broadcast query to the DHCP server 130 for each identified IP address and receive corresponding configuration parameters from the DHCP server 130 indicating that the identified IP address may be unassigned to a device. The INAM system 102 may group each identified IP address into a set of unassigned IP addresses based on each corresponding first validation status and analyze the set of unassigned IP addresses to determine contiguous IP blocks of unassigned IP addresses. The INAM system 102 may assign unassigned status information to each contiguous IP block of unassigned IP addresses indicating that all corresponding IP addresses are unassigned. The INAM system 102 may then register, in the server database 136, each contiguous IP block of unassigned IP addresses as an audited IP block with corresponding validation status information including the unassigned status information. In some embodiments, as set forth in greater detail below, the INAM system 102 may perform IP block analysis on the audited IP blocks using dynamic workflows to compare validation status information of the audited IP blocks against trends corresponding to an IP block owner and provide a forecast of future needs for IP blocks by the IP block owner.
In some embodiments, the DHCP server 130 may be accessed by the INAM system 102 to conduct a second validation test associated with each identified IP address. The second validation test may be performed, based on the first validation status, to obtain a second validation status associated with each identified IP address in the pool of IP blocks. For example, to conduct the second validation test, the INAM system 102 may compare, for each identified IP address, a second configuration parameter received from the DHCP server 130, such as an associated default gateway, with a corresponding attribute retrieved from the server database 136. In some embodiments, the second validation test may be conducted automatically by the INAM system 102 upon completion of the first validation test. In some embodiments, the DHCP server 130 may be accessed by the INAM system 102 to conduct a third validation test associated with each identified IP address. The third validation test may be performed, based on the first validation status and the second validation status, to obtain a third validation status associated with each identified IP address in the pool of IP blocks. For example, to conduct the third validation test, the INAM system 102 may compare, for each identified IP address, a third configuration parameter received from the DHCP server 130, such as an associated domain name with a corresponding attribute retrieved from the server database 136. In some embodiments, the INAM system 102 may update the historical IP block information in the server database 136 for the selected IP block with validation status information based on the first validation status, the second validation status, and the third validation status.
According to some embodiments, the INAM resources 116 may include the ROA server 131 to return a route origin authorization (ROA) in response to a query. In some embodiments, the ROA server 131 may be internal to the INAM system 102 and return ROAs corresponding to an IP address owner. In some embodiments, the ROA server 131 may be external to the INAM system 102. In some embodiments, the ROAs may be returned in response to queries and may state which autonomous system (AS) may be authorized to originate a particular IP address prefix or set of IP address prefixes. For example, a particular IP address prefix may correspond to an IP block and a set of IP address prefixes may correspond to a pool of IP blocks. In some embodiments, upon return of an ROA for a certain combination of an origin AS and an IP address prefix, validation status information associated with a corresponding IP block may be included in the returned ROA. The validation status information may include an ROA name, an AS number (ASN), a validity date range, and/or one or more IP Addresses (along with a CIDR block designation). The validation status information may include a Resource Public Key Infrastructure (RPKI) announcement returned by the ROA server 131. For example, the ROA server 131 may be polled by the INAM system 102 for a selected IP block during an audit, and an RPKI announcement may be returned by the ROA server 131 as validation status information indicating that the selected IP block is valid, invalid, or unknown. In some embodiments, the RPKI announcement may be associated with the ROA returned by the ROA server 131. In some embodiments, the ROA server 131 may be accessed by the INAM system 102 to conduct a validation test associated with a selected IP block. The validation test may be performed in response to a generated electronic action by the INAM system 102 to audit the selected IP block. To perform the validation test, the INAM system 102 may poll the ROA server 131 with information corresponding to the selected IP block and receive a return ROA and/or an RPKI announcement as validation status information corresponding to the selected IP block. The INAM system 102 may then update historical IP block information in the server database 136 for the selected IP block with the validation status information.
According to some embodiments, the INAM resources 116 may include the IP gateway 132 (e.g., a routing device) to serve as an access point for communicating network traffic to a network external to the INAM system 102. The IP gateway 132 may include a routing table that specifies which interface may be used for transmission and which router on the network may be responsible for forwarding network traffic to a specific set of addresses. In some embodiments, the IP gateway 132 may be accessed by the INAM system 102 to conduct a validation test associated with a selected IP block. The validation test may be performed in response to a generated electronic action by the INAM system 102 to audit a pool of IP blocks including the selected IP block. To conduct the audit of the selected IP block, the INAM system 102 may receive, from the server database 136, an IP address owner attribute corresponding to the selected IP block. The INAM system 102 may identify each IP address associated with the selected IP block and poll the routing table in the IP gateway 132 for each identified IP address. The INAM system 102 may receive, from the IP gateway 132, a route statement corresponding to each polled IP address, the route statement including polled IP address owner information. The INAM system 102 may then compare, for each identified IP address, the polled IP address owner information with the received IP address owner attribute and generate a corresponding validation status based on the comparison. The INAM system 102 may then update historical IP block information in the server database 136 for the selected IP block with the validation status. In some embodiments, the INAM system 102 may determine, from the received route statement for each polled IP address, whether each polled IP address has an associated route configured to communicate information, and when the associated route is not configured to communicate information, build a new route for each polled IP address.
According to some embodiments, the server database 136 may store data associated with a data management platform such as a BSS database and/or an OSS database. The OSS database may include computer systems used by a communications service provider to manage a network (e.g., a communications network). The OSS database may support management functions and/or operations associated with a network, such as network inventory, service provisioning, network configuration and/or fault management. The OSS database may store historical IP block information associated with each of a plurality of IP blocks. The historical IP block information may include IP block size information, IP block type information, and IP block owner information such as an IP owner attribute identifying an owner of a corresponding IP block. According to some embodiments, the BSS database may include user components that a communications network service provider may use to manage and/or interface with user facing business operations. According to various example embodiments, the server database 136 may be configured as separate databases supporting the BSS and the OSS, or may include a plurality of other databases, such as databases associated with a data management platform. Other arrangements and/or configurations of the server database 136 are within the scope of the present disclosure.
According to some embodiments, the management server 124 may manage communication between the INAM resources 116 and the modules 110, the wireline resources 118, and the wireless resources 120. The messaging bus server 134 of the INAM resources 116 may communicate directly with the INAM subnet module to provide subnetting of IP blocks. In some embodiments, the ML model 114 may communicate directly with the server database 136. For example, the ML model 114 may communicate historical IP block information with the server database 136 associated with a plurality of IP blocks to be audited. The ML model 114 may receive historical IP block information corresponding to an IP block owner. In some embodiments, the ML model 114 may receive input from the client device 104 corresponding to the IP block owner. In some embodiments, the ML model 114 may select an IP block owner as part of periodic background auditing of IP blocks. As set forth in greater detail below, the INAM system 102 may train the ML model 114 based on historical IP block information stored in the server database 136 and may receive predictions from the trained ML model 114 indicating a pool of IP blocks to be audited. The INAM system 102 may generate an electronic action, based on the received predictions, to audit the pool of IP blocks to obtain validation status information for each IP block of the pool of IP blocks, and update the historical IP block information in the server database 136 and/or the INAM database 112 with the validation status information for each IP block of the pool of IP blocks.
According to some embodiments, the wireline resources 118 may include a number of resource elements, such as: virtual network services (VNS), which may be a bundle of combined network services and functions in a single executable package; a fiber to the premise (FTTP) provisioning platform for voice, data, video, etc. that may manage assignable inventory, provisioning and activation of FTTP network elements; a workforce management (WFM) platform that may manage tickets associated with network deployment; a wirelines subnet manager (SNM) that may manage wireline IP blocks; a broadband inventory manager (BIS) that may manage broadband wireline IP inventory; a base network controller (BNC) that may gather and/or stream telemetry from network elements; an enhanced traffic management (ETM) service (ETMS) that may prioritize traffic and may assign classes of IP service; an IP security monitor (IPSM) that may manage security associated with wireline IP service; a video data distribution system (VDDS) that may distribute video data, such as special even pay-per-view content; a network intelligence resource; and an IP learning resource. The wireless resources 120 may include a plurality of vendor specific resources (e.g., resources specific to wireless handset manufacturers for provisioning IP addresses). Other arrangements and/or configurations of the wireline resources 118 and/or the wireless resources 120 are within the scope of the present disclosure.
According to some embodiments, the modules 110 may comprise a network discovery module, a report module, a search module, an IP address management module, a subnet module, a subnet Internet Routing Registry (IRR) module, an IANA/SWIP module, and a Role Based Access Control (RBAC) module. The subnet IRR module communicates with and manages IP blocks and IP addresses with an external RIR 122. According to some embodiments, the INAM system 102 may integrate with domain name servers (e.g., through the IP address management module) and network devices (e.g., through the network discovery module) to provide remote provisioning. For example, upon installation of network devices in a user premises by a utility company, the network devices may be remotely provisioned with IP addresses as a unified IP block associated with the utility company as an IP block owner. Other arrangements and/or configurations of the modules 110 of the INAM system 102 are within the scope of the present disclosure.
According to some embodiments, the subnet IRR module may allocate and/or register IP addresses and/or IP blocks with the external RIR 122. In some embodiments, the subnet IRR module may be accessed by the INAM system 102 to conduct a validation test associated with a selected IP block. The validation test may be performed in response to a generated electronic action by the INAM system 102 to audit a pool of IP blocks including the selected IP block. To conduct the audit of the selected IP block, the INAM system 102 may identify each IP address associated with the selected IP block and receive, from the server database 136, an IP address owner attribute associated with each identified IP address. The INAM system 102 may poll an IRR database in the external RIR 122, for each identified IP address, with a public autonomous system number (ASN) corresponding to the IP address owner attribute. The INAM system 102 may receive, from the IRR database, IRR owner information for each identified IP address corresponding to the polled public ASN. The INAM system 102 may compare, for each identified IP address, the received IRR owner information with the IP address owner attribute, and generate a validation status based on the comparison of the received IRR owner information and the IP address owner attribute.
According to some embodiments, the IP address management module may access IP address information and/or IP block information. The IP address management module may communicate with the DNS server 128, which translates domain names to IP addresses, and may communicate with the DHCP server 130, which may assign a unique address to a network device (e.g., a network element). IP addresses may be accessed/managed with Transmission Control Protocol (TCP) and Internet Protocol (IP) (TCP/IP), which may identify a network device for communication and may supply other network configuration parameters. According to some embodiments, a search module of the INAM system 102 may search the INAM database 112 through a role based access control (RBAC) module to obtain record search responses (e.g., legal requests, life and death responses, individual person searches, etc.) associated with an IP address. A report module of the INAM system 102 may configure the record search responses into a corresponding report, which may be output to a user through the client device 104.
As shown in
According to some embodiments, the example implementation 100 may provide automated IP asset management by the INAM system 102 through background monitoring and auditing. In some embodiments, electronic actions 146 may be performed in association with the dynamic workflow 142. The electronic actions 146 may include an audit action 146a of a pool of IP blocks predicted by the ML model 114, a reclamation action 146b of IP blocks from an audited pool of IP blocks, or IP asset management action 146c of a pool of IP blocks. In some embodiments, the pool of IP blocks to be managed by the electronic actions 146 may share one or more common attributes and/or audit results, and/or may be presented to a user through the client device 104 for bulk processing. In an example, the audit action 146a may indicate that a subset of IP addresses of the pool of IP blocks share a common attribute indicating that a corresponding route is not configured to communicate information. In this case, for example, the dynamic workflow 142 may indicate an invalid route statement associated with a trace route, and a corresponding audit action 146a may be generated to build a route for the subset of IP addresses.
In an example, the reclamation action 146b may indicate that a subset of IP addresses of the pool of IP blocks share a common attribute indicating that the subset of IP addresses is unassigned. In this case, for example, the dynamic workflow 142 may indicate that an external RIR, a WHOIS database, and the server database 136 all confirm that the subset of IP addresses are unassigned, and a corresponding reclamation action 146b may be generated to assign unassigned status information to contiguous IP blocks of the subset of IP addresses. In an example, the pool of IP blocks to be managed may share a common attribute, such as an IP block owner attribute, to be changed. In this case, for example, the dynamic workflow 142 may designate that an ARIN external RIR, a WHOIS database, and the server database 136 are to be updated, and a corresponding IP asset management action 146c may be generated. Other IP asset management actions may include removing an assignment of an IP asset from the server database 136, creating an external record, creating an internal record, creating a trouble ticket, etc.
In some embodiments, the electronic actions may be performed contemporaneously with execution of the dynamic workflow 142. For example, an audit 146a may be performed contemporaneously while an IP block is being processed through the dynamic workflow 142 such that results of each audit operation are contemporaneously stored in the INAM database 112. In some embodiments, the electronic actions 146 may be structured as outputs to a user, such as through the client device 104, for final selection and/or authorization. In some embodiments, the electronic actions 146 may be configured for automatic execution, such as by the RPA engine 127 of the INAM system 102.
In some embodiments, a user may individually and/or in bulk authorize the electronic actions 146 through the RPA engine 127. In an example, a user may authorize full automation of the electronic actions 146 through the RPA engine 127 based upon recursive reviews of prior electronic actions 146. In another example, if a user authorized a type of electronic action a number of times (e.g., fifty, one hundred times, etc.) as determined by the ML model 114, the user may authorize full automation for the type of the electronic action through the RPA engine 127.
According to some example embodiments, the dynamic workflow 142 is chosen dynamically by the ML model 114 using ML algorithms based on the outcomes of other tasks. Attributes of a dataset associated with IP blocks may drive decision paths through the dynamic workflow 142 and result in corresponding electronic actions 146. In some embodiments, the ML model 114 may provide weighted process paths and the electronic actions 146 may be inferred from actions taken over time. According to some example embodiments, the injectable processes 144 may include new processes for IP asset management that can be injected by users (e.g., through the RPA engine 127). Based upon the injectable processes 144, the ML model 114 may be updated with the electronic actions 146 to provide supervised learning. Users can adjust the electronic actions 146 (e.g., by providing recommended weights to the ML model 114 through the client device 104) and configure the RPA engine 127 to engage or ignore specific tasks and/or workflow paths.
As shown in
In some embodiments, upon completion of the dynamic workflow 142, INAM system 102 may provide the electronic actions 146 as structured positive or negative audit functions. For example, the dynamic workflow 142 may change based upon the structured positive or negative audit functions. In some embodiments, multiple audits may be executed by the INAM system 102 to train the ML model 114. In some embodiments one or more of the multiple audits may follow different dynamic workflows, and different attributes corresponding to each of the dynamic workflows may be updated. Each of the different dynamic workflows may be presented for selection and/or confirmation by a user through the client device 104. In some embodiments, an injectable process 144 may be integrated into the dynamic workflow 142 and presented as an alternative electronic action for selection and/or confirmation by a user through the client device 104. In some embodiments, the injectable process 144 may include a user defined process and/or a previously defined process, and may be injected dynamically into the dynamic workflow 142.
In some embodiments, the INAM system 102 may receive, from the server database 136, historical IP block information associated with a plurality of IP blocks corresponding to an IP block owner. The historical IP block information may include, for each of the plurality of IP blocks, IP block size information and IP block type information. The INAM system 102 may train the ML model 114 based on the historical IP block information. The INAM system 102 may receive predictions from the trained machine learning model indicating a pool of IP blocks of the plurality of IP blocks to be audited. The INAM system 102 may generate one of the electronic actions 146, such as the audit action 146a based on the received predictions, to audit the pool of IP blocks to obtain validation status information for each IP block of the pool of IP blocks. The INAM system may then update the historical IP block information in the server database 136 with the validation status information for each IP block of the pool of IP blocks. In some embodiments, the INAM system 102 may cluster the pool IP blocks into sets of IP blocks, using the trained ML model 114, based on the historical IP block information, analyze the sets of IP blocks, using the trained machine learning model, to determine an order for auditing the sets of IP blocks, and automatically generate the audit action 146a to audit the sets of IP blocks in the determined order.
In some embodiments, the INAM system 102 may conduct a second or multiple audits. For example, the INAM system 102 may receive, from the server database 136, second historical IP block information associated with a second plurality of IP blocks corresponding to an IP block owner. The second historical IP block information may include, for each of the second plurality of IP blocks, IP block size information and IP block type information. The INAM system 102 may train the ML model 114 based on the second historical IP block information. The INAM system 102 may receive second predictions from the trained machine learning model indicating a second pool of IP blocks of the second plurality of IP blocks to be audited. The INAM system 102 may generate a second electronic action, such as the audit action 146a based on the received predictions, to audit the second pool of IP blocks to obtain second validation status information for each IP block of the second pool of IP blocks. The INAM system may then update the historical IP block information in the server database 136 with the second validation status information for each IP block of the second pool of IP blocks. Other arrangements and/or configurations of the INAM system 102, the ML model 114, the dynamic workflow 142, the injectable processes 144 and/or the electronic actions 146 are within the scope of the present disclosure.
As shown in
As shown in
As shown in
As shown in
According to some embodiments, the group owner may correspond to a user illustrated in
According to some embodiments, unsupervised learning may use IP pool metadata and operational data. During cluster analysis, datasets of the IP pools 158 having similar data patterns may be categorized into clusters. A user and/or the ML model 114 may assign a label to an identified cluster. An IP pool may be identified as an anomaly 164 based upon the metadata or operational data. In an example, the anomaly 164 may be an IP pool with metadata and/or operational data that may not be shared with another IP pool. In another example, the anomaly 164 may be an IP pool that varies in metadata or operational data that varies significantly from other IP pools according to the applied weights. In an example, an IP pool with the anomaly 164 may be tagged for investigation as an electronic action. In an example, an investigation may be assigned to the ML model 114 automatically for investigation. In another example, a user may be prompted with the electronic action 146 of an investigation and a user may select investigation for execution by the RPA engine 127. Attributes may be correlated to indicate a positive correlation or a negative correlation. A positive correlation may be provided when one attribute moves upwardly with respect to another attribute and a negative correlation may be provided when one attribute moves downwardly with respect to another attribute. In an example, the cluster 162 may include IP blocks with similar positive correlation of attributes, similar negative correlation of attributes, or another correlation of attributes.
According to some embodiments, supervised learning may be provided for identified IP pools using the dynamic workflows 142. The ML model 114 may be used to identify a sequence of operations corresponding to the attributes of the identified IP pool. For example, IP assets of the identified IP pool may include a similar attribute indicating an ARIN RIR. In this case, the electronic action 146 may include a ping to the ARIN RIR to confirm registration of one or more IP addresses (e.g., all IP addresses) in an associated IP block. In another example, the IP pool may include a similar attribute indicating an LACNIC RIR. The electronic action 146 may include a ping to the LACNIC RIR to confirm registration of one or more IP addresses (e.g., all IP addresses) in an associated IP block. In the above examples, a ping to the ARIN RIR or the LACNIC RIR may indicate an unassociated IP address. In another example, if a number of IP addresses in a cluster of IP blocks greater than a threshold value are not associated with an RIR, a label (e.g., a new attribute) may be applied to the cluster of IP blocks and the injectable process 144 may be introduced into the dynamic workflow 142. The label may be applied automatically in an unsupervised process or a user may be prompted to apply a label (e.g., a user defined attribute). In some embodiments, the injectable process 144 may include registration of the IP addresses with the external RIR 122. In another example, one or more IP addresses in the cluster 162 (e.g., all IP addresses) may indicate registration with the external RIR 122, but are not being used. In this example, an injectable process may include de-registration of the IP blocks in the cluster 162 with the RIR. Actions of the dynamic workflow 142, whether automatic or user authorized, may be registered in a log (e.g., with one or more corresponding attributes) for auditing and subsequent analysis.
According to some example embodiments, the dynamic workflow 142 may be used for IP address assignment. The dynamic workflow 142 may provide logical coordination of IP blocks between routers, route tables (e.g., a BGP route table), ping, traceroute, etc. The dynamic workflow 142 may dynamically access the server database 136, such as a BSS/OSS datastore, a global customer hierarchy (GCH) datastore, a unified service profile (USP) datastore for customers using predetermined services, and a sales system datastore. The GCH datastore may include a GCH ID (e.g., an attribute) associated with a customer. The USP may identify the type of product (e.g., an attribute) associated with one or more customer attributes, such as a customer ID, a customer activation date, and a customer status (e.g., currently connected or disconnected). The sales system datastore may include private IP (PIP) orders for order processing. The dynamic workflow 142 may access an ownership database providing IP blocks associated with the server database 136. The ownership database may include an IP Point of Contact (IPPOC) database that correlates and tracks one or more attributes corresponding to IP addresses, individual owners, and individual devices. The ownership database may include a security database including attributes indicating a security violation, which may be internal or external. The dynamic workflow 142 may access an external service such as an RIR, an IRR, a customer service portal for customer self-management of an IP pool (e.g., a user or client device associated with the wireline resources 118 and/or the wireless resources 120), or a geolocation filter identifying a physical location of a device (e.g., a pole, a wireless tower, etc.). Other arrangements and/or configurations of the dynamic workflow 142 are within the scope of the present disclosure.
In some example implementations, the ML model 114 may include one or more of an exploratory factor analysis model, a confirmatory factor analysis model, a principal component analysis model, a k-means clustering model, a least absolute shrinkage and selection operator (Lasso) regression analysis model, an artificial neural network model, non-linear regression model, decision tree model, a fuzzy logic model, and/or another model.
In some example implementations, the exploratory factor analysis model may include a statistical model used to uncover an underlying structure of a relatively large set of variables. For example, the exploratory factor analysis model may perform a factor analysis technique to identify underlying relationships between measured variables. Measured variables may include any one of several attributes, such as the attributes described herein. Measured variables may be stored, observed, measured, and/or generated (e.g., as part of an IP block audit). The exploratory factor analysis model may be based on a common factor model, within which a function of common factors, unique factors, and errors of measurement expresses measured variables. Common factors may influence two or more measured variables, while each unique factor may influence one measured variable and does not explain correlations among measured variables.
In some example implementations, the confirmatory factor analysis model may include a form of factor analysis that may be used to test whether measures of a construct are consistent with a preliminary conception of a nature of the construct. An objective of the confirmatory factor analysis model may be to test whether data fits a hypothesized measurement model that may be based on theory and/or previous analytic research.
In some example implementations, the principal component analysis model may include a statistical procedure that uses an orthogonal transformation to convert a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called principal components. A number of distinct principal components may be equal to a smaller of a number of original variables or a number of observations minus one. The orthogonal transformation may be defined in such a way that a first principal component has a largest possible variance, and each succeeding component in turn has a highest variance possible under a constraint that it may be orthogonal to preceding components. Resulting vectors may include an uncorrelated orthogonal basis set.
In some example implementations, the k-means clustering model may be applied to partition (n) observations into (k) clusters in which each observation belongs to a cluster with a nearest mean, serving as a prototype of the cluster, which results in a partitioning of a data space into Voronoi cells. The k-means clustering model may utilize efficient heuristic methods that converge quickly to a local optimum.
In some example implementations, the Lasso regression analysis model may include a regression analysis model that performs both variable selection and regularization in order to enhance a prediction accuracy and interpretability of a statistical model that the Lasso regression analysis model produces. For example, the Lasso regression analysis model may include a shrinkage and selection model for linear regression, and may seek to obtain a subset of predictors that minimizes prediction error for a quantitative response variable. In some example implementations, the Lasso regression analysis model may minimize a prediction error by imposing a constraint on model parameters that cause regression coefficients for some variables to shrink towards zero. Variables with a regression coefficient equal to zero after the shrinkage process may be excluded from the model, while variables with non-zero regression coefficient variables may be most strongly associated with the quantitative response variable.
In some example implementations, the artificial neural network model may use an artificial neural network to perform machine learning. An artificial neural network may utilize a collection of connected units or nodes, also known as artificial neurons. Each connection between artificial neurons may transmit a signal from one artificial neuron to another artificial neuron. An artificial neuron that receives the signal may process the signal and then provide a signal to artificial neurons connected to the artificial neuron. In some artificial neural network implementations, the signal at a connection between artificial neurons may be a real number, and the output of each artificial neuron may be calculated by a non-linear function of the sum of its inputs. Artificial neurons and connections may have a weight that adjusts as learning proceeds. The weight may increase or decrease the strength of the signal at a connection. An artificial neuron may have a threshold such that the artificial neuron only sends a signal if the aggregate signal satisfies the threshold. Artificial neurons may be organized in layers, and different layers may perform different kinds of transformations on their inputs.
In some example implementations, the non-linear regression model may apply non-linear regression analysis to perform machine learning. Non-linear regression may be a form of regression analysis in which observational data are modeled by a function which may be a non-linear combination of the model parameters and depends on one or more independent variables. The observational data may be fitted by successive approximations. The non-linear function may be, for example, an exponential function, a logarithmic function, a trigonometric function, a power function, a Gaussian function, and/or another function.
In some example implementations, the decision tree model may use a decision tree data structure to perform machine learning. A decision tree data structure may classify a population into branch-like segments that form an inverted tree with a root node, internal nodes, and leaf nodes. For example, the decision tree learning model may use a decision tree as a predictive model to map observations about an item (represented in the branches of the tree data structure) to conclusions about the item target value (represented in the leaves of the tree data structure). Building a decision tree may include partitioning the data set into subsets, shortening of branches of the tree, and selecting a tree (e.g., the smallest tree) that fits the data. In some example implementations, a decision tree model may be a classification tree (where the target variable can take a discrete set of values) in which leaves represent class labels and branches represent conjunctions of features that lead to those class labels. In some example implementations a decision tree model may be a regression tree (e.g., where the target variable can take continuous values, such as real numbers).
In some example implementations, the fuzzy logic model may apply fuzzy logic to perform machine learning. Fuzzy logic may be a form of many-valued logic in which the truth values of variables may be any real number between zero and one. Fuzzy logic may be employed to represent the concept of partial truth, where the truth value may range between completely true and completely false, as opposed to Boolean logic, where the truth values of variables may only be the integer values zero or one, representing only absolute truth or absolute falseness. The fuzzy logic model may include variations of existing machine learning techniques in which fuzzy logic may be applied. Other arrangements, configurations, and/or implementations of the ML model 114 are within the scope of the present disclosure.
As shown in
As shown in
As shown in
Other arrangements and/or configurations of electronic actions are within the scope of the present disclosure.
According to some embodiments, the reclamation 178 may include workflows related to reclamation to immediate deployment. A designation of immediate deployment provides for immediate reassignment across products, renewable deployment, and/or may be provided in combination with an audit. The reclamation 178 may include workflows related to reclamation to a ‘Greenfield’ state. The Greenfield state may be provided for unrestricted deployment of large, contiguous IP blocks with an assignable deployment, such as a lease and/or sale. The reclamation 178 may include workflows related to reclamation of an external space, such as through operation of by an external user and/or client device associated with the wireline resources 118 and/or the wireless resources 120. Other arrangements and/or configurations of the reclamation 178 for IP assets are within the scope of the present disclosure.
According to some embodiments, at 193, IP block allocations may be initially processed. In an example, for each IP block, a weighted function associated with an amount of unassigns may be multiplied by −1 to provide a negative number for further processing. In an example, for each IP block, a weighted function associated with E2E fallout may be inversed to provide an inverse number for further processing.
According to some embodiments, at 194, raw output of IP blocks may be defined and/or stored as a set for processing by the ML model 114. The raw output may have weighted functions that correspond to the associated attributes and may have a scale and/or format that also corresponds the associated attributes. For example, an attribute of classification growth may be designated as high, medium, or low, while an assignment size attribute may be designated as a percentage. At 195, attributes and weighted functions corresponding to the attributes are normalized between 0 and 1. For example, an attribute of classification growth of high/medium/low may be normalized to 0.75/0.5/0.25. For example, an attribute of assignment size designated as 75% may be normalized to 0.75. At 196 an electronic action may be generated to repurpose resources (e.g., to initiate a reclamation for unoccupied IP blocks). The electronic action, for example, may be to add to list of assignments requiring additional resources for a normalized output greater than a threshold of 0.75. The electronic action, for example, may be to take no action for a normalized output less than or equal to a threshold of 0.75 and greater than or equal to a threshold of 0.25. The electronic action, for example, may be to add to list of assignments needing to repurpose resources for a normalized output less than a threshold of 0.25. The thresholds may be changed, for example, by the ML model 114, the RPA engine 127, and/or a user designation through the client device 104. In an example, the ML model 114 may be updated and/or retrained in response to receiving the normalized output. Other arrangements and/or configurations for an unstructured dynamic workflow, such as obtaining and normalizing attribute, weighted function pairs, are within the scope of the present disclosure.
The device 210 may include one or more devices capable of receiving, generating, storing, processing, and/or providing information, such as information described herein. For example, the device 210 may include a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), or a similar type of device. In some implementations, the device 210 may receive information from and/or transmit information to the container platform 220. The device 210 may be referred to collectively as “devices 210” and individually as “the device 210.”
In some example implementations, the container platform 220 may include one or more devices that utilize machine learning to determine data storage pruning parameters. In some implementations, the container platform 220 may be designed to be modular such that certain software components may be swapped in or out depending on a particular need. The container platform 220 may be reconfigured for different uses. In some implementations, the container platform 220 may receive information from and/or transmit information to one or more devices 210. In some implementations, the container platform 220 may be provided by the cloud platform server 126. In some implementations, the container platform 220 may be provided in the same cloud computing environment as the cloud computing with the containers or in a different cloud computing than the cloud computing environment with the containers.
In some example implementations, the container platform 220 may be hosted in the cloud computing environment 230. In some implementations, the container platform 220 may not be cloud-based such that the container platform 220 may be implemented outside of a cloud computing environment. In some implementations, the container platform 220 may be partially cloud-based.
In some example implementations, the cloud computing environment 230 may comprise an environment that hosts the container platform 220. The cloud computing environment 230 may provide computation, software, data access, storage, etc. services that do not involve end-user knowledge of a physical location and configuration of system(s) and/or device(s) that host the container platform 220. The cloud computing environment 230 may include a group of computing resources 225. The group of computing resources 225 may be referred to collectively as “computing resources 225” and individually as the “computing resource 225”. In some implementations, each of the computing resources 225 corresponds to a container in the container platform 220. In some implementations, each of the computing resources 225 corresponds to more than one container in the container platform 220. In some implementations, the container platform 220 includes a container corresponding to more than one of the computing resources 225.
In some example implementations, the computing resource 225 may include one or more personal computers, workstation computers, server devices, or other types of computation and/or communication devices. In some implementations, the computing resource 225 may host the container platform 220. The cloud resources may include compute instances executing in the computing resource 225, storage devices provided in the computing resource 225, data transfer devices provided by the computing resource 225, etc. In some example implementations, the computing resource 225 may communicate with other computing resources 225 via wired connections, wireless connections, or a combination of wired and wireless connections.
In some example implementations, the computing resources 225 may include a group of cloud resources, such as one or more applications (“APPs”) 225-1, one or more virtual machines (“VMs”) 225-2, virtualized storage (“VSs”) 225-3, one or more hypervisors (“HYPs”) 225-4, and/or other cloud resources.
In some example implementations, the application 225-1 may include one or more software applications that may be provided to or accessed by the device 210. The application 225-1 may eliminate a need to install and execute the software applications on the device 210. In an example, the application 225-1 may include software associated with the container platform 220 and/or any other software capable of being provided via the cloud computing environment 230. In some implementations, one application 225-1 may send/receive information to/from one or more other applications 225-1, via the virtual machine 225-2.
In some example implementations, the virtual machine 225-2 may include a software implementation of a machine (e.g., a computer) that executes programs in a configuration of a physical machine. The virtual machine 225-2 may be either a system virtual machine or a process virtual machine, and may change in response to a use and/or a degree of the first application to any real machine by the virtual machine 225-2. A system virtual machine may provide a system platform that supports execution of a complete operating system. A process virtual machine may execute a single program, and may support a single process. In some implementations, the virtual machine 225-2 may execute on behalf of a user (e.g., a user of the device 210, an operator of the container platform 220, etc.), and may manage infrastructure of the cloud computing environment 230, such as data management, synchronization, or data transfers.
In some example implementations, the virtualized storage 225-3 may include one or more storage systems and/or one or more devices that use virtualization techniques within the storage systems or devices of the computing resources 225. In some implementations, within the context of a storage system, types of virtualizations may include block virtualization and file virtualization. Block virtualization may refer to abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed without regard to physical storage or heterogeneous structure. The separation may permit administrators of the storage system flexibility in how the administrators manage storage for end users. File virtualization may eliminate dependencies between data accessed at a file level and a location where files are physically stored. File virtualization may enable optimization of storage use, server consolidation, and/or performance of non-disruptive file migrations.
In some example implementations, the hypervisor 225-4 may provide hardware virtualization techniques that allow multiple operating systems (e.g., “guest operating systems”) to execute concurrently on a host computer, such as the computing resources 225. The hypervisor 225-4 may present a virtual operating platform to the guest operating systems, and may manage the execution of the guest operating systems. Multiple instances of a variety of operating systems may share virtualized hardware resources.
In some example implementations, the network 240 may include one or more wired and/or wireless networks. In an example, the network 240 may include a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, and/or the like, and/or a combination of these or other types of networks.
The number and/or arrangement of devices and networks illustrated in
As illustrated in
In some embodiments, the storage component 340 may store information and/or software related to the operation and use of the device 300. For example, the storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive. The input component 350 may include a component that permits the device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, the input component 350 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). The output component 360 may include a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)). The communication interface 370 may include a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables the device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 370 may permit the device 300 to receive information from another device and/or provide information to another device. For example, the communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, and/or the like.
In some embodiments, the device 300 may perform one or more processes described herein. The device 300 may perform these processes based on the processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as the memory 330 and/or the storage component 340. A computer-readable medium may be defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices. Software instructions may be read into the memory 330 and/or the storage component 340 from another computer-readable medium or from another device via the communication interface 370. When executed, software instructions stored in the memory 330 and/or the storage component 340 may cause the processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. The number and arrangement of the components shown in
To the extent the aforementioned implementations collect, store, or employ personal information of individuals, groups or other entities, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information can be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as can be appropriate for the situation and type of information. Storage and use of personal information can be in an appropriately secure manner reflective of the type of information, for example, through various access control, encryption and anonymization techniques for particularly sensitive information.
As used in this application, “component,” “module,” “system”, “interface”, and/or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Unless specified otherwise, “first,” “second,” and/or the like are not intended to imply a temporal aspect, a spatial aspect, an ordering, etc. Rather, such terms are merely used as identifiers, names, etc. for features, elements, items, etc. For example, a first object and a second object generally correspond to object A and object B or two different or two identical objects or the same object.
Moreover, “example” is used herein to mean serving as an example, instance, illustration, etc., and not necessarily as advantageous. As used herein, “or” is intended to mean an inclusive “or” rather than an exclusive “or”. In addition, “a” and “an” as used in this application are generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Also, at least one of A and B and/or the like generally means A or B or both A and B. Furthermore, to the extent that “includes”, “having”, “has”, “with”, and/or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing at least some of the claims.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Various operations of embodiments are provided herein. In an embodiment, one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering may be implemented without departing from the scope of the disclosure. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein. Also, it will be understood that not all operations are necessary in some embodiments.
Also, although the disclosure has been shown and described with respect to one or more implementations, alterations and modifications may be made thereto and additional embodiments may be implemented based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications, alterations and additional embodiments and is limited only by the scope of the following claims. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.
Number | Name | Date | Kind |
---|---|---|---|
9300625 | Potlapally | Mar 2016 | B1 |
9935816 | Chen | Apr 2018 | B1 |
10270644 | Valsecchi | Apr 2019 | B1 |
10893022 | Li | Jan 2021 | B1 |
10924452 | Nikolayev | Feb 2021 | B1 |
10972427 | Hu | Apr 2021 | B1 |
11456987 | McKim | Sep 2022 | B1 |
20040199520 | Ruiz | Oct 2004 | A1 |
20060126636 | Dooley | Jun 2006 | A1 |
20110004589 | Rischar | Jan 2011 | A1 |
20170236079 | Venna | Aug 2017 | A1 |
20180375822 | Dahlberg | Dec 2018 | A1 |
20200244699 | Hutchinson | Jul 2020 | A1 |
20210073661 | Matlick | Mar 2021 | A1 |
20210075689 | Ramanathan | Mar 2021 | A1 |
20210194916 | Drake | Jun 2021 | A1 |
20210234830 | Maddu | Jul 2021 | A1 |
20210400013 | Vyas | Dec 2021 | A1 |
Entry |
---|
Rooney, Timothy. IP Address Management: Principles and Practice. John Wiley & Sons, 2011. pp. 305-346 (Year: 2011). |
Timothy Rooney; Michael Dooley, “IPAM Evolution/Trends,” in IP Address Management, IEEE, 2021, pp. 407-417 (Year: 2021). |
Wikipedia contributors. “Artificial neural network.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, Mar. 1, 2023. Web. Mar. 2, 2023. (Year: 2023). |
Number | Date | Country | |
---|---|---|---|
20230042307 A1 | Feb 2023 | US |