Dynamic generation of a capacity-based provisioning for enterprise architectures

By analyzing historical and real-time data of enterprise networks using cloud-based machine learning models, dynamic enterprise architecture recommendations are generated, solving the problem that static design blueprints cannot adapt to changes and improving network performance and resource utilization.

CN114207634BActive Publication Date: 2026-01-30EXTREME NETWORKS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080049440.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-06
Filing Date
2020-06-08
Publication Date
2026-01-30
Estimated Expiration
2040-06-08

AI Technical Summary

Technical Problem

Existing enterprise network architecture blueprints are static and cannot adapt to improvements in architecture design and technological advancements, leading to obsolescence.

Method used

Employing a cloud-based machine learning model, this system analyzes historical information and real-time data from multiple enterprise networks to generate dynamic enterprise architecture recommendations. It utilizes machine learning algorithms to classify, cluster, and predict enterprise networks, providing personalized network optimization suggestions.

Benefits of technology

It enables dynamic optimization of enterprise networks, improves network performance and resource utilization, reduces costs, and meets the network needs of enterprises under different time periods and fluctuating demands.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114207634B_ABST
    Figure CN114207634B_ABST
Patent Text Reader

Abstract

This disclosure relates to systems and methods for generating enterprise architectures for enterprise networks. As an example, one method may include: receiving historical information from multiple enterprise networks, the historical information including information about the enterprise architecture of each enterprise network; analyzing the historical information from the multiple enterprise networks to generate a network health score for each enterprise network; training a machine learning model using multiple machine learning algorithms based on the historical information and the network health scores of each enterprise network; and using the machine learning model to generate an enterprise architecture for a first enterprise network, which is either a new enterprise network or an existing enterprise network among the multiple enterprise networks.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The following application is incorporated herein by reference in its entirety: U.S. Provisional Application 62 / 858,303, filed June 6, 2019, entitled “Capacity-Based Service Provisioning”. Background Technology

[0002] Enterprise networking refers to the physical, virtual, and / or logical design of a network, and how various software, hardware, and protocols work together to transmit data. Enterprise networks can include, for example, routers, switches, access points, and different sites. Design protocols used to design enterprise architectures can leverage enterprise network blueprints based on the type of enterprise network. These blueprints are inherently static and therefore may become obsolete as architecture design improves or technology advances. Attached Figure Description

[0003] The accompanying drawings are incorporated herein and form part of the specification.

[0004] Figure 1 A diagram illustrating an example of a capacity-based service provisioning system according to various aspects of this disclosure is provided.

[0005] Figure 2 An example enterprise network is described based on various aspects of this disclosure.

[0006] Figure 3 Example machine learning models based on various aspects of this disclosure are described.

[0007] Figure 4 A flowchart illustrating an example of a capacity-based service provisioning method according to various aspects of this disclosure is provided.

[0008] Figure 5 A diagram illustrating an example of an enterprise network resource analysis engine based on various aspects of this disclosure is provided.

[0009] Figure 6 A flowchart is depicted for a method for analyzing enterprise network resources according to various aspects of this disclosure.

[0010] Figure 7 A diagram depicting an enterprise network comparison engine based on various aspects of this disclosure is provided.

[0011] Figure 8 A flowchart is depicted illustrating a method for comparing enterprise networks according to various aspects of this disclosure.

[0012] Figure 9 A diagram depicts an enterprise network demand prediction engine based on various aspects of this disclosure.

[0013] Figure 10 A flowchart is depicted for a method for network demand forecasting according to various aspects of this disclosure.

[0014] Figure 11 A flowchart is provided illustrating a method for generating an enterprise architecture according to various aspects of this disclosure.

[0015] Figure 12 These are example computer systems for implementing various embodiments according to various aspects of this disclosure.

[0016] In the accompanying drawings, the same reference numerals generally indicate the same or similar elements. Furthermore, generally, the leftmost numeral(s) of a reference numeral(s) identifies the first figure in which that reference numeral(s) appears. Detailed Implementation

[0017] It should be recognized that the detailed description section, and not the abstract section, is intended to be used to interpret the claims. The summary and abstract sections may set forth one or more, but not all, exemplary embodiments conceived by the inventors, and are therefore not intended to limit the appended claims in any way.

[0018] The engine described herein can be implemented as a cloud-based engine. For example, a cloud-based engine can be an engine that can run applications and / or functions using a cloud-based computing system. All or part of the applications and / or functions can be distributed across multiple computing devices and are not necessarily limited to a single computing device. In some embodiments, a cloud-based engine can execute functions and / or modules accessed by end users through a web browser or container application without requiring the functions and / or modules to be installed locally on the end user's computing device.

[0019] In some embodiments, a data repository may include a repository having any applicable data organization, including tables, comma-separated value (CSV) files, databases (e.g., SQL), or other applicable known organizational formats. A data repository may be implemented as, for example, physical computer-readable media, firmware, hardware, a combination thereof, or software in a known device or system applicable to a general-purpose or special-purpose machine. Components associated with a data repository, such as database interfaces, may be considered part of the data repository, part of another system component, or a combination thereof.

[0020] A data repository may include data structures. In some embodiments, a data structure may be associated with a particular way of storing and organizing data in a computer, making it efficient to use in a given context. A data structure may be based on the computer's ability to retrieve and store data anywhere in its memory. Thus, some data structures may be based on calculating the address of a data item using arithmetic operations; while others may be based on storing the address of the data item within the structure itself. Many data structures use both principles. Implementing a data structure may require writing a set of procedures for creating and manipulating instances of that structure. The data repository described herein may be a cloud-based data repository compatible with cloud-based computing systems and engines.

[0021] Figure 1 Figure 100 illustrates an example of a capacity-based service provisioning system. Figure 100 includes enterprise networks 104-1 to 104-n (collectively referred to as multiple enterprise networks 104), server 120, and network 125. The equipment in environment 100 may include… Figure 12 The computer system 1200 shown below will be discussed in more detail. Figure 1 The number and arrangement of devices and networks shown are for illustrative purposes. For example, multiple enterprise networks 104 could comprise thousands of enterprise networks, making the processing described herein computationally complex and not reasonably feasible for large-scale human execution. That is, analyzing the enterprise architecture of thousands of enterprise networks on a sequential basis and providing updated recommendations for other enterprise networks as information learned from such analyses evolves is practically impossible for humans to perform. In fact, with... Figure 1 Compared to the devices and / or networks shown, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks with different arrangements. Furthermore, Figure 1 The two or more devices shown can be implemented within a single device, or Figure 1 The single device shown can be implemented as multiple distributed devices. Additionally or alternatively, a group of devices in environment 100 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in environment 100.

[0022] Server 120 may include server equipment (e.g., host server, web server, application server, etc.), data center equipment, or similar equipment capable of communicating with multiple enterprise networks 104 via network 125. Server 120 may include machine learning model 130.

[0023] In some embodiments, the machine learning model 130 may be trained using supervised machine learning algorithms, unsupervised machine learning algorithms, or a combination of both to classify each of the multiple enterprise networks 104. For example, the machine learning model 130 may be trained using density-based clustering techniques (such as, but not limited to, K-means clustering or support vector clustering) to cluster each of the multiple enterprise networks 104. As an example, density-based clustering techniques may cluster the multiple enterprise networks 104 based on the number of client devices at each access point for each different type of enterprise network (e.g., academic institutions, companies, etc.).

