Decomposing tasks through artificial intelligence chaining

Embodiments relate to intelligent entities for providing information service over a network in a telecommunication system. An intelligent element framework manages intelligent entities, which are modular and trained using artificial intelligence or machine learning algorithms to perform prediction or inference for different types of applications. The intelligent entities may communicate with each other via the intelligent element framework. For example, an intelligent entity may generate an output and provide the output for use by one or more other intelligent entities. Thus, the intelligent element framework may distribute portions of tasks for information service across multiple intelligent entities chained together, for example, in a directed graph configuration.

BACKGROUND

This disclosure relates generally to operations of large scale networks of computing devices for cloud computing, and specifically relates to providing information services through chaining a plurality of artificial intelligence entities in telecommunication infrastructure.

Cloud computing have enabled information services to be dissociated from specific computing devices and physical hardware. For example, a service for a client device may be assigned to a given server of a large data center, and the server may execute multiple services. These large data centers are referred to as the “cloud,” and cloud resources are provided by cloud service providers.

Operations of networks may be performed more efficiently using automation by computing devices than manually by technicians. The amount of data generated may be overwhelming to be reviewed and analyzed by manual operation. Large-scale data enables statistical analysis and model training. Though, a given machine learning algorithm or monolithic artificially intelligent entity may be stronger at performing certain tasks than others, which may result inconsistent performance across different functionalities. It is challenging to effectively distribute tasks of an information service for automation by among computing devices in a network.

SUMMARY

Embodiments relate to using intelligent entities to provide information service in a network of computing devices. In an embodiment, management components are deployed in an information service infrastructure to perform a task of an information service associated with performance of the information service. Each of the management components are associated with an intelligent entity configured to perform, using an automation algorithm, prediction or inference associated with a portion of the task handled by the management component. Prediction or inference is performed to generate a first output by a first intelligent entity. The first output is received by a second intelligent entity from the first intelligent entity via an intelligent element framework. The second intelligent entity performs prediction or inference to generate a second output based at least on the first output. The second output is sent to one or more target systems to provide the information service.

The figures depict embodiments of the present disclosure for purposes of illustration only.

DETAILED DESCRIPTION

Embodiments are described herein with reference to the accompanying drawings. Principles disclosed herein may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the features of the embodiments. In the drawings, like reference numerals in the drawings denote like elements.

Embodiments relate to providing information service using intelligent entities managed by an intelligent element framework. In contrast to systems using a monolithic artificial intelligence block, the intelligent element framework configures multiple intelligent entities (e.g., related to each other in a chain or directed graph) to distribute portions of tasks to be executed using artificial intelligence or machine learning algorithms. The modular approach performed by the intelligent element framework may enable execution of complex tasks, scaling, reutilization, and automation by intelligent entities in a flexible architecture.

The information service described herein refers to a service that includes at least one of providing, collecting, or processing data or information to or from or between users and devices using telecommunication infrastructure. Example information services include, among others, Internet broadcasting services, social networking services, messaging services, web hosting services, augmented reality (AR) processing, gaming, virtual reality (VR) programming, video messaging, video surveillance, remote monitoring, drone control, smart city applications, navigation, connected vehicle applications, fleet management, asset tracking, assisted driving, automated driving support, precision agriculture, robot control, factory automation, health monitoring, activity tracking, recommendations, among others.

The intelligent element framework described herein refers to a platform embodied using one or more computing devices or networking devices to chain operations of intelligent entities. The intelligent element framework include hardware, software, firmware or a combination thereof.

Overview of Example System

