Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. An apparatus to perform task assignment for video analytics processing in a cloud computing environment, the apparatus comprising: a directed acyclic graph determiner implemented by at least one of hardware or at least one processor to determine a directed acyclic graph including nodes and edges to represent: (i) a plurality of video sources, (ii) a cloud computing platform, and (iii) a plurality of intermediate network devices in the cloud computing environment, the plurality of intermediate network devices to communicate data from the video sources to the cloud computing platform; a task ordering specifier implemented by at least one of hardware or the at least one processor to specify task orderings of respective sequences of video analytics processing tasks to be executed in the cloud computing environment on corresponding video source data generated by respective ones of the video sources; and a task scheduler implemented by at least one of hardware or the at least one processor to iteratively assign, based on the directed acyclic graph and the task orderings, combinations of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks on the corresponding video source data generated by the respective ones of the video sources, the combinations of the video sources, the intermediate network devices and the cloud computing platform to be assigned to satisfy the task orderings along respective data paths from the video sources to the cloud computing platform as represented in the directed acyclic graph.
This invention relates to task assignment for video analytics processing in cloud computing environments. The system addresses the challenge of efficiently distributing video analytics tasks across distributed resources, including video sources, intermediate network devices, and cloud computing platforms, while ensuring proper task ordering and data flow. The apparatus includes a directed acyclic graph (DAG) determiner that constructs a graph representing video sources, a cloud computing platform, and intermediate network devices. The graph includes nodes for each component and edges representing data paths between them. A task ordering specifier defines the sequence of video analytics processing tasks for each video source's data. A task scheduler then assigns combinations of video sources, intermediate devices, and cloud resources to execute these tasks while maintaining the specified task order along the data paths defined in the DAG. The system dynamically assigns resources to optimize processing while respecting dependencies between tasks and ensuring data flows correctly from sources to the cloud platform. This approach improves efficiency in distributed video analytics workflows by intelligently distributing tasks across available resources.
2. The apparatus of claim 1 , wherein: the nodes of the directed acyclic graph include a root node to represent the cloud computing platform, leaf nodes to represent the video sources, and intermediate nodes to represent the intermediate network devices; and the edges of the directed acyclic graph include a first set of edges representing available communication paths between the video sources and the intermediate network devices, and a second set of edges representing available communication paths between the intermediate network devices and the cloud computing platform in the cloud computing environment.
This invention relates to a system for optimizing video data transmission in a cloud computing environment. The problem addressed is efficiently routing video streams from multiple sources to a cloud platform through intermediate network devices while ensuring reliable and low-latency communication. The system uses a directed acyclic graph (DAG) to model the network topology. The DAG includes a root node representing the cloud computing platform, leaf nodes representing video sources, and intermediate nodes representing network devices like routers or switches. The edges of the graph represent available communication paths. A first set of edges connects video sources to intermediate network devices, while a second set connects intermediate devices to the cloud platform. This structure allows the system to analyze and select optimal paths for video data transmission, balancing factors like bandwidth, latency, and reliability. The DAG-based approach enables dynamic adaptation to network changes, ensuring efficient video streaming even as conditions vary. By explicitly modeling the network hierarchy, the system can identify bottlenecks and reroute traffic to maintain performance. This solution is particularly useful in large-scale cloud environments where multiple video sources must be aggregated and processed efficiently.
3. The apparatus of claim 2 , wherein, for each leaf node, the directed acyclic graph defines one respective uplink data path from that leaf node to the cloud computing platform.
This invention relates to a distributed computing system that uses a directed acyclic graph (DAG) to manage data paths between leaf nodes and a cloud computing platform. The system addresses the challenge of efficiently routing data from multiple distributed nodes to a centralized cloud infrastructure while ensuring reliability and scalability. The apparatus includes a DAG structure where each leaf node represents a distributed computing device or endpoint. The DAG defines a unique uplink data path for each leaf node, ensuring that data flows from the node to the cloud platform without loops or redundant paths. This structure optimizes data transmission by minimizing latency and avoiding conflicts in routing. The system may also include a mechanism to dynamically adjust the DAG based on network conditions, such as link failures or congestion, to maintain optimal data flow. The DAG ensures that data from each leaf node follows a deterministic path to the cloud, improving reliability and predictability in data transmission. This approach is particularly useful in large-scale distributed systems, such as IoT networks or edge computing environments, where efficient and reliable data routing is critical. The invention enhances performance by reducing bottlenecks and ensuring that data reaches the cloud platform in an organized and efficient manner.
4. The apparatus of claim 3 , wherein a first leaf node of the directed acyclic graph corresponds to a first video source, a first combination of nodes defines a first uplink data path from the first leaf node to the cloud computing platform, and the task scheduler is to assign at least some of the first combination of nodes included in the first uplink data path to execute a first one of the sequences of video analytics processing tasks to preserve, along the first uplink data path, a first task ordering for the first one of the sequences of video analytics processing tasks.
This invention relates to a system for optimizing video analytics processing in a distributed computing environment, particularly for managing data paths between video sources and a cloud computing platform. The system addresses the challenge of efficiently processing video analytics tasks while maintaining task ordering and minimizing latency in a network with multiple interconnected nodes. The apparatus includes a directed acyclic graph (DAG) representing a network of nodes, where leaf nodes correspond to video sources. A first leaf node connects to a cloud computing platform via a defined uplink data path composed of a combination of intermediate nodes. A task scheduler assigns video analytics processing tasks to these nodes along the uplink path, ensuring that the sequence of tasks is preserved in the correct order as data flows from the video source to the cloud. This approach allows for distributed processing while maintaining the integrity of task dependencies, improving efficiency and reducing processing delays. The system dynamically allocates tasks to nodes based on their positions in the DAG, optimizing resource utilization and ensuring timely data transmission.
5. The apparatus of claim 4 , wherein tasks ordered later in the first task ordering for the first one of the sequences of video analytics processing tasks are associated with lower bandwidth utilization than tasks ordered earlier in the first task ordering for the first one of the sequences of video analytics processing tasks, and the task scheduler is further to: assign a first one of the nodes in the first combination of nodes to execute a first task in the first one of the sequences of video analytics processing tasks, the first node at a first position of the first uplink data path; assign a second one of the nodes in the first combination of nodes to execute a second task in the first one of the sequences of video analytics processing tasks, the second node at a second position of the first uplink data path subsequent to the first position; and assign the second one of the nodes to execute each other task in the first one of the sequences of video analytics processing tasks ordered between the first task and the second task in the first task ordering.
This invention relates to optimizing bandwidth utilization in distributed video analytics systems. The problem addressed is inefficient data transmission in multi-node processing architectures where tasks are executed across nodes connected via uplink data paths. The solution involves dynamically assigning video analytics tasks to nodes based on their position in the uplink data path to minimize bandwidth consumption. The system includes a task scheduler that manages sequences of video analytics processing tasks distributed across multiple nodes. Tasks are ordered in a sequence, and later tasks in the sequence are associated with lower bandwidth requirements than earlier tasks. The scheduler assigns tasks to nodes positioned along an uplink data path, ensuring that tasks with higher bandwidth demands are executed closer to the data source, while subsequent tasks with lower bandwidth demands are executed by nodes further along the path. This reduces the volume of data transmitted across the network by processing high-bandwidth tasks early in the sequence, closer to the source, and progressively reducing bandwidth usage as data moves upstream. The scheduler assigns the first task in a sequence to a node at an initial position in the uplink path and subsequent tasks to nodes further along the path. Intermediate tasks between the first and last tasks are also executed by the same node as the last task, ensuring efficient data flow and minimizing redundant transmissions. This approach optimizes network resource usage in distributed video analytics systems.
6. The apparatus of claim 1 , wherein the task scheduler is further to assign the combinations of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks based on a resource utilization constraint and a bandwidth utilization constraint, the resource utilization constraint to ensure available processing resources represented by the leaf nodes and the intermediate nodes of the directed acyclic graph are not exceeded, and the bandwidth utilization constraint to ensure available bandwidths represented by the first set of edges and the second set of edges of the directed acyclic graph are not exceeded.
This invention relates to a distributed video analytics system that optimizes task scheduling across multiple video sources, intermediate network devices, and a cloud computing platform. The system addresses the challenge of efficiently distributing video processing tasks while managing resource and bandwidth constraints in a networked environment. The apparatus includes a task scheduler that assigns combinations of video sources, intermediate network devices, and a cloud computing platform to execute sequences of video analytics processing tasks. The scheduler ensures that resource utilization constraints are met by preventing the available processing resources of leaf nodes (representing end devices) and intermediate nodes (representing network devices) from being exceeded. Additionally, bandwidth utilization constraints are enforced to avoid exceeding the available bandwidths of the connections between nodes, represented by edges in a directed acyclic graph (DAG). The DAG structure models the system's topology, where nodes represent processing units and edges represent communication links. The scheduler dynamically allocates tasks to nodes while adhering to the constraints, ensuring efficient processing without overloading any component. This approach optimizes performance by balancing workload distribution and network traffic, particularly in scenarios involving multiple video streams and distributed processing.
7. The apparatus of claim 6 , wherein the task scheduler further includes: a candidate assignment determiner to iteratively determine different candidate assignments of respective combination of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks associated with the video sources; a constraint evaluator to: evaluate a first matrix-based equation for a first one of the candidate assignments to determine whether the first one of the candidate assignments satisfies the resource utilization constraint; and evaluate a second matrix-based equation to determine whether the first one of the candidate assignments satisfies the bandwidth utilization constraint; and a task assignment selector to retain the first one of the candidate assignments when the first one of the candidate assignments utilizes a lower overall bandwidth in the cloud computing environment than a prior retained second one of the candidate assignments.
This invention relates to optimizing task scheduling in a distributed video analytics system. The system processes video streams from multiple sources using a combination of intermediate network devices and a cloud computing platform. The challenge is efficiently assigning video analytics tasks to these resources while respecting constraints on resource utilization and bandwidth. The apparatus includes a task scheduler that evaluates different candidate assignments of video sources, intermediate devices, and cloud resources to execute sequences of video analytics tasks. A candidate assignment determiner generates multiple possible task distributions. A constraint evaluator checks each assignment against two matrix-based equations: one for resource utilization and another for bandwidth utilization. The task assignment selector retains the assignment that meets both constraints while minimizing overall bandwidth usage in the cloud environment. This approach ensures optimal resource allocation by systematically testing and comparing candidate task distributions, prioritizing solutions that balance computational load and network efficiency. The system dynamically adapts to varying workloads and constraints, improving performance in distributed video processing applications.
8. The apparatus of claim 7 , wherein the constraint evaluator is further to: define dummy tasks to represent generation of the respective video source data by the respective ones of the video sources; insert the dummy tasks at initial positions of the respective sequences of video analytics processing tasks associated with the respective ones of the video sources; and use the respective sequences of video analytics processing tasks updated to include the dummy tasks to evaluate the first and second matrix-based equations.
This invention relates to video analytics systems that process data from multiple video sources. The problem addressed is efficiently scheduling and optimizing video analytics tasks while accounting for the time required to generate video source data. The system includes a constraint evaluator that defines dummy tasks to represent the time needed for video sources to generate their respective data. These dummy tasks are inserted at the beginning of sequences of video analytics processing tasks associated with each video source. The updated sequences, now including the dummy tasks, are used to evaluate matrix-based equations that model the constraints and dependencies of the video analytics workflow. This approach ensures that the scheduling and optimization process accurately accounts for the initial data generation time, improving the overall efficiency and reliability of the video analytics pipeline. The system dynamically adjusts task scheduling based on these constraints, ensuring that processing tasks are aligned with the availability of video source data. This method enhances the performance of video analytics systems by providing a more accurate representation of the entire workflow, from data generation to processing.
9. A task assignment method for video analytics processing in a cloud computing environment, the method comprising: determining, by executing an instruction with a processor, a directed acyclic graph including nodes and edges to represent: (i) a plurality of video sources, (ii) a cloud computing platform, and (iii) a plurality of intermediate network devices in the cloud computing environment, the plurality of intermediate network devices to communicate data from the video sources to the cloud computing platform; specifying, by executing an instruction with the processor, task orderings of respective sequences of video analytics processing tasks to be executed in the cloud computing environment on respective video source data generated by respective ones of the video sources; and iteratively assigning, by executing an instruction with the processor and based on the directed acyclic graph and the task orderings, combinations of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks on the corresponding video source data generated by the respective ones of the video sources, the combinations of the video sources, the intermediate network devices and the cloud computing platform being assigned to satisfy the task orderings along respective data paths from the video sources to the cloud computing platform as represented in the directed acyclic graph.
This invention relates to optimizing task assignment for video analytics processing in cloud computing environments. The problem addressed is efficiently distributing video analytics tasks across distributed resources, including video sources, intermediate network devices, and cloud platforms, while ensuring proper task sequencing and data flow. The method constructs a directed acyclic graph (DAG) representing the cloud environment, where nodes denote video sources, intermediate network devices, and the cloud platform, and edges define data communication paths between them. The DAG models the hierarchical structure of the system, showing how video data flows from sources through intermediate devices to the cloud. The method also defines task orderings, specifying sequences of video analytics tasks that must be executed on data from each video source. These tasks may include operations like object detection, tracking, or classification, and their order must be preserved during processing. Using the DAG and task orderings, the method iteratively assigns combinations of video sources, intermediate devices, and cloud resources to execute the required task sequences. Assignments are made to ensure tasks are performed in the correct order along the data paths defined in the DAG, optimizing resource utilization while maintaining data processing integrity. The approach aims to balance workload distribution and minimize latency in video analytics applications.
10. The method of claim 9 , wherein: the nodes of the directed acyclic graph include a root node to represent the cloud computing platform, leaf nodes to represent the video sources, and intermediate nodes to represent the intermediate network devices; and the edges of the directed acyclic graph include a first set of edges representing available communication paths between the video sources and the intermediate network devices, and a second set of edges representing available communication paths between the intermediate network devices and the cloud computing platform in the cloud computing environment.
This invention relates to optimizing video data transmission in a cloud computing environment. The problem addressed is efficiently routing video streams from multiple sources to a cloud platform through intermediate network devices while ensuring reliable and low-latency communication paths. The solution involves constructing a directed acyclic graph (DAG) to model the network topology. The DAG includes a root node representing the cloud computing platform, leaf nodes representing video sources, and intermediate nodes representing network devices like routers or switches. The edges of the DAG represent available communication paths: a first set connects video sources to intermediate devices, and a second set connects intermediate devices to the cloud platform. This structure enables dynamic path selection based on network conditions, ensuring optimal routing of video data. The DAG-based approach allows for real-time adaptation to network changes, such as congestion or device failures, by evaluating alternative paths. The system can prioritize paths with higher bandwidth or lower latency, improving video streaming performance. The invention is particularly useful in large-scale cloud environments where multiple video sources must be efficiently aggregated and transmitted to a central platform for processing or storage.
11. The method of claim 10 , wherein, for each leaf node, the directed acyclic graph defines one respective uplink data path from that leaf node to the cloud computing platform.
This invention relates to data routing in distributed computing systems, specifically optimizing data paths from edge devices to a cloud computing platform. The problem addressed is inefficient or unreliable data transmission in distributed networks, where multiple edge devices (leaf nodes) must communicate with a centralized cloud platform. The solution involves a directed acyclic graph (DAG) structure that defines a unique uplink data path for each leaf node, ensuring deterministic and conflict-free routing. The DAG enforces a hierarchical topology where each leaf node has exactly one predefined path to the cloud, eliminating routing loops and ensuring data consistency. This method improves reliability and reduces latency by avoiding redundant or conflicting routes. The system may also include mechanisms for dynamic path adjustment based on network conditions, though the core innovation is the fixed, conflict-free path assignment for each leaf node. The approach is particularly useful in large-scale distributed systems where edge devices must reliably transmit data to a centralized cloud without routing ambiguities.
12. The method of claim 11 , wherein a first leaf node of the directed acyclic graph corresponds to a first video source, a first combination of nodes defines a first uplink data path from the first leaf node to the cloud computing platform, and the assigning includes assigning at least some of the first combination of nodes included in the first uplink data path to execute a first one of the sequences of video analytics processing tasks to preserve, along the first uplink data path, a first task ordering for the first one of the sequences of video analytics processing tasks.
This invention relates to video analytics processing in a distributed computing environment, specifically optimizing data paths in a directed acyclic graph (DAG) to preserve task ordering for efficient video analytics. The problem addressed is ensuring that video analytics tasks are executed in a predefined sequence while minimizing latency and resource usage across distributed nodes. The system uses a DAG structure where leaf nodes represent video sources, and combinations of nodes define uplink data paths to a cloud computing platform. Each path includes a sequence of video analytics processing tasks that must be executed in a specific order. The method assigns nodes along these paths to execute the tasks while maintaining the required task ordering. For example, a first leaf node corresponds to a first video source, and a first combination of nodes defines an uplink path from this source to the cloud. The method assigns at least some nodes in this path to execute a first sequence of video analytics tasks, ensuring the tasks are processed in the correct order along the path. This approach optimizes resource allocation and reduces processing delays by aligning task execution with the data flow direction. The solution is particularly useful in distributed video surveillance, real-time monitoring, and other applications requiring ordered analytics processing across multiple nodes.
13. The method of claim 12 , wherein tasks ordered later in the first task ordering for the first one of the sequences of video analytics processing tasks are associated with lower bandwidth utilization than tasks ordered earlier in the first task ordering for the first one of the sequences of video analytics processing tasks, and the assigning further includes: assigning a first one of the nodes in the first combination of nodes to execute a first task in the first one of the sequences of video analytics processing tasks, the first node at a first position of the first uplink data path; assigning a second one of the nodes in the first combination of nodes to execute a second task in the first one of the sequences of video analytics processing tasks, the second node at a second position of the first uplink data path subsequent to the first position; and assigning the second one of the nodes to execute each other task in the first one of the sequences of video analytics processing tasks ordered between the first task and the second task in the first task ordering.
In the field of video analytics processing, a method optimizes task distribution across a network to reduce bandwidth utilization. The method involves processing sequences of video analytics tasks, where tasks are ordered such that later tasks in the sequence require less bandwidth than earlier tasks. The method assigns tasks to nodes along an uplink data path, ensuring that nodes closer to the data source handle earlier, higher-bandwidth tasks, while nodes further along the path handle later, lower-bandwidth tasks. Specifically, a first node at an initial position in the uplink path executes the first task in the sequence, while a second node at a subsequent position executes the second task and all intermediate tasks between the first and second tasks. This approach minimizes data transmission across the network by processing high-bandwidth tasks closer to the source and progressively offloading lower-bandwidth tasks to downstream nodes. The method is particularly useful in distributed video analytics systems where bandwidth efficiency is critical, such as in surveillance networks or edge computing environments. By strategically assigning tasks based on their bandwidth requirements, the system reduces overall network congestion and improves processing efficiency.
14. The method of claim 10 , wherein the assigning is further based on a resource utilization constraint and a bandwidth utilization constraint, the resource utilization constraint to ensure available processing resources represented by the leaf nodes and the intermediate nodes of the directed acyclic graph are not exceeded, and the bandwidth utilization constraint to ensure available bandwidths represented by the first set of edges and the second set of edges of the directed acyclic graph are not exceeded.
This invention relates to optimizing resource allocation in a distributed computing system using a directed acyclic graph (DAG) to model computational tasks and their dependencies. The problem addressed is efficiently assigning tasks to processing nodes while ensuring system constraints are met, such as avoiding overutilization of processing resources and network bandwidth. The method involves constructing a DAG where nodes represent computational tasks and edges represent data dependencies between them. The DAG includes leaf nodes (terminal tasks) and intermediate nodes (dependent tasks), as well as two sets of edges: one representing data flow between tasks and another representing control flow. Task assignment is performed by mapping tasks to available processing nodes in the system, ensuring that the assignments respect both resource utilization and bandwidth constraints. The resource utilization constraint ensures that the processing capacity of the nodes (both leaf and intermediate) is not exceeded, preventing bottlenecks. The bandwidth utilization constraint ensures that the available network bandwidth between nodes is not exceeded, avoiding congestion. The assignment process dynamically adjusts task allocation to satisfy these constraints, optimizing system performance while maintaining task dependencies. This approach is particularly useful in large-scale distributed systems where efficient resource management is critical.
15. The method of claim 14 , wherein the assigning further includes: iteratively determining different candidate assignments of respective combination of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks associated with the video sources; and for a first one of the candidate assignments: evaluating a first matrix-based equation to determine whether the first one of the candidate assignments satisfies the resource utilization constraint; evaluating a second matrix-based equation to determine whether the first one of the candidate assignments satisfies the bandwidth utilization constraint; and retaining the first one of the candidate assignments when the first one of the candidate assignments utilizes a lower overall bandwidth in the cloud computing environment than a prior retained second one of the candidate assignments.
This invention relates to optimizing the distribution of video analytics tasks across a cloud computing environment. The problem addressed is efficiently assigning video analytics processing tasks from multiple video sources to a combination of intermediate network devices and a cloud computing platform while adhering to resource and bandwidth constraints. The solution involves iteratively evaluating different candidate assignments of video sources, intermediate network devices, and the cloud computing platform to execute sequences of video analytics tasks. For each candidate assignment, the system evaluates two matrix-based equations: one to check if the assignment meets resource utilization constraints and another to verify bandwidth utilization constraints. The system retains a candidate assignment only if it satisfies both constraints and uses lower overall bandwidth than previously retained assignments. This iterative process ensures optimal task distribution, balancing computational load and network efficiency in a cloud-based video analytics system. The approach dynamically adjusts task assignments to minimize bandwidth usage while meeting system constraints, improving performance in distributed video processing environments.
16. The method of claim 15 , wherein the assigning further includes: defining dummy tasks to represent generation of the respective video source data by the respective ones of the video sources; inserting the dummy tasks at initial positions of the respective sequences of video analytics processing tasks associated with the respective ones of the video sources; and using the respective sequences of video analytics processing tasks updated to include the dummy tasks to evaluate the first and second matrix-based equations.
This invention relates to video analytics processing systems, specifically optimizing task scheduling for real-time video analysis. The problem addressed is efficiently managing video data generation and processing tasks to ensure timely and accurate analytics results. The system involves multiple video sources generating video data, which is processed through a series of video analytics tasks. These tasks are organized into sequences, each associated with a specific video source. The method includes assigning dummy tasks to represent the generation of video source data at the beginning of each sequence of video analytics tasks. These dummy tasks are used to evaluate matrix-based equations that model the dependencies and timing constraints between tasks. The matrix-based equations help determine optimal scheduling of tasks to meet processing deadlines while accounting for the variability in video data generation rates. By incorporating dummy tasks, the system accurately models the initial data generation phase, ensuring that the scheduling algorithm considers the full workflow from data generation to final analytics output. This approach improves the reliability and efficiency of real-time video analytics systems by dynamically adjusting task priorities and execution times based on the modeled constraints.
17. A non-transitory computer readable medium comprising computer readable instructions which, when executed, cause a processor to at least: determine a directed acyclic graph including nodes and edges to represent: (i) a plurality of video sources, (ii) a cloud computing platform, and (iii) a plurality of intermediate network devices in a cloud computing environment, the plurality of intermediate network devices to communicate data from the video sources to the cloud computing platform; specify task orderings of respective sequences of video analytics processing tasks to be executed in the cloud computing environment on respective video source data generated by respective ones of the video sources; and iteratively assign, based on the directed acyclic graph and the task orderings, combinations of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks on the corresponding video source data generated by the respective ones of the video sources, the combinations of the video sources, the intermediate network devices and the cloud computing platform to be assigned to satisfy the task orderings along respective data paths from the video sources to the cloud computing platform as represented in the directed acyclic graph.
This invention relates to optimizing video analytics processing in cloud computing environments. The problem addressed is efficiently distributing video analytics tasks across distributed systems, including video sources, intermediate network devices, and cloud platforms, while ensuring proper task ordering and data flow. The system uses a directed acyclic graph (DAG) to model the cloud environment, where nodes represent video sources, intermediate network devices, and a cloud computing platform, while edges define data communication paths between them. The DAG enables visualization of data flow from video sources through intermediate devices to the cloud. The system specifies task orderings for sequences of video analytics processing tasks to be executed on video data from different sources. It then iteratively assigns combinations of video sources, intermediate devices, and cloud resources to execute these tasks, ensuring the assignments respect the task orderings along the data paths defined in the DAG. This approach optimizes resource utilization and task scheduling in distributed video analytics workflows.
18. The non-transitory computer readable medium of claim 17 , wherein: the nodes of the directed acyclic graph include a root node to represent the cloud computing platform, leaf nodes to represent the video sources, and intermediate nodes to represent the intermediate network devices; and the edges of the directed acyclic graph include a first set of edges representing available communication paths between the video sources and the intermediate network devices, and a second set of edges representing available communication paths between the intermediate network devices and the cloud computing platform in the cloud computing environment.
This invention relates to optimizing video data transmission in cloud computing environments using a directed acyclic graph (DAG) to model communication paths. The problem addressed is efficiently routing video data from multiple sources to a cloud computing platform while minimizing latency, bandwidth usage, and computational overhead. The solution involves constructing a DAG where nodes represent different components in the network, including a root node for the cloud platform, leaf nodes for video sources, and intermediate nodes for network devices. Edges in the DAG represent available communication paths: one set connects video sources to intermediate devices, and another connects intermediate devices to the cloud. This structure allows for dynamic path selection based on real-time network conditions, ensuring optimal video data delivery. The DAG model enables the system to evaluate multiple routing options, select the most efficient paths, and adapt to changes in network topology or performance. The approach improves scalability and reliability in video streaming applications by leveraging the DAG's inherent properties to avoid cycles and ensure deterministic path analysis. The invention is particularly useful in large-scale cloud environments where video data must be transmitted from diverse sources to centralized processing or storage systems.
19. The non-transitory computer readable medium of claim 18 , wherein for each leaf node, the directed acyclic graph defines one respective uplink data path from that leaf node to the cloud computing platform.
A system for managing data transmission in a distributed computing environment involves a directed acyclic graph (DAG) structure that organizes nodes into a hierarchical topology. The DAG includes leaf nodes, intermediate nodes, and a root node connected to a cloud computing platform. Each leaf node represents a data source or endpoint, while intermediate nodes act as relay points for data aggregation and routing. The DAG ensures efficient data flow by defining a single uplink data path from each leaf node to the cloud, preventing loops and ensuring deterministic routing. This structure optimizes data transmission by minimizing redundant paths and improving reliability. The system is particularly useful in large-scale distributed systems where data must be efficiently collected and transmitted to a central cloud platform. The DAG's acyclic nature guarantees that data follows a predefined, conflict-free route, enhancing performance and scalability. The invention addresses challenges in distributed data management, such as ensuring consistent and efficient data delivery in dynamic environments.
20. The non-transitory computer readable medium of claim 19 , wherein a first leaf node of the directed acyclic graph corresponds to a first video source, a first combination of nodes defines a first uplink data path from the first leaf node to the cloud computing platform, and the instructions, when executed, further cause the processor to assign at least some of the first combination of nodes included in the first uplink data path to execute a first one of the sequences of video analytics processing tasks to preserve, along the first uplink data path, a first task ordering for the first one of the sequences of video analytics processing tasks.
This invention relates to distributed video analytics processing in a cloud computing environment. The problem addressed is efficiently processing video data from multiple sources while maintaining task ordering and optimizing resource allocation in a directed acyclic graph (DAG) structure. The system uses a non-transitory computer-readable medium storing instructions for a processor to manage video analytics tasks across a DAG. The DAG includes leaf nodes representing video sources and intermediate nodes defining data paths to a cloud computing platform. A first leaf node corresponds to a first video source, and a specific combination of nodes forms an uplink data path from this source to the cloud. The instructions assign certain nodes along this path to execute a sequence of video analytics tasks, ensuring the tasks are processed in a predefined order along the uplink path. This preserves task sequencing while distributing processing across the network, improving efficiency and scalability. The approach allows dynamic allocation of tasks to nodes based on their position in the DAG, optimizing performance for real-time video analytics applications.
21. The non-transitory computer readable medium of claim 20 , wherein tasks ordered later in the first task ordering for the first one of the sequences of video analytics processing tasks are associated with lower bandwidth utilization than tasks ordered earlier in the first task ordering for the first one of the sequences of video analytics processing tasks, and the instructions, when executed, further cause the processor to: assign a first one of the nodes in the first combination of nodes to execute a first task in the first one of the sequences of video analytics processing tasks, the first node at a first position of the first uplink data path; assign a second one of the nodes in the first combination of nodes to execute a second task in the first one of the sequences of video analytics processing tasks, the second node at a second position of the first uplink data path subsequent to the first position; and assign the second one of the nodes to execute each other task in the first one of the sequences of video analytics processing tasks ordered between the first task and the second task in the first task ordering.
The invention relates to optimizing video analytics processing in distributed computing systems by managing task ordering and node assignment to reduce bandwidth utilization. The problem addressed is inefficient data transmission in video analytics pipelines, where tasks are processed across multiple nodes connected via uplink data paths. The solution involves ordering tasks in a sequence where later tasks consume less bandwidth than earlier ones, and strategically assigning these tasks to nodes along the uplink path. Specifically, a first task in the sequence is assigned to a node at an earlier position in the uplink path, while subsequent tasks, including those ordered between the first and second tasks, are assigned to a node at a later position. This approach minimizes redundant data transmission by leveraging intermediate processing results, reducing overall bandwidth usage. The system dynamically assigns tasks to nodes based on their position in the uplink path and the bandwidth requirements of each task, ensuring efficient resource utilization in distributed video analytics workflows.
22. The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed, further cause the processor to assign the combinations of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks based on a resource utilization constraint and a bandwidth utilization constraint, the resource utilization constraint to ensure available processing resources represented by the leaf nodes and the intermediate nodes of the directed acyclic graph are not exceeded, and the bandwidth utilization constraint to ensure available bandwidths represented by the first set of edges and the second set of edges of the directed acyclic graph are not exceeded.
This invention relates to distributed video analytics processing systems, specifically optimizing task allocation across video sources, intermediate network devices, and cloud computing platforms. The problem addressed is efficiently distributing video analytics tasks while respecting resource and bandwidth limitations to prevent overload and ensure smooth operation. The system uses a directed acyclic graph (DAG) to model the processing pipeline, where leaf nodes represent video sources, intermediate nodes represent network devices, and edges represent data flows. The DAG includes two sets of edges: one for video data transmission and another for analytics results. The invention assigns combinations of video sources, intermediate devices, and cloud platforms to execute sequences of video analytics tasks based on two constraints. The resource utilization constraint ensures that processing resources at both leaf and intermediate nodes are not exceeded, preventing overloading of any device. The bandwidth utilization constraint ensures that available bandwidths for both video data transmission and analytics result transmission are not exceeded, avoiding network congestion. This approach dynamically balances workload distribution to maintain system efficiency and performance.
23. The non-transitory computer readable medium of claim 22 , wherein the instructions, when executed, further cause the processor to: iteratively determine different candidate assignments of respective combination of the video sources, the intermediate network devices and the cloud computing platform to execute the respective sequences of video analytics processing tasks associated with the video sources; and for a first one of the candidate assignments: evaluate a first matrix-based equation to determine whether the first one of the candidate assignments satisfies the resource utilization constraint; evaluate a second matrix-based equation to determine whether the first one of the candidate assignments satisfies the bandwidth utilization constraint; and retain the first one of the candidate assignments when the first one of the candidate assignments utilizes a lower overall bandwidth in the cloud computing environment than a prior retained second one of the candidate assignments.
This invention relates to optimizing the distribution of video analytics tasks across a networked system comprising video sources, intermediate network devices, and a cloud computing platform. The problem addressed is efficiently allocating processing tasks to minimize resource and bandwidth utilization while meeting performance constraints. The system involves a non-transitory computer-readable medium storing instructions that, when executed, enable a processor to iteratively evaluate different candidate assignments of video analytics tasks to the available processing nodes. Each candidate assignment involves distributing sequences of video analytics tasks associated with multiple video sources across the video sources themselves, intermediate network devices, and the cloud computing platform. For each candidate assignment, the system evaluates two matrix-based equations. The first equation checks whether the assignment satisfies a resource utilization constraint, ensuring that no processing node is overloaded. The second equation verifies compliance with a bandwidth utilization constraint, preventing excessive data transfer within the network. If a candidate assignment meets both constraints and achieves lower overall bandwidth usage than previously retained assignments, it is retained as a potential optimal solution. This iterative process continues until an optimal or near-optimal task distribution is identified, balancing computational load and network efficiency.
24. The non-transitory computer readable medium of claim 23 , wherein the instructions, when executed, further cause the processor to: define dummy tasks to represent generation of the respective video source data by the respective ones of the video sources; insert the dummy tasks at initial positions of the respective sequences of video analytics processing tasks associated with the respective ones of the video sources; and use the respective sequences of video analytics processing tasks updated to include the dummy tasks to evaluate the first and second matrix-based equations.
This invention relates to video analytics processing systems, specifically optimizing task scheduling for real-time video analysis. The problem addressed is efficiently managing video data generation and processing tasks to ensure timely and accurate analytics results. The system involves a computer-readable medium storing instructions for a processor to handle video analytics tasks from multiple video sources. The instructions define dummy tasks that represent the generation of video source data, inserting these dummy tasks at the beginning of sequences of video analytics processing tasks for each video source. These updated sequences, now including the dummy tasks, are used to evaluate matrix-based equations that model the processing workflow. The dummy tasks help account for the time required to generate video data, ensuring accurate scheduling and resource allocation. The system dynamically adjusts task sequences to reflect real-world delays in data generation, improving the reliability of the analytics pipeline. This approach enhances the synchronization between video data generation and processing, reducing latency and improving overall system performance. The invention is particularly useful in applications requiring real-time video analysis, such as surveillance, autonomous systems, and industrial monitoring.
Unknown
February 18, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.