[0024] Based on the clustered enterprise network, a machine learning model 130 can be trained to associate the clustered enterprise network with different enterprise architectures. For example, the machine learning model 130 can be trained using association algorithms, such as, but not limited to, the Apriori algorithm, the Eclat algorithm, or the Frequent Pattern Growth (FP-Growth) algorithm, to determine the correlation between different categories of enterprises and their respective enterprise architectures.

[0025] In some embodiments, the machine learning model 130 may be further trained using sequence modeling algorithms. For example, the machine learning model 130 may be trained using sequence generation algorithms with data collected from multiple enterprise networks 104. In some embodiments, the data collected from the multiple enterprise networks 104 may be used as a training dataset so that the machine learning model 130 can generate an enterprise architecture similar to the enterprise architecture of the training data.

[0026] In some embodiments, statistical inference algorithms can be used to further train the machine learning model 130. For example, data collected from multiple enterprise networks 104 can be used to train the machine learning model 130, enabling it to generate an enterprise architecture based on statistical analysis of the multiple enterprise networks 104. Taking the number of devices per access point as an example, the machine learning model 130 can be trained to analyze the number of devices per access point and then recommend the number of devices at each access point that provide optimal performance based on the average number of devices per access point in similar enterprise networks. Continuing this example, the machine learning model 130 can also generate recommendations based on the standard deviation of the average number of devices per access point.

[0027] In some embodiments, the machine learning model 130 may be further trained using a collective inference algorithm. For example, the machine learning model 130 may be trained using a collective inference algorithm to perform statistical analysis on the enterprise architectures of multiple enterprise networks 104 and to classify and label the multiple enterprise networks 104 simultaneously based on their respective architectures.

[0028] Network 125 may include one or more wired and / or wireless networks. For example, network 125 may include cellular networks (e.g., Long Term Evolution (LTE) networks, Code Division Multiple Access (CDMA) networks, 3G networks, 4G networks, 5G networks, another type of next-generation network, etc.), Public Land Mobile Network (PLMN), Local Area Network (LAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), Telephone Network (e.g., Public Switched Telephone Network (PSTN)), Private Network, Self-organizing Network, Intranet, Internet, Fiber-based Network, and / or Cloud Computing Network, and / or combinations of these or other types of networks.

[0029] refer to Figure 2 Each of the multiple enterprise networks 104 may include a service parameter data repository 208, network devices 210-1 to 210-n (collectively referred to as network devices 210), sites 212-1 to 212-n (collectively referred to as sites 212) respectively coupled to network devices 210, and a capacity-based service client engine 214.

[0030] In some embodiments, site 212 may be a client device, such as a wired or wireless device connected to network 125. In some embodiments, site 212 may be, for example, a mobile phone (e.g., a smartphone, cordless phone, etc.), a handheld computer, a gaming device, a wearable communication device (e.g., a smartwatch, a pair of smart glasses, etc.), a desktop computer, a laptop computer, a tablet computer, or a similar type of device. For example, in some embodiments, site 212 may be a wireless device, such as a thin client device or an ultra-thin client device including a wireless network interface, through which the wireless device can wirelessly receive data via a wireless communication channel. The wireless network interface may be used to send data generated by the wireless device to a remote or local system, server, engine, or data repository via network 125. Site 212 may be referred to as being "on" the wireless network of enterprise network 104, but may not be the property of enterprise network 104. For example, site 212 may be a private device accessing services through a guest or other network of enterprise network 104, or an IoT device owned by enterprise network 104 located on the wireless network.

[0031] Network device 210 may be, for example, a router, switch, access point, gateway, including wireless gateway, repeater, or any combination thereof, as would be understood by one of ordinary skill in the art.

[0032] The capacity-based service client engine 214 can be an engine that enables users or human agents in each of the multiple enterprise networks 104 to provide information about the enterprise network 104 to the server 120 and receive recommendations for the enterprise architecture from the server 120. In some embodiments, the service parameter data repository 208 can be implemented as a shared database that can be updated by more than one party, which can access traffic via mirrored ports within the enterprise's private network or traffic entering or leaving the private network on media accessible to the party outside the enterprise.

[0033] In some embodiments, each of the plurality of enterprise networks 104 may store information related to the enterprise architecture. Figure 2 The service parameter data repository 208 may include network service parameters of the enterprise. For example, service parameters 208 may include software and network licenses, green network resource consumption parameters, and enterprise-specific network access policies, to name just a few. In some embodiments, service parameter data repository 208 may also include consumption parameters associated with service utilization. This information may be implementation- and / or configuration-specific and may include information related to logical and physical data assets and corresponding data management resources and the enterprise's technical architecture. Information may include other information, such as business information, such as budget targets, green initiatives, etc. For example, green initiatives may include, but are not limited to: reducing the power consumption of the access device by shutting down components of the access device (e.g., radio transceivers) when no client devices are connected to the access device, operating components of the access device at a lower frequency, reducing the transmission power of the access device, reducing the speed of the network port of the access device, and / or moving client devices to adjacent access devices and putting the access device into sleep mode. Information may also include third-party analytics from government databases, business databases, news sources, social media, etc. Information may also include data obtained by monitoring network traffic and performance, energy performance, equipment utilization, data center performance, resource deployment performance, power management performance, network security performance, and localized human activities.

[0034] In some embodiments, network traffic and performance information may include, for example, bandwidth, throughput, latency, jitter, and error rate of devices operating on an enterprise architecture. Network traffic and performance information may also include information such as the number of devices per access point and the corresponding quality of service for that access point. In some embodiments, energy performance may include product lifespan, data center design, resource deployment, power management, material recycling, cloud computing, edge computing, and remote work. In some embodiments, data center performance information may include information technology (IT) system parameters, environmental conditions, air management, cooling system parameters, electrical system parameters, etc. In some embodiments, resource deployment performance information may include algorithm efficiency, resource allocation, virtualization, terminal servers, etc. In some embodiments, power management performance information may include operating system support, power supply, storage, video card usage, display characteristics, etc. In some embodiments, network security performance information may include firewall, email security, antivirus / anti-malware, network segmentation, access control, application security, behavioral analysis, data loss prevention, intrusion prevention, mobile device security, virtual private network (VPN) security, web security, wireless security, etc.

[0035] like Figure 3 As shown, server 120 may include enterprise network data repository 316, and machine learning model 130 may include enterprise network resource analysis engine 318, enterprise network comparison engine 320, enterprise network demand prediction engine 322, service capacity recommendation engine 324, and capacity-based service server engine 326.

[0036] Enterprise network database 316 may store information relating to real-world resources of each of the multiple enterprise networks 104. This information may be implementation- and / or configuration-specific, but for illustrative purposes, may include knowledge of licenses, network capabilities, green initiatives, etc. In some embodiments, enterprise network data repository 316 may store information received from service parameter data repository 208 of each of the multiple enterprise networks 104. In some embodiments, enterprise network database 316 may also store data from third-party analytics sources such as government databases, commercial databases, news sources, social media, etc. Data may also be obtained from monitoring network traffic, device utilization, localized human activity, etc.

[0037] In some embodiments, the enterprise network resource analysis engine 318 can analyze the resources of each of a plurality of enterprise networks 104 represented in the enterprise network database 316. The enterprise network resource analysis engine 318 can store the analysis obtained by analyzing each of the plurality of enterprise networks 104 in the enterprise network data repository 316. In some embodiments, the enterprise network resource analysis engine 318 can use information about the enterprise networks 104 to generate a health score for each of the plurality of enterprise networks 104. As an example, the enterprise network resource analysis engine 318 can determine the health score based on the network performance of each of the plurality of enterprise networks 104.

