Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of load balancing one or more instances of an application supporting one or more conferences, the method comprising: instantiating a first load balancing module using a processing unit; instantiating one or more instances of a first application using the processing unit responsive to a request from the first load balancing module, the one or more instances supporting one or more conferences; receiving, at the processing unit, a request to establish a connection with a first endpoint; selecting, using the first load balancing module, a first instance from the one or more instances of the first application to process data of the first endpoint; storing, using the first load balancing module, a first identifier associating the first endpoint with the first instance in a data structure; receiving, first data from the first endpoint; and transferring the first data to the first instance independently of the first load balancing module based on the first identifier stored by the data structure.
This invention relates to load balancing for applications supporting conferences, such as video or audio conferencing. The problem addressed is efficiently distributing incoming connection requests across multiple application instances to optimize resource utilization and performance. The solution involves a load balancing module that dynamically manages application instances and routes endpoint connections to them. The method begins by instantiating a load balancing module and one or more instances of an application capable of supporting conferences. When a request to establish a connection with an endpoint is received, the load balancing module selects an appropriate application instance to handle the endpoint's data. The module then stores an identifier associating the endpoint with the selected instance in a data structure. Subsequent data from the endpoint is transferred directly to the assigned instance without further intervention from the load balancing module, reducing overhead and improving efficiency. This approach ensures that connections are distributed evenly across available instances, preventing overloading of any single instance while maintaining low-latency data transfer. The system dynamically scales by adding or removing application instances as needed, adapting to varying loads.
2. The method of claim 1 , further comprising increasing a first value of a connection counter associated with the first instance to a second value based on selecting the first instance to process data of the first endpoint.
A system and method for managing data processing in a distributed computing environment involves selecting an instance from a pool of available instances to process data from a network endpoint. The selection is based on load balancing criteria to ensure efficient resource utilization. The method includes tracking the number of active connections each instance handles using a connection counter. When an instance is selected to process data from a specific endpoint, the connection counter for that instance is incremented. This adjustment reflects the increased workload on the selected instance, allowing the system to dynamically balance the distribution of processing tasks across the available instances. The connection counter helps monitor and manage the load on each instance, preventing overloading and ensuring optimal performance. The method ensures that data processing tasks are distributed fairly and efficiently, improving overall system reliability and responsiveness.
3. The method of claim 2 , wherein the first instance is selected using the first load balancing module to process data of the first endpoint based on the first value of the connection counter.
A system and method for load balancing network connections involves distributing incoming data traffic across multiple processing instances to optimize resource utilization and performance. The system includes a load balancing module that monitors and manages connection counters for each endpoint, which track the number of active connections associated with that endpoint. The load balancing module uses these connection counters to determine which processing instance should handle incoming data from a particular endpoint. When a new connection is established, the load balancing module selects a processing instance based on the current value of the connection counter for the endpoint, ensuring that connections from the same endpoint are consistently routed to the same instance. This approach improves efficiency by reducing the need for inter-instance communication and maintaining session consistency. The system may also include additional modules for dynamic adjustment of load balancing policies based on real-time traffic conditions, further enhancing performance and reliability. The method ensures that data from a given endpoint is processed by the same instance, minimizing disruptions and improving overall system stability.
4. The method of claim 1 , wherein the first identifier corresponds to a socket number.
A system and method for managing network communications involves assigning identifiers to network sockets to facilitate routing and processing of data packets. The method includes generating a first identifier for a first socket, where the first identifier corresponds to a socket number, and a second identifier for a second socket. The identifiers are used to route data packets between the sockets, ensuring proper handling of incoming and outgoing traffic. The system may also include a mapping mechanism to associate the identifiers with specific sockets, allowing for efficient lookup and processing. The method further involves validating the identifiers to ensure they are correctly formatted and correspond to valid sockets, preventing errors in data transmission. The system may be implemented in a network device, such as a router or switch, to optimize packet routing and improve network performance. The identifiers may be dynamically assigned or preconfigured, depending on the network's requirements. The method ensures reliable and efficient communication between network endpoints by accurately mapping identifiers to their corresponding sockets.
5. The method of claim 1 , wherein the first identifier corresponds to a call identifier.
A system and method for managing communication sessions involves generating and associating unique identifiers with different aspects of the communication process. The method includes assigning a first identifier to a call, where this identifier corresponds to a call identifier, which uniquely distinguishes the call from others. The system also assigns a second identifier to a participant in the call, ensuring that each participant is uniquely tracked within the communication session. Additionally, the method involves associating a third identifier with a communication channel used during the call, allowing for distinct tracking of different communication paths or mediums involved in the session. The system further includes a step of storing these identifiers in a database, enabling efficient retrieval and management of call-related data. The method also involves processing the stored identifiers to analyze call metrics, such as participant engagement, call duration, or channel performance, to optimize communication workflows. This approach enhances call tracking, participant identification, and channel management, improving the overall efficiency and reliability of communication systems.
6. The method of claim 1 , further comprising: receiving, at the processing unit, a second request to establish a connection with a second endpoint; selecting, using the first load balancing module, a second instance from the one or more instances of the first application to process data of the second endpoint; storing, using the first load balancing module, a second identifier associating the second endpoint with the second instance in the data structure; receiving, second data from the second endpoint; and transferring the second data to the second instance independently of the first load balancing module based on the second identifier stored in the data structure, wherein the first data and the second data are received via a single internet protocol port.
This invention relates to load balancing in distributed computing systems, specifically for managing connections between endpoints and application instances. The problem addressed is efficiently routing data from multiple endpoints to appropriate application instances while maintaining session persistence and minimizing resource overhead. The system includes a processing unit that receives connection requests from endpoints and a load balancing module that selects application instances to handle the requests. When a first endpoint sends data, the load balancing module selects an instance, stores an identifier associating the endpoint with the instance in a data structure, and routes the data to that instance. Subsequent data from the same endpoint bypasses the load balancing module, using the stored identifier to directly transfer data to the assigned instance. The system extends this process to additional endpoints, where a second request triggers the selection of a second instance, storage of a second identifier, and direct data transfer to that instance. All data is received through a single internet protocol port, simplifying network configuration. The approach reduces load balancing overhead by avoiding repeated routing decisions for persistent connections while ensuring data is correctly directed to the appropriate instances. This method is particularly useful in high-traffic environments where efficient resource utilization and low-latency routing are critical.
7. The method of claim 1 , further comprising: instantiating a second load balancing module on the processing unit; instantiating one or more instances of a second application on the processing unit responsive to a request from the second load balancing module, the one or more instances supporting one or more conferences; receiving, at the processing unit, a second request to establish a connection with a second endpoint; selecting a second instance from one or more instances of a second application to process data of the second endpoint; storing, using a second load balancing module, a second identifier associating the second endpoint with the second instance in a second data structure; receiving, a second data from the second endpoint; and transferring the second data to the second instance independently of the second load balancing module based on the second identifier, wherein the first data is received via a first internet protocol port and the second data is received via a second internet protocol port.
This invention relates to load balancing and data routing in a distributed computing environment, specifically for managing multiple application instances and endpoints in a conferencing system. The problem addressed is efficiently distributing and routing data from multiple endpoints to appropriate application instances while minimizing latency and ensuring scalability. The system includes a processing unit that instantiates multiple load balancing modules and application instances. Each load balancing module manages a set of application instances, which support conferencing functionalities. When a request is received to establish a connection with an endpoint, the system selects an appropriate application instance to handle the endpoint's data. The load balancing module stores an identifier associating the endpoint with the selected instance in a data structure. Data from the endpoint is then routed directly to the assigned instance without further intervention from the load balancing module, improving efficiency. The system uses separate internet protocol ports for different data streams to ensure proper routing. This approach allows dynamic scaling of application instances and efficient data distribution, reducing overhead and improving performance in conferencing applications. The use of distinct ports ensures that data streams are correctly directed to their respective instances, enhancing reliability.
8. A non-transitory computer-readable storage device storing instructions, the instructions executable by one or more processors to: instantiate a first load balancing module; instantiate one or more instances of a first application responsive to a request from the first load balancing module, the one or more instances supporting one or more conferences; receive a request to establish a connection with a first endpoint; select, using the first load balancing module, a first instance from the one or more instances of the first application to process data of the first endpoint; store, by the first load balancing module, a first identifier associating the first endpoint with the first instance in a data structure; receive, first data from the first endpoint; and transfer the first data to the first instance independently of the first load balancing module based on the first identifier stored by the data structure.
This invention relates to a system for managing and load-balancing real-time communication applications, such as conferencing services. The problem addressed is efficiently distributing incoming connection requests across multiple application instances while ensuring data routing is optimized for performance and scalability. The system includes a load balancing module that dynamically instantiates one or more instances of a conferencing application. When a request to establish a connection with an endpoint (e.g., a user device) is received, the load balancing module selects an appropriate application instance to handle the endpoint's data. The selection is based on factors such as current load, availability, or other performance metrics. The system then stores an identifier in a data structure, linking the endpoint to its assigned application instance. Subsequent data from the endpoint is routed directly to the assigned instance without further intervention from the load balancing module, reducing latency and overhead. This approach ensures efficient data transfer while maintaining session persistence, as the endpoint remains associated with the same application instance throughout the connection. The system supports multiple conferences, allowing concurrent handling of various communication sessions with optimized resource utilization.
9. The non-transitory computer-readable storage device of claim 8 , wherein the instructions are further executable by the one or more processors to increase a first value of a connection counter associated with the first instance to a second value based on selecting the first instance to process data of the first endpoint.
This invention relates to a system for managing data processing in a distributed computing environment, specifically addressing the challenge of efficiently tracking and utilizing computing resources across multiple instances. The system includes a non-transitory computer-readable storage device containing instructions that, when executed by one or more processors, perform operations to select a computing instance from a pool of available instances to process data from a network endpoint. The selection process involves evaluating the current state of each instance, including resource availability and workload distribution, to optimize performance and resource utilization. Once an instance is selected, a connection counter associated with that instance is incremented to reflect the new processing task. This counter tracks the number of active connections or tasks assigned to the instance, ensuring that workloads are balanced and no single instance becomes overloaded. The system dynamically adjusts the counter value based on the selection of the instance, allowing for real-time monitoring and management of computational resources. This approach improves efficiency by preventing resource exhaustion and ensuring that data processing tasks are distributed evenly across available instances. The invention is particularly useful in cloud computing environments where multiple instances must handle varying workloads from different endpoints.
10. The non-transitory computer-readable storage device of claim 9 , wherein the first instance is selected using the first load balancing module to process data of the first endpoint based on the first value of the connection counter.
A system for load balancing network connections involves a non-transitory computer-readable storage device containing instructions that, when executed, perform load balancing operations. The system includes multiple load balancing modules, each associated with a different endpoint and configured to manage data processing based on connection counters. Each endpoint maintains a connection counter that tracks the number of active connections. The load balancing modules use these counters to distribute incoming data across available processing instances. When a new connection is established, the system selects an instance for processing data from a first endpoint based on the current value of the connection counter associated with that endpoint. This ensures that data processing is distributed evenly, preventing overload on any single instance. The system dynamically adjusts processing assignments as connection counts change, optimizing resource utilization and maintaining balanced performance across the network. The load balancing modules operate independently for each endpoint, allowing for scalable and efficient distribution of network traffic. This approach improves system reliability and responsiveness by dynamically adapting to varying connection loads.
11. The non-transitory computer-readable storage device of claim 8 , wherein the first identifier corresponds to a socket number.
A system and method for managing network communications involves a non-transitory computer-readable storage device storing instructions that, when executed, perform operations to assign and track identifiers for network sockets. The system includes a processor that generates a first identifier corresponding to a socket number, which uniquely identifies a network socket within a computing environment. The socket number is used to establish and manage connections between computing devices over a network, ensuring proper routing and data transmission. The system also tracks the status of the socket, such as whether it is active, closed, or in an error state, to optimize network performance and resource allocation. Additionally, the system may generate a second identifier associated with a network interface, allowing for further granularity in tracking and managing network communications. The identifiers are stored in a data structure, such as a table or database, for quick retrieval and processing. This approach improves network efficiency by reducing latency and ensuring accurate communication between devices. The system is particularly useful in high-traffic environments where multiple connections must be managed simultaneously.
12. The non-transitory computer-readable storage device of claim 8 , wherein the first identifier corresponds to a call identifier.
A system and method for managing call-related data in a telecommunications network involves storing and processing call identifiers to facilitate call tracking, routing, and analysis. The system includes a non-transitory computer-readable storage device that stores instructions for executing call processing operations. A first identifier, corresponding to a call identifier, is used to uniquely identify and track individual calls within the network. This identifier may be generated or assigned during call initiation and is used to associate call metadata, such as timestamps, participant information, and routing details. The system may also include additional identifiers for related data, such as participant identifiers or network node identifiers, to enhance call management and analytics. The stored instructions enable the system to process calls by retrieving, updating, and correlating call-related data based on the first identifier, ensuring accurate call tracking and efficient network operations. The system may further support call routing decisions, fraud detection, and performance monitoring by leveraging the stored call identifiers and associated metadata. This approach improves call management efficiency and reliability in telecommunications networks.
13. The non-transitory computer-readable storage device of claim 8 , wherein the instructions are further executable by the one or more processors to: receive a second request to establish a connection with a second endpoint; select, using the first load balancing module, a second instance from the one or more instances of the first application to process data of the second endpoint; store, using the first load balancing module, a second identifier associating the second endpoint with the second instance in the data structure; receive, second data from the second endpoint; and transfer the second data to the second instance independently of the first load balancing module based on the second identifier stored in the data structure, wherein the first data and the second data are received via a single internet protocol port.
This invention relates to a load balancing system for managing connections between endpoints and application instances over a single internet protocol port. The problem addressed is efficiently routing data from multiple endpoints to specific application instances while maintaining session persistence and minimizing resource overhead. The system includes a non-transitory computer-readable storage device containing instructions for a load balancing module. The module receives a request to establish a connection with an endpoint and selects an application instance to process the endpoint's data. The selection is based on load balancing criteria such as current workload or availability. The module then stores an identifier associating the endpoint with the selected instance in a data structure. Subsequent data from the endpoint is transferred directly to the assigned instance using this identifier, bypassing the load balancing module for faster processing. The same process applies to additional endpoints, each receiving a unique identifier and being routed to a different instance if needed. All data is received through a single internet protocol port, simplifying network configuration and reducing port usage. The system ensures persistent connections while dynamically distributing workloads across multiple application instances.
14. The non-transitory computer-readable storage device of claim 8 , wherein the instructions are further executable by the one or more processors to: instantiate a second load balancing module; instantiate one or more instances of a second application responsive to a request from the second load balancing module, the one or more instances supporting one or more conferences; receive a second request to establish a connection with a second endpoint; select a second instance from one or more instances of a second application to process data of the second endpoint; store, using a second load balancing module, a second identifier associating the second endpoint with the second instance in a second data structure; receive, second data from the second endpoint; and transfer the second data to the second instance independently of the second load balancing module based on the second identifier stored in the second data structure, wherein the first data is received via a first internet protocol port and the second data is received via a second internet protocol port.
This invention relates to a system for managing multiple application instances and load balancing in a conferencing environment. The problem addressed is efficiently routing data from multiple endpoints to the correct application instances while minimizing reliance on a central load balancer to reduce latency and improve scalability. The system includes a non-transitory computer-readable storage device containing instructions for one or more processors. The instructions enable the instantiation of a second load balancing module and one or more instances of a second application, which supports one or more conferences. When a request is received to establish a connection with a second endpoint, the system selects a second instance from the available instances of the second application to process the endpoint's data. The system then stores an identifier associating the second endpoint with the selected instance in a data structure. Data from the second endpoint is received via a second internet protocol (IP) port and transferred directly to the selected instance, bypassing the second load balancing module, using the stored identifier. This direct transfer improves efficiency by reducing the overhead of routing through the load balancer. The first and second data streams are received via different IP ports, allowing for parallel processing of multiple endpoints. The system ensures that data is routed to the correct application instance without requiring repeated load balancing decisions, enhancing performance and scalability.
15. An apparatus comprising: one or more processors; and a memory storing instructions executable by the one or more processors to: instantiate a first load balancing module; instantiate one or more instances of a first application responsive to a request from the first load balancing module, the one or more instances supporting one or more conferences; receive a request to establish a connection with a first endpoint; select, using the first load balancing module, a first instance from the one or more instances of the first application to process data of the first endpoint; store, using the first load balancing module, a first identifier associating the first endpoint with the first instance in a data structure; receive, first data from the first endpoint; and transfer the first data to the first instance independently of the first load balancing module based on the first identifier stored by the data structure.
This invention relates to a system for managing and load balancing conference applications, such as video or audio conferencing services. The problem addressed is efficiently distributing and routing endpoint connections to application instances while minimizing the overhead of load balancing modules. The apparatus includes one or more processors and memory storing instructions to instantiate a load balancing module and multiple instances of a conference application. The load balancing module receives a request to establish a connection with an endpoint and selects an appropriate application instance to handle the endpoint's data. The module stores an identifier associating the endpoint with the selected instance in a data structure. Subsequent data from the endpoint is transferred directly to the assigned instance without involving the load balancing module, reducing processing overhead. This approach ensures efficient routing of endpoint data while maintaining scalability and performance in conference management systems. The system dynamically manages connections, allowing seamless handling of multiple conferences across different application instances.
16. The apparatus of claim 15 , wherein the instructions are further executable by the one or more processors to increase a first value of a connection counter associated with the first instance to a second value based on selecting the first instance to process data of the first endpoint.
This invention relates to a system for managing data processing in a distributed computing environment, particularly for optimizing resource allocation and load balancing across multiple processing instances. The problem addressed is inefficient resource utilization and potential bottlenecks when distributing workloads among processing instances, which can lead to performance degradation or system failures. The apparatus includes one or more processors and memory storing instructions executable by the processors. The system monitors and manages connections between endpoints and processing instances, tracking the workload distribution to ensure balanced processing. A connection counter is associated with each processing instance to quantify its current load. When a first instance is selected to process data from a first endpoint, the connection counter for that instance is incremented to reflect the additional workload. This adjustment helps maintain real-time awareness of each instance's capacity, enabling dynamic load balancing and preventing overloading of any single instance. The system may also include mechanisms to redistribute workloads if an instance's connection counter exceeds a predefined threshold, ensuring system stability and optimal performance. The invention improves efficiency in distributed computing environments by dynamically adjusting resource allocation based on real-time workload metrics.
17. The apparatus of claim 16 , wherein the first instance is selected using the first load balancing module to process data of the first endpoint based on the first value of the connection counter.
This invention relates to a load balancing system for distributing data processing tasks among multiple instances in a networked environment. The system addresses the challenge of efficiently managing connections and workload distribution to optimize performance and resource utilization. The apparatus includes a load balancing module that monitors and adjusts data processing based on connection counters associated with different endpoints. The first load balancing module selects a processing instance for a first endpoint by evaluating the current value of a connection counter linked to that endpoint. This selection ensures that the workload is distributed in a manner that prevents overloading any single instance while maintaining balanced resource usage. The system dynamically adjusts processing assignments based on real-time connection metrics, improving overall system efficiency and reliability. The apparatus may also include additional modules for managing connections, tracking performance metrics, and optimizing data routing to further enhance load balancing capabilities. The invention is particularly useful in high-traffic network environments where efficient resource allocation is critical.
18. The apparatus of claim 15 , wherein the first identifier corresponds to a socket number.
This invention relates to a system for managing and identifying network connections, particularly in high-performance computing or distributed systems. The problem addressed is the need for efficient and accurate tracking of network connections, especially in environments where multiple connections must be managed simultaneously. The apparatus includes a connection management module that assigns unique identifiers to network connections. These identifiers are used to track and manage the connections, ensuring proper routing and data handling. The apparatus further includes a mapping module that associates these identifiers with specific hardware or software components, such as sockets, to facilitate communication between different nodes in a network. In this specific embodiment, the first identifier corresponds to a socket number, which is a unique value assigned to a network socket. This allows the system to distinguish between different sockets and manage connections more effectively. The socket number may be used to route data packets, monitor connection status, or enforce security policies. The apparatus may also include additional modules for error handling, load balancing, or connection termination, ensuring reliable and efficient network communication. The invention is particularly useful in high-traffic environments where multiple connections must be managed simultaneously, such as in cloud computing, data centers, or distributed databases. By using unique identifiers like socket numbers, the system ensures that connections are properly tracked and managed, reducing the risk of errors or conflicts.
19. The apparatus of claim 15 , wherein the first identifier corresponds to a call identifier.
A system for managing communication sessions in a network environment addresses the challenge of efficiently tracking and routing calls or data exchanges between devices. The apparatus includes a processing unit configured to generate and assign unique identifiers to communication sessions, where these identifiers are used to distinguish between different sessions and ensure proper routing and management. Specifically, the apparatus includes a memory storing a first identifier that corresponds to a call identifier, which uniquely identifies a particular call or communication session within the network. The system also includes a network interface for transmitting and receiving data associated with the communication session, ensuring seamless and accurate routing of information. Additionally, the apparatus may include a display unit for presenting session-related information to a user, such as call status or participant details. The processing unit further processes the first identifier to facilitate session management tasks, such as call forwarding, session termination, or data logging. The system may also include a second identifier for additional session attributes, such as participant information or session priority, enhancing the granularity of session tracking. The apparatus ensures reliable communication by dynamically updating identifiers and session data in response to network conditions or user inputs, optimizing performance and user experience.
20. The apparatus of claim 15 , wherein the instructions are further executable by the one or more processors to: receive a second request to establish a connection with a second endpoint; select, using the first load balancing module, a second instance from the one or more instances of the first application to process data of the second endpoint; store, using the first load balancing module, a second identifier associating the second endpoint with the second instance in the data structure; receive, second data from the second endpoint; and transfer the second data to the second instance independently of the first load balancing module based on the second identifier stored in the data structure, wherein the first data and the second data are received via a single internet protocol port.
This invention relates to a load balancing system for managing connections between endpoints and application instances over a single internet protocol port. The problem addressed is efficiently routing data from multiple endpoints to specific application instances while maintaining session persistence and minimizing overhead. The system includes a load balancer with a first load balancing module that selects an instance of an application to process data from an endpoint. The load balancer stores an identifier associating the endpoint with the selected instance in a data structure. Subsequent data from the same endpoint is transferred directly to the associated instance without further intervention from the load balancing module, ensuring session persistence. The system also handles multiple endpoints by repeating this process for each new connection, selecting a different instance for each endpoint and storing the corresponding identifier. Data from all endpoints is received via a single internet protocol port, simplifying network configuration and reducing resource usage. The load balancing module dynamically manages instance selection based on factors such as current load or availability, ensuring efficient resource utilization. This approach improves scalability and reliability in distributed application environments by maintaining persistent connections while minimizing the overhead of repeated load balancing decisions.
Unknown
March 31, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.