Figure (FIG.1is a diagram of a telecommunication system100for providing information services, according to one embodiment. The system100includes an intelligent element framework110, intelligent entities120, one or more computing devices130, one or more orchestrators140, an operational support system (OSS)150, network manager160, and one or more external systems170, connected to each other via a network180. In other embodiments, different and/or additional components can be included in the system100.

An intelligent entity120(also referred to herein as “IE”) is software, hardware, firmware or a combination thereof that performs tasks using automation functions such as artificial intelligence or machine learning algorithms, e.g., supervised learning, unsupervised learning, or reinforcement learning mechanisms. In some embodiments, an intelligent entity120is trained to perform a specific sets of tasks or portions of tasks, e.g., predication or inference, resource management, network control, communication, policy, etc. For example, different intelligent entities120are trained using different sets of features. Accordingly, intelligent entities120may be customized for different applications of information services. Intelligent entities120may generate an output that is sent to another intelligent entity120or a target system for an information service. Intelligent entities120may exchange data elements having a value, timestamp, and metadata (e.g., to identify a source or destination of a data element). In addition, intelligent entities120may discover capabilities of other intelligent entities120.

The intelligent element framework110facilitates communication between intelligent entities120and other components of the system100. The intelligent element framework110may include an IE catalog115(e.g., IE registry) of information describing intelligent entities120available in the system100. Upon instantiation, an intelligent entity120may contact the IE catalog115, locate any required sources of input, or advertise to other IEs that the intelligent entity120is available for use. The IE catalog115may, for example, use a publish-and-subscribe mechanism to register instantiated IEs and notify instantiated IEs to other IDs. The intelligent element framework110transmits information between intelligent entities120according to a chaining configuration, which is further described below with reference to FIGS.2-3and6. The intelligent element framework110may perform a complex operation (e.g., requiring artificial intelligence) by decomposing the complex operation into discrete tasks for execution by multiple intelligent entities120. In other words, the intelligent element framework110may chain intelligent entities120together to perform tasks for information services.

Furthermore, the intelligent element framework110may determine a specific intelligent entity120that is suitable to perform a certain type of artificial intelligence task or parallelize execution of tasks among intelligent entities120. As an example use case, an intelligent element framework110for an autonomous vehicle may manage a first intelligent entity120for predicting motion of other vehicles, a second intelligent entity120for tracking position of pedestrians, a third intelligent entity120for controlling speed of the autonomous vehicle, and a fourth intelligent entity120for navigation. These applications may require different types of machine learning algorithms or feature training, for instance, predicting motion of vehicles uses a physics-based model, tracking pedestrians uses image processing techniques, and navigation uses mapping algorithms.

In some embodiments, the intelligent element framework110(or an external component) may analyze existing chains of intelligent entities120to determine recommendations to improve their performance. The recommendation may indicate a reordering of IEs or functions in a directed graph, refining the data or output generated by a given intelligent entity120, modifying (e.g., reducing or augmenting) the number or types of intelligent entities120assigned to a specific task, among other types of modifications.

Computing devices130of the system100provide information services to other computing devices by deploying and executing service components or tasks. Computing devices130may include one or more of a cloud server, telecommunication server, client device, gateway, edge device, or other types of telecommunication devices. In some embodiments, the computing devices130are structured in a hierarchical architecture including one or more levels. For example, a first level includes a cloud server, a second level includes an edge device, and a third level includes a client device. Computing devices130may communicate with other computing devices130in an adjacent level or non-adjacent level.

A service component of an information service refers to a discrete functional software or hardware component in a computing device that operate in conjunction with at least one other service component to provide the information service. Further, service components may be customized to a given type of information services. As examples, different service components may provide different functionalities including load balancing, data anonymization, data aggregation, data transformation (e.g., reformatting or conversions), alarming, threshold detection, pattern recognition (e.g., speech, video, image, etc.), remote control, encryption, authentication, authorization, rating, accounting, billing, routing, enrichment, trending, prediction, reporting, home automation, among others.

Cloud servers and telecommunication servers are types of computing devices130that provision and deploy service components of information services. A cloud service provider owns and operates a cloud server, while a telecommunication service provider owns and operates a telecommunication server. A telecommunication server may be distinguished from other servers in that it can serve as the gateway to a walled domain of a network manager160. Thus, the telecommunication server may also include security and firewall rules, a portal for external access, accounting procedures, and monitoring to ensure high availability.

In some embodiments, cloud servers and telecommunication servers provision and deploy service components using one or more orchestrators140, which may include a hierarchical orchestrator and local orchestrators (e.g., for a given level of a hierarchal architecture). An orchestrator may be embodied on a computing device130executing, for example, VMWARE® and OPENSTACK®. An orchestrator140may communicate with the other orchestrators140to track resources and allocate service components over the system100.

A client device, also known as user equipment (UE) or customer premise equipment (CPE), is a type of computing device130that is operated by a user and can communicate data via the network180. The client device is typically installed in a user's premise or carried by the user. The client device may provide information services or present information via a graphical user interface on a display of the client device, in some embodiments. Example client devices include conventional computer systems such as a desktop or laptop computer, a mobile telephone, a smartphone, tablet, or wearable device, among others.

A gateway is a type of computing device130that connects client devices to other computing devices130of the system100and facilitates interoperability between various computing devices130. Similar to a client device, a gateway is typically installed on the user's premises or carried by the user, and enable the client devices to communicate over the network180. Further, the gateway may connect multiple networks having different network protocols by performing protocol conversions. In some embodiments, the gateway serves as a proxy server or a firewall server in the network180. Example gateways includes, for example, interne of things (IOT) gateways, BLUETOOTH® gateways, onboard communication devices, personal gateways, wireless access points, among others.

An edge device is a type of computing device130having resources to host at least one service component of an information service and also function as an access point to a network for providing the information service. The resources in the edge device can be either hardware or software that are configurable based on a command received from an external source (e.g., an orchestrator140). Example edge devices may include micro data centers, edge routers, provider edge routers, aggregation routers, customer premise equipment (CPE), set-top boxes, cloudlets, fog nodes, wireless access points, wireless base stations, Long Term Evolution (LTE) protocol nodes such as an Evolved Node B, cable modems, DSL modems, optical termination points, reconfigurable optical add-drop multiplexer (ROADM), road side units, onboard computers, connected vehicles, satellite receivers, ground stations, digital subscriber line access multiplexer (DSLAM), switches, cable modem termination system (CMTS), broadband gateways, among others.

In some embodiments, an edge device is different from other servers or computing devices130in that it functions as an access point to a network (e.g., network180) and is in proximity to end users and end devices such as client devices. Thus, the edge device may also include information describing context or activity in the proximity of the edge device such as radio conditions, weather information, local traffic, precise device location, or confidential information that cannot be shared with higher levels in a hierarchical architecture. An edge device may also include an access interface to enable the edge device to function as an access point to the network180. The access interface may enables a wired or wireless connection to a client device using various protocols. The edge device may receive service components from an orchestrator140or other computing devices130via the network180for deployment and execution.

The OSS150and network manager160include one or more systems that manage the various components of the system100over the network180. The OSS150and network manager160may perform operational tasks from a legacy system that are typically human operated, or may include automated systems that implement artificial intelligence. For instance, the OSS150and network manager160may maintain inventory of and configure computing devices130, orchestrators140, and external systems170connected over the network180. Additionally, the OSS150and network manager160may perform load balancing or fault management for information services.

External systems170may include any number of systems outside a domain of the computing devices130that receive information services. Additionally, external systems170may provide resources for information services such as service components, intelligent entities, or chaining configurations. Furthermore, external systems170may provide data for processing by the intelligent entities. Such information provided by external systems170may include, among others, manual user inputs, customer information, weather, and financial information.

The network180includes any combination of local area networks (LAN), wide area networks (WAN), wired or wireless networks, private networks, or virtual private networks, among other types of networks. The network180may communicate data in a control plane as well as a user plane. Data transmitted over the control plane include signal traffic such as control packets between routers in the network180. Data transmitted over the user plane (also known as the data plane, forwarding plane, carrier plane, or bearer plane) include user traffic through routers to computing devices130of the network180such as client devices. In one embodiment, the orchestrators140receive resource tracking information from computing devices130via the control plane, and allocate user plane resources for service components to resources of the computing devices130.

Example Intelligent Entities

FIG.2is a diagram of a configuration of intelligent entities120and an intelligent element framework110, according to one embodiment. In the “backend” embodiment shown inFIG.2, the intelligent element framework110is not visible to the components for OSS management and orchestration210, e.g., the orchestrators140, OSS150, and network manager160. The intelligent element framework110communicates with the intelligent entities120using the chaining configuration220to manage the infrastructure200of computing devices130. The intelligent entities120may receive information from external systems170for use in executing tasks.

FIG.3is a diagram of another configuration of intelligent entities and an intelligent element framework, according to one embodiment. In the “frontend” embodiment shown inFIG.3, the intelligent element framework110communicates with the OSS management and orchestration310using the chaining configuration320. Moreover, the intelligent entities120communicate with the OSS management and orchestration310indirectly through the intelligent element framework110, e.g., to manage the infrastructure300of computing devices130.

FIG.4is a diagram of various types of intelligent entities120according to one embodiment. Example types of intelligent entities120include a Fault IE, Capacity IE, Performance IE, Security IE, Inventory IE, and Alarm IE. The intelligent entities120may communicate with various management components (e.g., fault management, capacity management, etc.) of the OSS management and orchestration410to perform different types of tasks. Particularly, the Fault IE may identify and determine solutions to issues for fault management. The Capacity IE may track workload or resources of computing devices130and predict when additional capacity should be allocated to support an increase in demand. The Performance IE may monitor performance metrics of computing devices130such as latency, memory usage, CPU usage, network bandwidth, etc. The Security IE protects the infrastructure400from unauthorized activity and may detect anomalies in the system. The Inventory IE manages inventory of the computing devices130or other components in the system. The Alarm IE generates and transmits alarms responsive to determining that a given event has occurred (e.g., commissioning or decommissioning of a computing device130) or that a certain condition has been satisfied (e.g., resource usage has reached at least a threshold level of capacity).

FIGS.5A.5B,5C,5D, and5E illustrate directed graphs of intelligent entities according to various embodiments. As previously described, the intelligent element framework110may chain intelligent entities120together, and examples of such chaining are illustrated inFIGS.5A-E. The intelligent element framework110may configure intelligent entities120according to a chaining configuration describing the chaining structure and organization of IEs. The chaining configuration may use language for describing graphs, e.g., in JSON, YAML, or another suitable data format. In the embodiment shown inFIG.5A, four IEs are chained in series, where an IE provides output to a subsequent IE in the directed graph. In the embodiment shown inFIG.5B, some of the IEs receive output from two or more other IEs in the directed graph, e.g., directly or indirectly. In the embodiment shown inFIG.5C, the directed graph includes two sub-graphs that do not necessarily need to be connected to each other (e.g., in a forest graph including multiple trees). For instance, the IEs of the sub-graphs (e.g., trees) are configured to perform different tasks that may be independent from each other.

In the embodiment shown inFIG.5D, the directed graph includes an IE that receives, as feedback, output from another IE downstream in the directed graph. In other embodiments, an IE may receive feedback from any number of other IEs (e.g., in a cyclic graph). In the embodiment shown inFIG.5E, the directed graph includes IEs that provide output to two other IEs. The embodiment ofFIG.5Erepresents a binary tree data structure, though in other embodiments, IEs may provide output to any number (e.g., greater than two) of other IEs.

In other embodiments, instead of using directed graphs to define architecture of sending or receiving data to or from the intelligent entities120, a publish-subscribe mechanism may be employed to share the information across thee intelligent entities120.

FIG.6is a diagram of data flow between intelligent entities120and an intelligent element framework110, according to one embodiment. Alarm root cause analysis (RCA) IE receives data610from the target systems608and determines the cause of an alarm is triggered in the target systems608based on data610. For instance, the Alarm RCA IE identifies an outage on a network component that caused the triggering of the alarm. The Alarm RCA IE publishes parameters620and630of the alarm or corresponding incident to certain configured channels of the intelligent element framework110. For example, parameters630are published to the first channel600, which may be a resource management channel configured to receive information describing status of network components. Additionally, parameters620are published to the second channel602, which may be an access network channel, and the third channel604may be a communication channel. The second channel602transmits information640associated with the alarm to cloud dynamic location (CDL) IE responsive to receiving the parameters from the Alarm RCA IE. The CDL IE may recommend or execute deployments or changing of locations of service components in one or more computing devices130based on various factors such as latency, hierarchy, capacity and availability of the computing devices130.

The first channel600transmits information650associated with the alarm to the Predictive Auto-scaling IE responsive to receiving the parameters from the Alarm RCA IE. The Predictive Auto-scaling IE may determine a reallocation of resources to account for the identified outage on the network component. In some embodiments, the Predictive Auto-scaling IE may use a machine learning model to predict an impact on resource utilization as result of the outage. Based on the prediction, the Predictive Auto-scaling IE can determine an appropriate action or no action. For instance, responsive to determining a negative impact or reduction in available resources, the Predictive Auto-scaling IE determines to commission additional resources or turn off existing virtual machines or computing devices130to release lower priority or unused resources. In some embodiments, the Predictive Auto-scaling IE may check with another IE before performing an action. For example, the Predictive Auto-scaling IE checks with a Social Media IE to determine whether resource capacity should be maintained for an upcoming social event.

The Predictive Auto-scaling IE communicates instructions660the target systems608to execute the reallocation of resources. In an embodiment, the Predictive Auto-scaling IE uses a virtual infrastructure manager (VIM) to execute the reallocation or other actions. The Predictive Auto-scaling IE publishes information670describing the reallocation to the first channel600. The first channel600transmits the information680to the Alarm Reduction IE to capture parameters of the outage incident and resolution. The Alarm Reduction IE may reduce or remove the alarm previously identified by the Alarm RCA IE, e.g., responsive to determining that the incident has been properly resolved or mitigated.

In the example use case ofFIG.6, the intelligent element framework110may configure the channels using the chaining configuration606or the IE catalog115. Moreover, the intelligent element framework110may provision tasks to the different intelligent entities120according to the chaining configuration606or the IE catalog115. The IE catalog115may define the topology or connections between the different intelligent entities120. As described above, the Alarm RCA IE, Predictive Auto-scaling IE, and Alarm Reduction IE perform different tasks in response to the outage on the network component. Thus, the intelligent element framework110can streamline responses to various types of events by distributing tasks to customized intelligent entities120and transmit information between intelligent entities120via specific types of channels.

Example Computing Device

FIG.7is a block diagram of a computing device130, according to one embodiment. The computing device130includes, among others, a storage medium700, one or more processors702, one or more network interfaces704, a storage controller706, one or more hardware components708, and a bus710connecting these components. Hardware components708may include, for example, sensors, antennas, GPUs, display devices, I/O interfaces, etc. The one or more processors702execute instructions stored in the storage medium700. The one or more network interfaces704are configured to communicatively connect the computing device130over the network180to external systems170, computing devices130, orchestrators140, or other components.

The storage controller706manages the operation of the storage medium700. The storage controller706may read data from the storage medium700for processing by the one or more processors702. The storage controller706may also write data to the storage medium700received from various subcomponents of the computing device130or from external systems170or other components.

The storage medium700is a non-transitory computer-readable storage medium storing, among others, a resource tracker712, provisioning module714, and resources718. The storage medium700may also include software components not illustrated inFIG.7such as an operation system (OS). In some embodiments, the storage medium700is implemented as random-access memory (RAM) or other types of memory hardware.

Software components of the resources718operate on the user plane of the network180may include the intelligent element framework110(e.g., on a server type computing device130or another suitable central location), IEs120(e.g., on edge devices and other types computing devices130), and any number of allocated service components716, e.g., allocated on a hierarchical level of the computing device130. In some embodiments, the IEs120may be distributed over multiple computing devices130that are communicatively coupled together via the intelligent element framework110. Accordingly, each of the IEs120may be logically encapsulated yet also physically separate.

The resources718may include any combination of hardware or software resources. Example service components716include a national content catalog for a content distribution network service, a global messaging hub for a messaging service, a global user list for an operation management service, or a component that prepares and generates consolidated reports on alarms. The resources718may also store parameters used by a service component716. The parameters may include, among others, virtualization parameters to configure a virtual machine instantiated on the computing device, a global content list, a global content repository, or consolidated sensor metrics. In some embodiments, the hardware components708may also embody one or more of the service components716.

The resource tracker712and provisioning module714operate on the control plane of the network180. The resource tracker712monitors the resources718of the computing device130. The resource tracker712may track, for example, current and historical demand for the resources718, assignments of service components to the resources718, performance requirements of service components, or characteristics of the resources718. Types of the characteristics may include compute characteristics (e.g., CPU type, number of CPUs, CPU speed or latency, etc.), storage characteristics (e.g., volatile or non-volatile memory, storage volume in gigabytes or terabytes, read and write latency, etc.), networking characteristics (e.g., number of interfaces and network speed), node geographical location (e.g., jurisdiction, country, or longitude and latitude coordinates of the computing devices), node connectivity (e.g., nearby computing devices, connection speed, etc.), and access connectivity (e.g., fiber connection, radiofrequency access, spectrum, bandwidth, cell identification, etc.), among other characteristics. The resource tracker712may provide the tracked resource information to an orchestrator140or the provisioning module714.

The provisioning module714provisions and deploys service components of information services as resources in the computing device130according to resource information received from the resource tracker712or instructions received from an orchestrator140. In particular, the provisioning module714may provide provisioning information to instantiate a service component in the computing device130. In some embodiments, the provisioning module714may also provision and deploy service components as resources in other computing devices130communicating with the computing device130. In embodiments including computing devices130that are hierarchically structured, the provisioning module714may store information used by a provisioning module of another computing device130in a different level of the hierarchy. As an example, the provisioning module714may provision and deploy service components of a virtual machine onto a telecommunication server or edge device, e.g., to load-balance the payload of a cloud server.

Example Process Flows

FIG.8is a flow chart illustrating a process800for performing predictions using intelligent entities, according to one embodiment. In an example use case, an intelligent element framework110chains a Traffic IE, User Activity IE, Resource Prediction IE, and Recommendation IE to perform energy management. The Traffic IE determines trends810in resource demand. The Traffic IE may use a model trained using one or more features to determine trends. For instance, the features indicate metrics associated with available resources or previous resource demand, e.g., a growth or decrease in demand using historical traffic data. Accordingly, the Traffic IE may learn to predict that similar or different trends may occur in the future given certain conditions. In some embodiments, the features are generated by at least one other intelligent entity120.

The User Activity IE predicts user activity820, e.g., using social media information or historical user movement. The User Activity IE may also use a model trained using one or more features to generate predictions of user activity. The model used by the User Activity IE may be different than a model used by the Traffic IE. Generally, intelligent entities120may use different models from each other, models trained with different training data, or models trained using different machine learning algorithms. The User Activity IE may predict user activity such as usage levels of computing devices130, periods of time with relatively greater or less traffic on a network, locations to which users are likely to travel, or aggregate activity from a population of users.

The Traffic IE and User Activity IE may provide their outputs, resource trends and user activity predictions, respectively, to the Resource Prediction IE. In particular, the outputs may be provided via the intelligent element framework110that chains the Traffic IE and User Activity IE to the Resource Prediction IE, e.g., using one or more channels. The Resource Prediction IE predicts resource demand830for a cell (e.g., a computing device130) using the input from the other IEs. The Resource Prediction IE may also receive other types of input such as weather information, news, or events for generating predictions regarding the cell. In addition, the Resource Prediction IE determines current resource utilization840. The Resource Prediction IE provides its outputs to the Recommendation IE.

The Recommendation IE determines a recommendation850to turn on or off management components of the cell. For example, responsive to a prediction that resource demand and user activity is predicted to decrease during a given time period (e.g., the weekend), the Recommendation IE recommends to turn off at least a portion of the cell to preserve energy. In some embodiments, the Recommendation IE may determine other types of recommendations, for example, requesting an intervention to mitigate an identified fault or alert, commissioning new management components or reconfiguring existing management components, or triggering other artificial intelligence tasks.

The process800as described above is performed using intelligent entities120chained in series as part of a directed graph. In other embodiments, the intelligent entities120may be part of a cyclic graph where at least one of the IEs uses feedback from another IE. For instance, the Resource Prediction IE predicts resource demand using previous recommendations determined by the Recommendation IE. The intelligent element framework110or an IE may determine a quality of output generated by another IE for the feedback.

FIG.9is a flow chart illustrating a process900for providing information service using intelligent entities120, according to one embodiment. The intelligent element framework110deploys management components910(e.g., service components) in an information service infrastructure to perform a task of the information service. Each management component is associated with an intelligent entity120configured to perform, using a machine learning algorithm, prediction or inference associated with a portion of the task handled by the management component.

A first intelligent entity120performs prediction or inference920to generate a first output. The first intelligent entity120may use a trained model to predict resource demand, user activity, or resource utilization, among other types of metrics or events. The first intelligent entity120may also infer trends or macro-level information from data or features used to train the model.

A second intelligent entity120receives the first output930from the first intelligent entity120via an intelligent element framework110. In particular, the first output may be routed between the first and second intelligent entities120through a given channel configured by the intelligent element framework110. Further, the intelligent element framework110may determine a channel from a set of multiple types of channels (e.g., channels600-604shown inFIG.6) for routing outputs between intelligent entities120. The intelligent element framework110may use multiple channels to reduce noise and focus on specific purposes or types of tasks to be executed by the intelligent entities120. Moreover, intelligent entities120may use discretion to subscribe to specific channels of interest instead of receiving communication published on all channels.

The second intelligent entity120performs prediction or inference940to generate a second output based at least on the first output. The second intelligent entity120may use the first output as training data for a model, e.g., different than the model used by the first intelligent entity120. The models may differ because the first and second intelligent entities120are trained for different purposes or to perform different types of predictions or inferences.

The intelligent element framework110sends the second output950to one or more target systems to provide the information service. As one use case, for a social networking information service, the target systems may use the second output to customize content, user interfaces, or user experiences in a social network. In a different example, for an AR or VR information service, the target systems may use the second output for rendering image or video graphics for display to a user in an AR or VR environment. Furthermore, for a navigation or autonomous vehicle information service, the target systems may use the second output for determining routing directions or detecting and avoiding objects on the road.

The steps of the process as described inFIG.9are merely illustrative. For example, the intelligent element framework110may deploy management components to additional intelligent entities120and repeat the steps920-940any number of times to generate outputs based on prediction or inferences by the additional intelligent entities120. In an embodiment, a third intelligent entity120performs prediction or inference to generate a third output simultaneously with generation of the first output or the second output. The intelligent element framework110may send the third output to the target systems to provide the information service.

In an embodiment, the intelligent element framework110may send a response to the first output from the second intelligent entity120to the first intelligent entity120. The second intelligent entity120may determine the response according to the second output, e.g., the response is a resolution to an alarm indicated by the first output.

In various embodiments, the intelligent element framework110may transmit outputs or other data elements using a subscriber and publisher configuration. For instance, the intelligent element framework110may receive a request for the first output from the second intelligent entity120. The intelligent element framework110subscribes the second intelligent entity120to receive publication of information from the first intelligent entity120. Responsive to receiving the request (e.g., for subscription), the intelligent element framework110sends the first output from the first intelligent entity120to the second intelligent entity120.