[0038] In some embodiments, the enterprise network comparison engine 320 may be an engine that compares enterprise network parameters of one of the enterprise networks 104 with those of another of the enterprise networks 104 using information from the enterprise network data repository 316. In some embodiments, the enterprise network comparison engine 320 may compare one of the enterprise networks 104 with other similar enterprises, such as by business unit, enterprise type (e.g., educational institution, office building, corporate campus, public shopping center, park), number of employees, revenue, etc. This comparison may be useful in generating an enterprise architecture that closely matches the enterprise architecture of enterprises with similar profiles.

[0039] In some embodiments, the enterprise network demand forecasting engine 322 can determine a resource utilization plan suitable for the enterprise's needs and objectives based on available resources, resource utilization data and analysis, and business plans. This can include reducing the number of underutilized licensed capacity, shutting down or putting underutilized equipment into sleep mode, routing traffic through underutilized network equipment, controlling lighting or HVAC based on human activity at the location, preparing service orders for seemingly faulty equipment, and reconfiguring equipment to match apparent demand, to name just a few possibilities. This can also include forecasting demand based on the individual demand of each of the multiple enterprise networks 104, based on peak and off-peak periods. Taking an educational institution as an example, demand for network resources may decrease during, for example, summer and winter breaks (e.g., off-peak periods), while demand may surge during school hours (e.g., peak periods). This can be achieved using a modeling pipeline that may be based on a combination of one or more techniques, such as pattern mining, recursive feature elimination, and / or gradient boosting. Pattern mining techniques can be, for example, sequence pattern mining techniques (e.g., sequence pattern discovery using equivalence classes (SPADE), frequent closed sequence pattern mining, and / or maximum sequence pattern vertical mining (VMSP), etc.). In other embodiments, the modeling pipeline can be based on one or more data mining techniques, such as pattern tracking, classification, association, or clustering.

[0040] In some embodiments, the service capacity recommendation engine 324 creates recommendations regarding resource utilization of existing enterprise networks (e.g., multiple enterprise networks 104), or when developing new enterprise networks. These recommendations may emphasize cost reduction, energy efficiency, infrastructure development, and disaster recovery preparedness. It should be understood that these are merely examples, and other recommendations are further envisioned in accordance with aspects of this disclosure.

[0041] In some embodiments, the capacity-based service recommendation server engine 326 can act as a server for clients of the capacity-based service client engine 314. Communication from multiple enterprise networks 104 can be characterized via the capacity-based service server engine 126, including traffic, traffic analysis, energy consumption, etc., which can be automatically detected using appropriately configured devices and resource parameters, green initiative goals, security goals, etc., provided from relevant agents of the enterprise networks 104. It is assumed that such data is stored in the enterprise network data repository 316.

[0042] Figure 11 This is a flowchart of an example method 1100 for generating an enterprise architecture. In some embodiments, regarding... Figure 11 One or more processes described can be determined by... Figure 1-3 One of the devices under discussion is being implemented.

[0043] At 1102, method 1100 can be included in the server, for example... Figure 1 Server 102 receives data from multiple enterprise networks, such as Figure 1 Historical information about multiple enterprise networks 104. In some embodiments, historical information may include information about the architecture of each enterprise network within the enterprise network. For example, historical information may include information about each of the multiple enterprise networks from various data repositories 208.

[0044] At 1104, the method may include analyzing historical information from multiple enterprise networks by server 120 to generate a network health score for each of the multiple enterprise networks. For example, server 120 may be configured to calculate a health score for the enterprise architecture of each of the multiple enterprises 104. This can be achieved through an enterprise network resource analysis engine 318, such as... Figure 3 As shown in the diagram. The enterprise network resource analysis engine 318 can analyze the resources of each of the enterprise networks 104 and store the analyses obtained from these analyses in the enterprise network data repository 316. In some embodiments, the enterprise network resource analysis engine 318 can use information about the multiple enterprise networks 104 to determine the health score of each of the enterprise networks 104.

[0045] In some embodiments, the health score may be based, for example, on a scale from zero (0) to one hundred (100), where a higher health score indicates better performance of the enterprise architecture of enterprise network 104. In some embodiments, generating a network health score for each of the multiple enterprise networks 104 may include generating an overall network health score for each of the multiple enterprise networks based on multiple sub-network health scores. For example, the multiple sub-components may include, but are not limited to: device scores, security scores, service scores (e.g., Domain Name System (DNS) / Dynamic Host Configuration Protocol (DHCP)), application service scores, Wi-Fi scores, network service scores (e.g., round-trip time to external networks), and / or client scores. Those skilled in the art will understand that these are merely examples of sub-components and more or fewer sub-components may be used to determine the overall network health score. In some embodiments, the health score may be the average of multiple sub-components. In some embodiments, multiple sub-components may be assigned different weights when determining the health score. In some embodiments, the weight assigned to any given sub-component may vary from one type of enterprise to another, based on enterprise priorities. For example, some enterprises may emphasize providing users with the best possible wireless connectivity, such that the Wi-Fi score may be assigned a higher weight than any other sub-component.

[0046] At 1106, method 1100 may further include training a machine learning model using multiple machine learning algorithms based on historical information and the network health score of each of the multiple enterprise networks, for example... Figure 1 Machine learning model 130. In some embodiments, machine learning model 130 may be trained using supervised machine learning algorithms, unsupervised machine learning algorithms, or a combination of both to classify each of a plurality of enterprise networks 104, thereby associating clustered enterprise networks with different enterprise architectures, generating enterprise architectures similar to the enterprise architectures of the training data, generating enterprise architectures based on statistical analysis of the plurality of enterprise networks 104, performing statistical analysis on the enterprise architectures of the plurality of enterprise networks 104, and / or simultaneously classifying and labeling the plurality of enterprise networks 104 based on their respective architectures, as discussed herein.

[0047] At 1108, the method may further include generating an enterprise architecture for a first enterprise network using a machine learning model 130. In some embodiments, the first enterprise network may be a new enterprise network or an existing enterprise network among multiple enterprise networks 104. In some embodiments, generating an enterprise architecture for the first enterprise network may include using the machine learning model 130 to identify a subset of enterprise networks among multiple enterprise networks 130 that have the same category as the first enterprise network, comparing the first enterprise network with the subset of enterprise networks to identify at least one enterprise network, wherein the comparison is based on one or more parameters used to generate the enterprise architecture for the first enterprise network, and generating the enterprise architecture for the first enterprise network based on the enterprise architecture of the identified at least one enterprise network.

[0048] That is, by aggregating and analyzing information from each of the multiple enterprise networks 104 and classifying each of the multiple enterprise networks 104, server 120 can use machine learning model 130 to provide recommendations for similar types of enterprises. For example, server 120 can receive a request to generate an enterprise architecture for a new enterprise network, and server 120 can use machine learning model 130 to identify enterprise networks that match the profile of the enterprise network that issued the request and retrieve the enterprise architecture information of the identified enterprise networks. For example, the request can come from an enterprise, such as a school, and server 120 can use machine learning model 130 to identify other enterprise networks with similar profiles, such as other schools with similar size, location, number of users, number of connected devices, etc.

[0049] In some embodiments, a request may include a request to prioritize one of a plurality of health score components. In some embodiments, a request may also include one or more parameters. For example, one or more parameters may include budget parameters, such as the projected budget of the enterprise architecture; priority parameters, such as a request to prioritize one of a plurality of health score components; geographic parameters, such as the size and location of the enterprise; and complexity parameters, such as a request to limit the complexity of the enterprise architecture to simplify implementation or a request for multiple sub-architectures within the enterprise architecture (e.g., a first sub-architecture in a lower-density location within the enterprise (such as a university's administration building, academic buildings, and student residences) and a second sub-architecture in a higher-density location within the university (such as stadiums and arenas)). Those skilled in the art will understand that these are merely example parameters, and other parameters are further contemplated according to aspects of this disclosure. In response, machine learning model 130 may identify enterprise architectures of similar enterprises that have the highest scores for a specified health score component and / or matching parameter. Once similar enterprise networks have been identified, machine learning model 130 may generate an enterprise architecture for the requesting enterprise network based on the enterprise architecture of the identified enterprise networks.

[0050] In some embodiments, server 120 may also be configured to continuously receive historical information from each of the plurality of enterprise networks 104 and update the network health score of each of the plurality of enterprise networks 104 based on the continuously received historical information. In some embodiments, machine learning model 130 may be continuously trained based on the continuously received historical information and the updated network health score. That is, server 120 may continuously monitor each of the plurality of enterprises 104 and how changes in the enterprise architecture affect each of the plurality of sub-components of the health score and the overall health score of the enterprise. For example, in some embodiments, server 120 may monitor the number of sites 212 connected to the enterprise's access points and how this affects the Wi-Fi component of the health score, and the overall health score of the enterprise, for example, at what point the number of sites 212 degrades the quality of the wireless connectivity provided by the access points to below a threshold level. Therefore, machine learning model 130 may continuously learn how different changes affect the enterprise architecture and apply this knowledge to provide recommendations to similar enterprises. For example, for an existing enterprise, machine learning model 130 may learn how certain changes will affect the overall health score of the enterprise architecture, such as increasing or decreasing the health score, and machine learning model 130 may therefore provide recommendations accordingly. In some embodiments, for existing enterprises, recommendations may be based on a combination of knowledge learned from other enterprises of similar types and the current enterprise.

[0051] In some embodiments, server 120 may also monitor the performance of a first enterprise network, calculate changes in the health score of the first enterprise network based on the monitored performance, determine the cause of the health score changes, and generate one or more recommendations for updating the enterprise architecture of the first enterprise network to modify the cause of the health score changes. That is, in some embodiments, server 120 may continuously monitor the performance of each of a plurality of enterprise networks 104 and calculate a health score for each of the plurality of enterprise networks 104 based on the performance. Furthermore, machine learning model 130 may analyze the updated health scores of each of the plurality of enterprise networks 104 to provide updated recommendations when improvements to the enterprise architecture are identified. This is possible because machine learning model 130 continuously learns from changes made to the plurality of enterprises 104 and updates their health scores accordingly, allowing recommendations to be tailored specifically for each individual enterprise network based on the latest information available to machine learning model 130.

[0052] In some embodiments, recommendations can be dynamically updated based on the specific needs of the enterprise network at a given time. For example, some enterprise networks may experience seasonal surges in network demand, such as shopping malls during holiday seasons or back-to-school seasons, or amusement parks during the summer, while others may experience fluctuations in network demand, such as academic institutions experiencing fluctuations in network demand throughout the academic year. To address these variations, machine learning model 130 can provide the enterprise network with dynamic recommendations that enable the network to change its architecture on demand based on the current network requirements. To achieve this, machine learning model 130 can be trained on historical demand patterns regarding such fluctuations and provide recommendations based on predicted network demand, allowing administrators to implement any changes promptly.

[0053] Figure 4 A method 400 for capacity-based service provisioning is described. In some embodiments, regarding Figure 4 One or more processes described can be determined by... Figure 1-3 One of the devices discussed is used for execution. Although the description of method 400 is directed at a single enterprise network 104, those skilled in the art will understand that this document can be executed for each of multiple enterprise networks 104. Figure 4 The described function.

[0054] At 402, method 400 includes operating the enterprise network according to service parameters of the enterprise network, for example... Figure 1 One of multiple enterprise networks 104. An enterprise network may include networks to sites (such as...) Figure 2 Site 212) provides network services through network devices, such as Figure 2Network device 210. Service parameters may include those discussed herein, such as hardware requirements, software, network traffic, external sites, licenses, and service parameters related to enterprise objectives, such as those associated with security, green initiatives, quality of service, or other initiatives. These service parameters may be stored in a service parameter data repository, such as... Figure 2 The service parameter data repository 208 may also include capacity parameters and consumption parameters associated with service utilization.

[0055] At 404, method 400 may further include providing the server with service parameters, traffic, traffic analysis, and other enterprise-specific data, such as... Figure 1 Server 120. This can be used. Figure 2 This is implemented using a capacity-based service client engine 214, which can transmit data to server 120 via network 125. In some embodiments, service parameters can also be supplied via another mechanism, such as mirroring ports through which traffic can be analyzed, or direct storage to a shared database.

[0056] At 406, method 400 may include using machine learning model 130 of server 120 to analyze service parameters to obtain a resource consumption model. For example, machine learning model 130 uses... Figure 3 The enterprise network analytics engine 318 can analyze service parameters to determine the ratio of consumed to available network resources based on a given set of service capacities and consumption for enterprise 104. For example, regarding network traffic, available and consumed network resources may vary over time, location, etc. Furthermore, the analysis performed by machine learning model 130 may include identifying patterns of availability and / or consumption. These patterns can be modeled using, for example, a modeling pipeline that may be based on a combination of one or more techniques, such as pattern mining techniques, recursive feature elimination techniques, and / or gradient boosting techniques. Pattern mining techniques may be, for example, sequence pattern mining techniques (e.g., sequence pattern discovery using equivalence class (SPADE), frequent closed sequence pattern mining, and / or maximum sequence pattern vertical mining (VMSP) techniques, etc.). In other embodiments, the modeling pipeline may be based on one or more data mining techniques, such as pattern tracking, classification, association, or clustering. The modeling pipeline can be used for any service parameter, such as, but not limited to, software license capacity, green initiative targets, etc.

[0057] At 408, method 400 may also include using Figure 3The enterprise network comparison engine 320 compares the consumption model of an enterprise network with the consumption models of other enterprise networks. In some embodiments, comparisons can be made with other enterprise networks that are similar to the enterprise network in some aspects, such as by type, industry, size, geographic location, etc. Some administrators of enterprise networks may want to know how their network compares to similar enterprise networks and model their enterprise architecture in a similar way to match quality of service, green initiatives, security requirements (e.g., multiple virtual LANs (VLANs), authentication protocols such as 802.1x or the use of pre-shared keys (PSK)), etc.

[0058] At 410, method 400 may also include using Figure 3 The enterprise network demand forecasting engine 322 forecasts the demand for enterprise networks, such as addressing service degradation below a threshold quality level, addressing anticipated changes in service, such as during seasonal changes, when new resources are deployed, or during maintenance windows, and addressing underutilization of licenses. In some embodiments, forecasting may include comparing historical consumption models with predicted consumption models. Predicted consumption models can be generated using the enterprise's historical consumption model and a comparison of historical consumption models from similar enterprises implementing similar initiatives and their impact on the enterprise. In some embodiments, predicted models can be generated using the enterprise's historical consumption model and the known capabilities of new components of the enterprise's architecture (e.g., upgradeable access points with known specifications). In some embodiments, predicted models can be generated using the enterprise's historical consumption model and anticipated changes in the enterprise's location (e.g., if an office moves from one location to another or from another building to a campus). It should be understood that forecasting may consider available granular details (e.g., the consumption of wireless resources by a particular user when moving from one office to another).

[0059] At 412, method 400 may include Figure 3 The described service capacity recommendation engine 324 performs service capacity recommendations. In some embodiments, the recommendations may be responsive to historical, potentially time- or location-varying service capacity-to-service-consumption ratios, comparisons between the enterprise network and other similar enterprises, and / or future needs, whether these needs are related to network scarcity, economic or other resource constraints, or the need to achieve enterprise network objectives. In some embodiments, the recommendations may include recommendations to reduce the capacity of a given resource, potentially even including recommendations regarding the degree of service quality degradation (if it meets enterprise objectives, such as cost reduction).

[0060] Figure 5 Depicting Figure 3Figure 500 shows an example of an enterprise network resource analysis engine 318. Figure 300 includes a capacity calculation engine 502, an enterprise allocation data repository 504, a capacity parameter data repository 506, a network topology data repository 508, a capacity modeling engine 510, a capacity model data repository 512, a resource utilization data repository 514, a consumption calculation engine 516, a consumption parameter data repository 518, a consumption modeling engine 520, and a consumption model data repository 522. In some embodiments, engines 502, 510, 516, and 520 correspond to similar... Figure 3 The enterprise network resource analysis engine 318, and data repositories 504, 506, 508, 512, 514, and 522 correspond to... Figure 3 A similar data repository as enterprise network data repository 316. While the description in Figure 500 is directed at a single enterprise network 104, those skilled in the art will understand that this document's description can be performed for each of multiple enterprise networks 104. Figure 5 The described function.

[0061] In some embodiments, capacity calculation engine 502 can determine the capacity of an enterprise network, such as enterprise network 104. For example, in some embodiments, capacity calculation engine 502 can use licensing information and licensing restrictions of enterprise network 104 to determine the licensed use of enterprise network 104. In some embodiments, licensing information may include the number of available licenses and the number of licenses currently in use. Licensing information may be obtained from enterprise network 104 itself, the licensee, through a third party, or derived from third-party data. Licensing restrictions of enterprise network 104 may arise from hardware, software, or spontaneous restrictions, such as spontaneous restrictions including green initiatives, cost caps (e.g., limits on the amount spent on annual licenses), security initiatives, etc.

[0062] In some embodiments, the enterprise allocation data repository 504 may be a data repository indicating how capacity is allocated within the enterprise network 104. For example, how capacity is allocated based on users, groups, departments, locations, etc. In some embodiments, understanding how capacity is allocated may be useful for determining how to reallocate capacity. In some embodiments, the capacity parameter data repository 506 may store information associated with capacity allocation across the entire enterprise network 104, such as capacity (e.g., software licenses, network licenses, restrictions, etc.) and capacity allocation for enterprise network employees, offices, user groups, etc., based on currently licensed and limited parameters.

[0063] In some embodiments, network topology data repository 508 may store information associated with network devices, software resources, and users within enterprise network 104. Capacity allocation may be specific to a particular branch of the network topology (e.g., between network devices), VLANs, users, etc. In some embodiments, capacity modeling engine 510 may use the data structures of capacity parameter data repository 506 and network topology data repository 508 to create a capacity model. Advantageously, the model can be used to graphically represent capacity and capacity allocation within enterprise network 104. In some embodiments, capacity model data repository 512 may store information associated with components of the enterprise network and the capacity allocation associated with those components. In some embodiments, the capacity model may also use different colors, shapes, or sizes to illustrate capacity to represent different capacities associated with or between components.

[0064] In some embodiments, resource utilization database 514 may store traffic parameters, hardware utilization, software utilization, etc., and consumption calculation engine 516 may use data from resource utilization database 514 to calculate resource utilization. In some embodiments, consumption parameter database 518 may store information related to resource utilization across the entire enterprise network 104. For example, information may include software license usage seats, consumed computer resources, traffic parameters between network nodes, etc. Consumption parameters may have spatiotemporal parameters indicating where resources are consumed (e.g., by devices) and when resources are used. In some embodiments, consumption modeling engine 520 may apply a capacity model from capacity model data repository 512 to consumption parameters from consumption parameter data repository 518. Because the capacity model includes network topology and resource capacity allocation, consumption parameters can be matched to the model at relevant network nodes associated with the relevant capacity allocation. Advantageously, in some embodiments, the model may be used to graphically represent capacity and capacity allocation within the enterprise network, overlaid with actual resource utilization.

[0065] In some embodiments, the consumption model data repository 522 may store information related to capacity allocation associated with the components of the enterprise network 104 and those components with superimposed resource utilization. For example, the consumption model may be graphically represented, where consumption is associated with different colors, shapes, or sizes to represent different utilization rates of network resources. In some embodiments, underutilized resources may be represented in green, while overutilized resources may be represented in red, with thicker lines between network nodes to indicate the degree of underutilization or overutilization. In some embodiments, filters may be applied to the model to emphasize cost allocation, quality of service, energy consumption, or other utilization aspects of concern to enterprise administrators.

[0066] Figure 6Method 600, an example of a method for enterprise network resource analysis, is described herein. While the description of method 600 is directed at a single enterprise network 104, those skilled in the art will understand that it can be performed for each of multiple enterprise networks 104. Figure 6 The described function.

[0067] At 602, method 600 includes using Figure 5 The 502 capacity computing engine determines enterprise networks, such as Figure 1 The capacity of enterprise network 104. Capacity can be determined by analyzing the available resources on the enterprise network and any limitations on those resources. The result of capacity determination can be capacity parameters.

[0068] At 604, method 600 may include using Figure 5 The capacity modeling engine 510 uses the network topology of the enterprise network 104 to create a capacity model. By mapping capacity parameters to the network topology, the capacity model can represent not only the capacity available in the enterprise network, but also where that capacity is available (if applicable).

[0069] At 606, method 600 may include using Figure 5 The consumption calculation engine 516 determines the consumption parameters of the enterprise network 104. In some embodiments, consumption parameters can be determined by analyzing resource utilization—including traffic, computation time, allocated software license seats, etc. The results of the consumption calculation can be referred to as consumption parameters.

[0070] At 608, method 600 may include using Figure 5 The consumption modeling engine 520 creates a consumption model based on the capacity model and consumption parameters. In some embodiments, the consumption parameters may be provided as an overlay on the capacity model to create the consumption model. The consumption model can be used to illustrate which resources are utilized most efficiently within the network topology, according to the objectives of the enterprise network 104.

[0071] Figure 7 Figure 700 depicts an example of an enterprise network comparison engine. Figure 700 includes a comparison parameter set selection engine 702, a selection parameter data repository 704, real-world models 706-1 to 706-n (collectively referred to as real-world models 706), a composite model creation engine 708, a composite model data repository 710, a consumption model data repository 712, a real-world comparison engine 714, and a comparison model data repository 716. In some embodiments, engines 702, 708, and 714 may correspond to... Figure 3 The enterprise network comparison engine 320 is similar to other engines, and the data repositories 704, 706, 710, 712, and 716 correspond to the reference. Figure 3 The described enterprise network data repository 316 is a similar data repository. While the description in Figure 700 is directed at a single enterprise network 104, those skilled in the art will understand that the methods described herein can be applied to each of multiple enterprise networks 104. Figure 7 The described function.

[0072] The comparison parameter set selection engine 702 can receive one or more enterprise parameters from other enterprise networks 104 to which it is to be compared. In some embodiments, enterprise parameters can be automatically determined by attempting to match enterprises in the same industry, of the same size, in the same geographic region, etc. Alternatively, enterprise parameters can be selected based on growth plans (or weakening strength) or other reasons. Enterprise parameters can also be limited to specific aspects of the enterprise, such as network equipment allocation or capabilities, software licensing costs, etc.

[0073] In some embodiments, the selection parameter data repository 704 may store a set of parameters for matching enterprise network parameters to be compared. In some embodiments, the real-world model 706 may be a consumption model of an enterprise network other than the enterprise network to which the enterprise network is to be compared. In some embodiments, the real-world model 706 may also include a consumption model of enterprise network 104. In some embodiments, the real-world model 706 may be similar to a reference model. Figure 5 The consumption model is described. Advantageously, in some embodiments, a single model can represent a network of multiple enterprises with data available for a single entity, thereby enriching the data, and the real-world model 706 can be used with the rich data and the model can be anonymized later.

[0074] In some embodiments, the composite model creation engine 708 may use a real-world model 706 that matches the selection parameters of the selection parameter data repository 704. In some embodiments, the composite model creation engine 708 may consider hypothetical models that match the selection parameters as alternatives to or additions to the real-world model 706. In some embodiments, the composite model may include the average value or some other statistical representation of the real-world model 706, and may incorporate knowledge about, for example, device capabilities to provide alternative models that take into account the differences between two or more real-world models 706.

[0075] In some embodiments, the composite model data repository 710 may store information associated with a composite representation of the real-world model 706 (which may be referred to as a composite model). The composite model may consider available real-world models 706 that match the selected parameters. In some embodiments, the composite model may be similar to a reference model. Figure 5 The described consumption model data repository 522 differs in that it may not represent a single enterprise network.

[0076] In some embodiments, the consumption model data repository 712 may store consumption models that represent the components of the enterprise network 104 and the capacity allocation associated with those components having superimposed resource utilization. In some embodiments, the consumption model may be similar to a reference... Figure 5 The described consumption model data repository is 522.

[0077] In some embodiments, the real-world comparison engine 714 compares the consumption model of the consumption model data repository 712 with the composite model of the composite model data repository 710, which can generate a comparison model for illustrating the differences between the enterprise network and similar (or selected) enterprise networks. The comparison model data repository 716 can store the comparison models. Advantageously, the consumption model of the enterprise network is identifiable to the administrator of the enterprise network, while the composite model anonymizes the data associated with the enterprise network being compared to.

[0078] Figure 8 A method 800 for comparing enterprise networks is described. While the description of method 800 is directed at a single enterprise network 104, those skilled in the art will understand that this method can be performed for each of multiple enterprise networks 104. Figure 8 The described function.

[0079] At 802, method 800 may include using Figure 7 The comparison parameter set selection engine 702 selects a comparison parameter set. In some embodiments, the comparison parameter set may include thresholds, ranges, or other values ​​that can be compared numerically (or alphanumerically). The comparison parameter set may include one or more enterprise parameters of the enterprise networks to be compared.

[0080] At 804, method 800 may include using Figure 7 The composite model creation engine 708 creates composite models from real-world models having parameters that match a set of comparison parameters. In some embodiments, the composite model may include the average value of the real-world model or some other statistical representation, and may incorporate knowledge about the device's capabilities to provide alternative models that take into account the differences between two or more real-world models.

[0081] At 806, method 800 may include using Figure 7The real-world comparison engine 714 creates comparison models from the consumption and composite models of the target enterprise network. In some embodiments, the comparison model can be created based on a request from an administrator of the target enterprise network. For example, the administrator can send a request to create a comparison model. As another example, a comparison model can be created on behalf of the target enterprise network and provided to a receiving administrator. In some embodiments, the receiving administrator can be the same as the requesting administrator, while in other embodiments, the receiving administrator can be different from the requesting administrator.

[0082] Figure 9 Figure 900 illustrates an example of an enterprise network demand forecasting engine. Figure 900 includes a comparison model data repository 902, an initiative parameter data repository 904, a reconfiguration parameter data repository 906, a demand integration engine 908, a projected capacity model data repository 910, a resource option data repository 912, a workforce option data repository 914, an implementation scheduling engine 916, and an implementation scheduling data repository 918 coupled to the implementation scheduling engine 916. While the description of Figure 900 is directed to a single enterprise network 104, those skilled in the art will understand that this document's description can be performed for each of multiple enterprise networks 104. Figure 9 The described function.

[0083] In some embodiments, the comparison model data repository 902 stores comparison models that represent the components of an enterprise network and the capacity allocation associated with those components that, when applicable, have superimposed resource utilization and similar enterprise utilization. In some embodiments, the comparison model is similar to a reference model. Figure 7 The comparative model data repository 716 is described.

[0084] In some embodiments, the initiative parameter data repository 904 may store expected capacity parameters based on the initiatives of the enterprise network. In some embodiments, expected capacity parameters may include self-imposed constraints by the enterprise network, including green initiative requirements, infrastructure development, cost-cutting measures, etc. In some embodiments, expected enterprise allocations may be used by a reference-like mechanism. Figure 3 The capacity calculation engine 302 described or referenced Figure 5 The capacity calculation engine 502 described generates expected capacity parameters, but for the expected capacity rather than the current capacity.

[0085] In some embodiments, the reconfiguration parameter data repository 906 may store anticipated changes to the enterprise network, such as remodeling, moving departments within an existing structure, or moving to a new structure. In some embodiments, where applicable, the reconfiguration parameters may include a new network topology, which can be used together with anticipated capacity parameters to generate an anticipated capacity model incorporating the new network topology. In some embodiments, the demand integration engine 908 may include reference... Figure 3 The capacity modeling engine described is 310 or Figure 5 It has similar functionality to the capacity modeling engine 510, but it targets the expected capacity instead of the current capacity.

[0086] In some embodiments, the demand integration engine 908 may use a comparison model data repository 902, an initiative parameter data repository 904, and a refactoring parameter data repository 906 to generate a projected capacity model. In some embodiments, the comparison model may include a consumption model of the enterprise network and a composite model of a real-world network. In some embodiments, the comparison model may be a consumption model of the enterprise network that can be compared with a model incorporating expected changes to the enterprise network. The projected capacity model may incorporate information about expected changes to various aspects of the enterprise network that could affect capacity in the initiative parameter data repository 904, and information about organizational or structural changes that affect capacity at specific spatiotemporal coordinates within the enterprise network in the refactoring parameter data repository 906. In some embodiments, the projected capacity model data repository 910 may store the projected capacity model generated by the demand integration engine 908.

[0087] In some embodiments, the resource options data repository 912 may include data on hardware options available to the enterprise network. In some embodiments, hardware options may include specifications of hardware that is commercially available or will be available at a future date. Hardware options may or may not include hardware already available at the enterprise network, such as hardware that may be phased out due to changes resulting from initiatives or refactoring, or hardware that is in the inventory but not in use, any of which may be considered available now after the expected capacity model is generated.

[0088] In some embodiments, the labor options database 914 may include data on the time and costs associated with moving from the current model to a future model. In some embodiments, labor options may include technicians, engineers, and other professionals offering their services in the market. In some embodiments, labor options may or may not include in-house talent capable of performing the intended implementation.

[0089] In some embodiments, the implementation scheduling engine 916 may use data stored in the resource option database 912 and the labor option database 914 to generate implementation schedules, completion costs, and time requirements to transform the current capacity model into the expected capacity model of the expected capacity model data repository 910. In some embodiments, the implementation scheduling data repository 918 may store the implementation schedules generated by the implementation scheduling engine 916.

[0090] Figure 10 A method 1000 for predicting network demand is described. While the description of method 1000 is directed at a single enterprise network 104, those skilled in the art will understand that this method can be implemented for each of multiple enterprise networks 104. Figure 10 The described function.

[0091] At 1002, method 1000 may include using Figure 9 The demand integration engine 908 integrates initiatives and refactoring parameters into the capacity model. For example, users of enterprise network 104 can use a comparative model that includes the enterprise network's consumption model and a composite model similar to the enterprise network for decision-making purposes.

[0092] At 1004, method 1000 may include using Figure 9 The implementation scheduling engine 916 generates implementation schedules, which may include resource and labor options available in the market or through other channels. In some embodiments, users of enterprise network 104 can use implementation schedules to understand the costs and time associated with changing the current enterprise network configuration to a new one.

[0093] One or more well-known computer systems, such as Figure 12 The computer system 1200 shown implements various embodiments. The computer system 1200 may be capable of performing the functions described herein, such as... Figure 4 , 6 Any well-known computer that performs one or more of the operations described in 8, 10, and 11.

[0094] Computer system 1200 includes one or more processors (also referred to as central processing units or CPUs), such as processor 1204. Processor 1204 is connected to communication infrastructure or bus 1206. Processor 1204 may be a graphics processing unit (GPU). In some embodiments, the GPU may serve as a processor specifically designed to process electronic circuitry for mathematically intensive applications. The GPU may have a parallel architecture that is efficient for parallel processing of large blocks of data, such as common mathematically intensive data in computer graphics applications, images, videos, etc.

[0095] The computer system 1200 also includes one or more user input / output devices 1203, such as monitors, keyboards, pointing devices, etc., which communicate with the communication infrastructure 1206 through one or more user input / output interfaces 1202.

[0096] Computer system 1200 also includes main memory or primary memory 1208, such as random access memory (RAM). Main memory 1208 may include one or more levels of cache. Main memory 1208 stores control logic (e.g., computer software) and / or data.

[0097] The computer system 1200 may also include one or more auxiliary storage devices or memories 1210. Auxiliary storage 1210 may include, for example, a hard disk drive 1212 and / or a removable storage device or drive 1214. The removable storage drive 1214 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, a backup device, and / or any other storage device / drive.

[0098] The removable storage drive 1214 can interact with the removable storage unit 1218. The removable storage unit 1218 may include a computer-usable or readable storage device on which computer software (control logic) and / or data are stored. The removable storage unit 1218 may be a program cartridge and cartridge interface (such as those found in video game devices), a removable memory chip (such as EPROM or PROM) and associated sockets, a memory stick and USB port, a memory card and associated memory card slot, and / or any other removable storage unit and associated interface. The removable storage drive 1214 can read from and / or write to the removable storage unit 1218.

[0099] Auxiliary storage 1210 may include other components, devices, parts, tools, or other methods for allowing computer system 1200 to access computer programs and / or other instructions and / or data. Such components, devices, parts, tools, or other methods may include, for example, removable storage unit 1222 and interface 1220. Examples of removable storage unit 1222 and interface 1220 may include program cartridges and cartridge interfaces (such as those found in video game devices), removable storage chips (such as EPROM or PROM) and associated sockets, memory sticks and USB ports, memory cards and associated memory card slots, and / or any other removable storage unit and associated interface.

[0100] Computer system 1200 may also include a communication or network interface 1224. Communication interface 1224 enables computer system 1200 to communicate and interact with any combination of external devices, external networks, external entities, etc. (referred to individually and uniformly by reference numeral 1228). For example, communication interface 1224 may allow computer system 1200 to communicate with external or remote devices 1228 via communication path 1226, which may be wired and / or wireless (or a combination thereof), and may include any combination of LAN, WAN, Internet, etc. Control logic and / or data may be transmitted to and from computer system 1200 via communication path 1226.

[0101] Computer system 1200 may also be a personal digital assistant (PDA), a desktop workstation, a laptop or notebook computer, a netbook, a tablet computer, a smartphone, a smartwatch or other wearable device, an appliance, part of the Internet of Things and / or an embedded system (to give just a few non-limiting examples) or any combination thereof.

[0102] Computer system 1200 may be a client or server that accesses or hosts any application and / or data through any delivery paradigm, including but not limited to remote or distributed cloud computing solutions; on-premises or on-premises software (“on-premises” cloud-based solutions); “as-a-service” models (e.g., Content as a Service (CaaS), Digital Content as a Service (DCaaS), Software as a Service (SaaS), Managed Software as a Service (MSaaS), Platform as a Service (PaaS), Desktop as a Service (DaaS), Framework as a Service (FaaS), Backend as a Service (BaaS), Mobile Backend as a Service (MBaaS), Infrastructure as a Service (IaaS), etc.); and / or hybrid models that include any combination of the above examples or other services or delivery paradigms.

[0103] Any applicable data structures, file formats, and schemas in Computer System 1200 can be derived from standards, including but not limited to JavaScript Object Notation (JSON), Extensible Markup Language (XML), YAML, XHTML, Wireless Markup Language (WML), MessagePack, XML User Interface Language (XUL), or any other functionally similar representation, alone or in combination. Alternatively, proprietary data structures, formats, or schemas may be used alone or in combination with known or open standards.

[0104] In some embodiments, a tangible, non-transitory device or article of manufacture including control logic (software) stored thereon may also be referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system 1200, main memory 1208, secondary memory 1210, and removable storage units 1218 and 1222, as well as tangible articles of manufacture implementing any combination thereof. Such control logic, when executed by one or more data processing devices (such as computer system 1200), can cause such data processing devices to operate as described herein.

[0105] The embodiments of this example have been described above with the help of functional building blocks illustrating the implementation of specific functions and their relationships. For ease of description, the boundaries of these functional building blocks have been arbitrarily defined herein. Alternative boundaries may be defined, as long as the specified functions and their relationships are appropriately executed.

[0106] Based on the teachings contained in this disclosure, those skilled in the art (one or more) will clearly understand how to use [other methods]. Figure 12 The embodiments of this disclosure may be made and used using data processing devices, computer systems, and / or computer architectures other than those shown herein. In particular, the embodiments may be operated using software, hardware, and / or operating system implementations different from those described herein.

[0107] The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments that others can readily modify and / or adapt various applications of these specific embodiments by applying knowledge within the art without departing from the general concept of these embodiments, without excessive experimentation. Therefore, based on the teachings and guidance presented herein, such adaptations and modifications are intended to fall within the meaning and scope of equivalent forms of the disclosed embodiments. It should be understood that the wording or terminology used herein is for descriptive rather than restrictive purposes, and that the terminology or terminology of this specification will be interpreted by those skilled in the art based on the teachings and guidance.

[0108] The breadth and scope of this embodiment should not be limited by any of the exemplary embodiments described above, but should be defined only according to the following claims and their equivalents.

Claims

1. A method for generating an enterprise architecture for an enterprise network, comprising: receiving, by a server device having a machine learning model, historical information from a plurality of enterprise networks, the historical information including information about an enterprise architecture of each of the plurality of enterprise networks; analyzing, by the server device, the historical information from the plurality of enterprise networks to generate a network health score for each of the plurality of enterprise networks; training, by the server device, the machine learning model using a plurality of machine learning algorithms based on the historical information and the network health score for each of the plurality of enterprise networks, wherein the machine learning model classifies each of the plurality of enterprise networks using a density-based clustering technique by clustering the plurality of enterprise networks based on a number of client devices per access point and determines a correlation between a class of each of the plurality of enterprise networks and its respective enterprise architecture using an association algorithm; identifying, by the server device, a subset of enterprise networks from the plurality of enterprise networks having a same class as a first enterprise network using the machine learning model; comparing, by the server device, the first enterprise network to the subset of enterprise networks to identify at least one enterprise network of the plurality of enterprise networks, the comparison based on one or more parameters for generating an enterprise architecture for the first enterprise network; generating, by the server device, the enterprise architecture for the first enterprise network based on an enterprise architecture of the identified at least one enterprise network, the first enterprise network being a new enterprise network or an existing enterprise network of the plurality of enterprise networks; and generating, by the server device, one or more recommendations for updating the enterprise architecture of the first enterprise network based on a change in the network health score of the first enterprise network using the machine learning model.

2. The method of claim 1, wherein receiving the historical information comprises continuously receiving the historical information, and wherein the method further comprises: updating the network health score for each of the plurality of enterprise networks based on the continuously received historical information; and training the machine learning model based on the continuously received historical information and the updated network health scores.

3. The method of claim 1, wherein the one or more parameters include a budget parameter, a priority parameter, a geographic parameter, and a complexity parameter.

4. The method of claim 1, further comprising: monitoring a performance of the first enterprise network; calculating a change in the network health score of the first enterprise network based on the monitored performance; determining a cause of the change in the network health score; and generating one or more recommendations for updating the enterprise architecture for the first enterprise network to modify the cause of the change in the network health score.

5. The method of claim 1, wherein generating the network health score for each of the plurality of enterprise networks includes generating an overall network health score for each of the plurality of enterprise networks based on a plurality of sub-network health scores.

6. A device for generating an enterprise architecture for an enterprise network, comprising: a memory; and a processor configured to: ​ ​ ​ a processor coupled to the memory and configured to: receive historical information from a plurality of enterprise networks, the historical information including information about an enterprise architecture of each of the plurality of enterprise networks; analyze the historical information from the plurality of enterprise networks to generate a network health score for each of the plurality of enterprise networks; train a machine learning model using a plurality of machine learning algorithms based on the historical information and the network health score for each of the plurality of enterprise networks, wherein the machine learning model classifies each of the plurality of enterprise networks using a density-based clustering technique by clustering the plurality of enterprise networks based on a number of client devices per access point and determines a class for each of the plurality of enterprise networks and a correlation between the class and its respective enterprise architecture using an association algorithm; identify, using the machine learning model, a subset of enterprise networks from the plurality of enterprise networks that have a same class as the first enterprise network; compare the first enterprise network to the subset of enterprise networks to identify at least one enterprise network from the plurality of enterprise networks, the comparison based on one or more parameters used to generate an enterprise architecture for the first enterprise network; generate, using the machine learning model, the enterprise architecture for the first enterprise network based on the enterprise architecture of the identified at least one enterprise network, the first enterprise network being a new enterprise network or an existing enterprise network from the plurality of enterprise networks; and generate, using the machine learning model, one or more recommendations to update the enterprise architecture for the first enterprise network based on a change in the network health score for the first enterprise network.

7. The device of claim 6, wherein receiving the historical information comprises continuously receiving the historical information, and wherein the processor is further configured to: update the network health score for each of the plurality of enterprise networks based on the continuously received historical information; and train the machine learning model based on the continuously received historical information and the updated network health scores.

8. The device of claim 6, wherein the one or more parameters include a budget parameter, a priority parameter, a geographic parameter, and a complexity parameter.

9. The device of claim 6, wherein the processor is further configured to: monitor a performance of the first enterprise network; calculate a change in the network health score for the first enterprise network based on the monitored performance; determine a cause of the change in the network health score; and generate one or more recommendations for the first enterprise network to update the enterprise architecture to modify the cause of the change in the network health score.

10. The device of claim 6, wherein to generate the network health score for each of the plurality of enterprise networks, the processor is further configured to generate an overall network health score for each of the plurality of enterprise networks based on a plurality of sub-network health scores. ​ ​ 11. A non-transitory, tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations for generating an enterprise architecture for an enterprise network, the operations comprising: receiving historical information from a plurality of enterprise networks, the historical information including information about an enterprise architecture of each enterprise network of the plurality of enterprise networks; analyzing the historical information from the plurality of enterprise networks to generate a network health score for each enterprise network of the plurality of enterprise networks; training a machine learning model using a plurality of machine learning algorithms based on the historical information and the network health score for each enterprise network of the plurality of enterprise networks, wherein the machine learning model classifies each enterprise network of the plurality of enterprise networks using a density-based clustering technique by clustering the plurality of enterprise networks based on a number of client devices per access point and determines a correlation between a class of each enterprise network of the plurality of enterprise networks and its respective enterprise architecture using an association algorithm; identifying, using the machine learning model, a subset of enterprise networks from the plurality of enterprise networks that have a same class as a first enterprise network; comparing the first enterprise network to the subset of enterprise networks to identify at least one enterprise network of the plurality of enterprise networks, the comparison based on one or more parameters used to generate an enterprise architecture for the first enterprise network; generating the enterprise architecture for the first enterprise network based on an enterprise architecture of the identified at least one enterprise network, the first enterprise network being a new enterprise network or an existing enterprise network of the plurality of enterprise networks; and generating, using the machine learning model, one or more recommendations to update the enterprise architecture of the first enterprise network based on a change in the network health score of the first enterprise network.

12. The non-transitory, tangible computer-readable device of claim 11, wherein receiving the historical information comprises continuously receiving the historical information, and wherein the operations further comprise: updating the network health score for each enterprise network of the plurality of enterprise networks based on the continuously received historical information; and training the machine learning model based on the continuously received historical information and the updated network health scores.

13. The non-transitory, tangible computer-readable device of claim 11, the operations further comprising: monitoring a performance of the first enterprise network; calculating a change in the network health score of the first enterprise network based on the monitored performance; determining a cause of the change in the network health score; and generating one or more recommendations for updating the enterprise architecture for the first enterprise network to modify the cause of the change in the network health score.

14. The non-transitory, tangible computer-readable device of claim 11, wherein generating the network health score for each enterprise network of the plurality of enterprise networks comprises generating an overall network health score for each enterprise network of the plurality of enterprise networks based on a plurality of sub-network health scores. ​ ​

Citation Information

Patent Citations

  • Automated system and method for service and cost architecture modeling of enterprise systems

    US20060241931A1

  • Adaptive health status scoring for network assurance

    US20190028909A1