System and method for managing data across distributed systems
The system addresses inefficiencies in managing distributed systems by automating data management across multiple databases, ensuring data consistency and reducing human error through simultaneous operation execution, thus enhancing system stability and compliance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BHATTARAM ABHILASH KUMAR
- Filing Date
- 2025-05-03
- Publication Date
- 2026-07-23
AI Technical Summary
Managing distributed systems, particularly cloud-based systems, is challenging due to vendor-specific interfaces and the need for manual configuration and update processes, leading to inefficiencies, increased risk of human error, and potential security vulnerabilities.
A computer-implemented system and method for managing data across distributed systems that includes receiving trigger instructions, analyzing dependencies and conflicts, generating operations with configuration parameters and update commands, and executing these operations simultaneously using a synchronization mechanism to ensure data consistency and reduce latency.
This approach reduces operational inefficiencies, minimizes human error, ensures data consistency, and enhances system stability by automating patching and provisioning processes across multiple databases, thereby improving scalability and compliance.
Smart Images

Figure IN2025050712_23072026_PF_FP_ABST
Abstract
Description
TITLE OF INVENTION:SYSTEM AND METHOD FOR MANAGING DATA ACROSS DISTRIBUTED SYSTEMSTECHNICAL FIELD
[0001] The present disclosure relates to the management of data and, more particularly, computer-implemented systems and methods for managing data across distributed systems.BACKGROUND
[0002] Distributed systems are a networked collection of autonomous computers that collaborate to achieve a unified objective. These systems are crafted to allocate tasks and resources among various nodes, enhancing performance, reliability, and scalability. In distributed systems, administrators manage the infrastructure, ensuring optimal performance, scalability, and fault tolerance. They configure data structures to store and process information efficiently across multiple nodes. End users interact with these systems seamlessly, accessing distributed resources as if they were centralized. Data systems, such as databases and file systems, underpin these interactions, providing reliable data access and storage. Together, these components create a cohesive environment where distributed systems deliver robust, scalable services to end users.
[0003] The data system generally consists of the database, and the database resources. The database holds structured data and manages transactions, while the database resources include infrastructure and tools supporting the database. The database covers data, metadata, and the database engine. The database resources include computing, storage, networking, operating system, and security. Database resources include various resources used to manage and maintain databases. Physical resources such as servers and storage devices host and store database files, providing the foundational infrastructure. Software resources include tools like MySQL (My Structured Query Language), Oracle Database (ODB), PostgreSQL, server database, and any other type of relational or non-relational databases, for managing the database, and ensuring efficient data handling and storage. Operational resources involve scripts and logs that assist in maintaining the database, while security resources, such as encryption, are critical for protecting data from unauthorized access. In addition, cloud resources for databases include virtual machines, storage, and networking services that host and support database operations. The cloud resources include database instances like Amazon WebServices Relational Database Service (AWS® RDS) and Google Cloud SQL™, Oracle Cloud Infrastructure Database Systems (OCI DB Systems), Oracle Cloud Infrastructure Exadata Cloud Service (OCI ExaCS), Oracle Cloud Infrastructure Exadata Database Service(OCI ExaDB), Google Oracle Databases, Azure Oracle, Oracle Database on Amazon Web Services (Oracle@AWS), Oracle© Azure, Oracle @ Google which offer scalable, managed environments. These resources also provide integration tools for seamless data pipelines and scaling features that adjust resource allocation based on demand.
[0004] The use of distributed systems such as cloud-based systems is becoming increasingly popular due to their significant advantages, such as simplified management for administrators and enhanced performance for end users (i.e. user, customers). However, the variety of vendor-specific interfaces for setting up and managing these services presents challenges for administrators and outsourced service providers. These challenges are amplified as more organizations migrate to the cloud, relying on different cloud vendors that require specialized knowledge and expertise. Managing a large number of databases or services across multiple platforms can be time-consuming and resource-intensive. Further, many patching initiatives are non-starters in enterprises due to these limitations. The failure to patch databases has resulted in non-compliance from an auditing perspective.
[0005] Cloud platforms, such as Oracle Cloud Infrastructure (OCI), offer a wide array of internal resources, including data systems, Exadata Cloud Servers, and compute instances for hosting cloud products. While these cloud resources provide robust capabilities for hosting and managing applications, they come with their own set of challenges. Customers who use these cloud services are often required to interact manually with built-in web consoles (e.g., Oracle Cloud Infrastructure Web Console) and cloud infrastructure Command Line Interfaces (CLI) to configure and update the data structures corresponding to each data systems. The configuration and update are applied to the data systems to perform operations like patching and provisioning. These manual processes can be inefficient and burdensome, especially when dealing with large-scale infrastructure.
[0006] When the cloud platforms need to be provisioned or patched at scale, a significant amount of manual labor is required from cloud engineers to configure the data structure. The complexity of handling a large number of resources without automation results in more timeconsuming procedures and increases the risk of human error. Manual provisioning and patching not only take longer to execute but also create opportunities for mistakes that can affect the stability andsecurity of cloud environments. This highlights the need for more automated solutions to manage data structure efficiently, ensuring consistency, speed, and reduced operational overhead.SUMMARY
[0007] To solve the foregoing problem and to provide other advantages, one aspect of the present disclosure is to provide computer-implemented systems and methods for managing data across distributed systems.
[0008] In another embodiment, a computer-implemented method for managing data across distributed systems is disclosed. The method includes receiving at least one trigger instruction from a remote electronic device. The trigger instruction includes modification details for updating data in each data structure associated with a respective data system of data systems. The method further includes analyzing the received modification details to identify dependencies and conflicts across the data systems. The analysis ensures data consistency across the data structures. The method further includes generating a set of operations based on the analyzed modification details. The set of operations includes configuration parameters and update commands specific to each data structure. The method further includes triggering execution of the generated set of operations on each data system at a pre-determined start time. The execution utilizes a synchronization mechanism to ensure consistent application of updates across the data systems. By performing an analysis of modification details from the end user, the present invention provides data consistency and conflict resolution. The inclusion of dependency and conflict analysis ensures the technical problem of maintaining data consistency across distributed systems is addressed. Further, the use of the synchronization mechanism to trigger updates provides a concrete technical solution over the prior art system. Triggering the set of operations at the pre-determined start time and performing the set of operations using the synchronization mechanism, the system that reduces latency and operational inefficiency in managing distributed data systems.
[0009] In an aspect, the configuration parameters include parameters related to the preparation of each data structure associated with each data system for performing the set of operations and parameters related to the performance of at least one preliminary check in each data system. The configuration parameters can be used for preparing each data structure for the at least one preliminary check. The preliminary check in the set of operations (e.g. patching) helps to identify critical updates and potential system vulnerabilities before applying changes. This proactive approach minimizes risksand ensures system stability and compliance. Further, configuring the data structure before applying the set of operations (e.g. patching) ensures compatibility and smooth integration with the updates. It also minimizes the risk of data corruption and performance issues during the set of operations (e.g. patching).
[0010] In an aspect, the method further includes generating at least one preliminary check log based on the execution of the at least one preliminary check.The preliminary check log provides valuable insights into system health and identifies potential issues before the set of operations (e.g. patching). It helps ensure that necessary prerequisites are met, reducing the risk of failures during the the set of operations (e.g. patching).
[0011] In an aspect, the method further includes updating the configuration parameters based on the execution of the at least one preliminary check. Updating the configuration of each data structure after a preliminary check ensures compatibility with new patches and optimizes performance. It helps address any discrepancies, preventing issues and ensuring a smoother patch deployment process.
[0012] In an aspect, the preparation of each data structure associated with each data system includes updating the data structure based on the configuration parameter. Updating each data structure with configuration parameters enhances system performance by aligning it with current requirements (from the end user or customer). It ensures the database is optimized for the latest updates, improving efficiency and stability post-operation (i.e., post-patching).
[0013] In yet another aspect, the preparation of each data structure associated with each data system includes setting up a new data structure based on the configuration parameters. Creating a new data structure with configuration parameters allows for better customization and optimization according to specific system needs. It ensures improved scalability and performance, especially when adapting to future updates or requirements.
[0014] In an aspect, triggering execution of the generated set of operations on each data system includes generating at least one update to be applied to each data system based on the corresponding update commands specific to each data structure. The method further includes simultaneously triggering the update in each data system at the pre-determined start time. Generatingand applying update commands simultaneously in the data structure streamlines the patching process, ensuring consistent and real-time updates. This approach reduces downtime and minimizes the risk of errors during the implementation of changes.
[0015] In an aspect, the method further includes generating at least one update log based on the execution of the update in each data system. The update log after patching provides a detailed record of all changes applied, ensuring traceability and compliance. It helps quickly identify and resolve any issues that may arise post-patching, enhancing system reliability.
[0016] In an aspect, the execution of the set of operations for all the data systems in the plurality of data systems is completed at an end time. The end time corresponds to the maximum time duration required to update any data system within the plurality of data systems. The total time taken for patching all the data systems will depend on the maximum time taken by any of the data systems. This approach reduces downtime of the overall patching process. In an aspect, a system for managing data across distributed systems is disclosed. The system includes an electronic system. The electronic system includes a memory including stored instructions, and at least one processor configured to execute the stored instructions in the memory. The execution of the stored instruction causes the electronic system to receive at least one trigger instruction from a remote electronic device. The trigger instruction includes modification details for updating data in each data structure associated with a respective data system of a plurality of data systems. The execution of the stored instruction further causes the electronic system to analyze the received modification details to identify dependencies and conflicts across the plurality of data systems, wherein the analysis ensures data consistency across the data structures. The execution of the stored instruction further causes the electronic system to generate a set of operations based on the analyzed modification details, the set of operations comprising configuration parameters, and update commands specific to each data structure. The execution of the stored instruction further causes the electronic system to trigger the execution of the generated set of operations on each data system at a pre-determined start time. The execution utilizes a synchronization mechanism to ensure consistent application of updates across the plurality of data systems.
[0017] An aspect of the present disclosure is to provide automation in the management of the database resources. Each database in each data system includes both the database and its corresponding database resources. Management process includes patching and provisioning of the database resources (e.g., Cloud resources). For example, the present invention provides automatic patching and provisioning of a plurality of databases at once. This allows the users of the plurality ofdatabases to handle several patches and provisions at once in a single downtime window.
[0018] An aspect of the present disclosure is to provide flexibility in the management of the database resources. The present invention eases the flexibility of patching each resource at different patch levels at the single downtime window.
[0019] An aspect of the present disclosure is to eliminate human error during the management of the databases (i.e., during patching and provisioning). The automation eliminates human errors as long as the parameters in the framework are perfectly set up.
[0020] An aspect of the present disclosure is to eliminate a need for huge amounts of manual labour from database engineers for the plurality of database resources that need to be provisioned or patched.BRIEF DESCRIPTION OF THE FIGURES
[0021] The following detailed description of illustrative embodiments is better understood when read in conjunction with the appended drawings. To illustrate the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to a specific device, or a tool and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale.
[0022] FIG. 1 illustrates a schematic diagram showing a process of managing data across distributed systems in an existing state of the art;
[0023] FIG. 2 illustrates a schematic diagram showing a process of managing data across distributed systems, in accordance with an embodiment of the present disclosure;
[0024] FIG. 3 is a simplified block diagram of a system for managing data across distributed systems, in accordance with an embodiment of the present disclosure;
[0025] FIG. 4 is a simplified block diagram of an electronic system of FIG. 3, in accordance with an embodiment of the present disclosure;
[0026] FIG. 5 illustrates a schematic diagram showing a process of configuring an electronic system for managing data across distributed systems, in accordance with an embodiment of the present disclosure;
[0027] FIG. 6 illustrates a schematic diagram showing a process of pre-checking and updating data across distributed systems, in accordance with an embodiment of the present disclosure; and
[0028] FIG. 7 illustrates a flow chart of a method for managing data across distributed systems, in accordance with an embodiment of the present disclosure.
[0029] The drawings referred to in this description are not to be understood as being drawn to scale except if specifically noted, and such drawings are only exemplary in nature.DETAILED DESCRIPTION
[0030] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure can be practiced without these specific details. Descriptions of well-known components and processing techniques are omitted to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0031] Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. The appearances of the phrase “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.
[0032] Moreover, although the following description contains many specifics for the purposes of illustration, anyone skilled in the art will appreciate that many variations and / or alterations to said details are within the scope of the present disclosure. Similarly, although many of the features of the present disclosure are described in terms of each other, or in conjunction with each other, one skilled in the art will appreciate that many of these features can be provided independently of otherfeatures. Accordingly, this description of the present disclosure is set forth without any loss of generality to, and without imposing limitations upon, the present disclosure.
[0033] Various embodiments of the present invention are described hereinafter with reference to FIG. 1 to FIG. 7.
[0034] FIG. 1 illustrates a schematic diagram showing a process 100 of managing data across distributed systems in an existing state of the art. An electronic device 102 associated with the administrator 104 is used to configure and initiate the performance of a set of operations to be performed in each data system e.g. 108(1), 108(2), 108(3)) in the plurality of data systems 106. An electronic device (not shown in FIG. 1) associated with an end user (e.g., users, customers of the data systems 106) (not shown in FIG. 1) maintains data system (e.g. 108(1), 108(2), 108(3)) of the plurality of data systems 106. In an embodiment, the end user provides modification details to the electronic device 102 of the administrator 104.
[0035] Each data system (e.g. 108(1), 108(2), 108(3)) of the plurality of data systems 106 may include but is not limited to at least one database and at least one database resource. The set of operations to be performed in each database (not shown in FIG. 1 ) corresponding to each data system (e.g. 108(1), 108(2), 108(3)) of the plurality of data systems 106, includes but is not limited to patching (i.e., updating the data in the database), provisioning (i.e., configuring and updating the database resources), pre-checking, testing, and so on.
[0036] Patching is a critical process that involves applying updates or fixes to database software to ensure it remains secure and efficient. This can include security updates, performance enhancements, and bug fixes in the database engine or supporting tools. Beyond the software itself, patching also extends to resources that support the database, such as operating system updates for database servers, firmware updates for storage or hardware, and network resource updates, including patches for load balancers or firewalls. Keeping these components updated is essential for maintaining a secure and high-performing database environment.
[0037] Provisioning involves setting up a new database instance or environment. This process includes allocating compute, memory, and storage resources, configuring the database engine (such as Oracle, My Structured Query Language (MySQL), Postgres Structured Query Language (Postgres SQL), or Mircrosoft SQL Server ), and defining schemas, users, and access permissions. Inaddition to the database itself, provisioning resources encompasses preparing the infrastructure that supports databases. This involves setting up virtual machines or containers for hosting the database, configuring storage resources like Storage Area Network (SAN) or cloud storage buckets, and establishing networking configurations, including Virtual Local Area Networks (VLANs), Internet Protocols (IPs), or cloud security groups. Together, patching and provisioning ensures that the database environment is secure, up-to-date, and effectively configured for optimal performance.
[0038] The precheck and test phases are essential steps in the database patching process, ensuring that updates are applied smoothly and without adverse effects. The precheck phase involves evaluating the current state of the database and its environment before applying patches. This includes checking for compatibility issues, ensuring that the system meets the patch's prerequisites, and verifying the availability of backups and overall system health. The test phase follows, where the patch is applied in a controlled environment, such as a staging or test database, to assess its impact. This phase ensures that the patch resolves known issues, does not introduce new problems, and that the database functions as expected post-patch. Together, these steps help reduce the risk of failures during patching and ensure a seamless update process.
[0039] In the prior art framework shown in FIG. 1 , the internal resources in the database are used for hosting the products of the end user. Customers who use databases have to manually rely on the built-in Web Console (see, 110) or command line interface for configuring and updating the data in each data system. The Web Console (e.g., Oracle Cloud Infrastructure (OCI) Web Console) is a graphical user interface used for configuring the data in each data system. The command-line interface tool allows users to manage data across distributed systems from a terminal or command prompt. The limitations in the prior art frameworks are that huge amounts of manual labor from database engineers are needed to configure each data system, in case a large number of database resources need to be provisioned or patched at a given start time remotely without manual intervention.
[0040] FIG. 2 illustrates a schematic diagram showing a process 200 of managing data across distributed systems, in accordance with an embodiment of the present disclosure. To overcome the above-mentioned limitations in the prior art framework 100 of FIG. 1, the present invention uses an electronic system 210 that facilitates the creation, and updation of a data structure associated with each data system, based on the modification details received from the end user (i.e., customers). Once the data structure is configured and updated, the execution of the update command can be triggeredby the electronic system 210. The electronic system 210 uses a synchronization mechanism that initiates all the update commands to be applied to the respective data systems (e.g., 208(1)) simultaneously.
[0041] A remote electronic device 202 associated with an administrator 204 is used to provide at least one trigger instruction to the electronic system 210. The trigger instruction includes modification details for updating data in each data structure (not shown) associated with a respective data system (e.g. 208(1), 208(2), 208(3)) of a plurality of data systems 206. The electronic system 210 analyses the modification details and generates the set of operations specific to each data structure. The set of operations includes configuration parameters and update commands specific to each data structure. The set of operations in each data structure is applied to each database (not shown in FIG.2) corresponding to each data system (e.g. 208(1), 208(2), 208(3)) in the plurality of data systems 206 (also referred as the data systems 206). An end user (not shown in FIG.2) associated with an electronic device (not shown in FIG. 2) maintains the data in the at least one data system (e.g. 208(1), 208(2), 208(3)) of the plurality of data systems 206.
[0042] Each data system (e.g. 208(1), 208(2), 208(3)) of the plurality of data systems 206 may include but is not limited to at least one database and at least one database resource. The set of operations in each data structure to be applied in each database (not shown in FIG. 2) corresponding to each data system (e.g. 208(1), 208(2), 208(3)) of the plurality of data systems 206, includes but is not limited to patching (i.e., updating the database), provisioning (i.e., configuring and updating the database resources), pre-checking, testing, and so on. In some embodiments, the database includes database resources (together referred to as the database). In some embodiments, the set of operations in each data structure is applied to both the database and the database resources. For the sake of brevity, throughout this disclosure, the database (including the data in the database) refers to both the database and the database resources associated with the database in the data system (e.g. 208(1), 208(2), 208(3)) of the plurality of data systems 206.
[0043] For example, the administrator 204 may use the associated remote electronic device 202 to access a mobile application or a website associated with the electronic system 210. In various non-limiting examples, remote electronic devices 202 may refer to any electronic devices such as, but not limited to, Personal Computers (PCs), tablet devices, Personal Digital Assistants (PDAs), voice-activated assistants, Virtual Reality (VR) devices, smartphones, and laptops.
[0044] FIG. 3 is a simplified block diagram of a system 300 for managing data across distributed systems, in accordance with an embodiment of the present disclosure. The system 300 includes the data systems 206 communicably connected to the electronic system 210 and a data structure collection 246. The remote electronic device 204 of the administrator 202 and the electronic device 214 of the user (i.e. end user 212 or customer of at least one service (i.e. database service)) of the data systems 206 are connected to a network 216. The electronic system 210 is also communicably connected to the network 216. In some embodiments, the data systems 206 can also be directly and communicably connected to the network 216 without limitation.
[0045] In an embodiment, the data systems 206, the data structure collection 246 and the electronic system 210 can be made as a cloud database system that runs on a cloud computing platform. It is understood that the electronic device 204 of the administrator 202 and the electronic device 214 of the end user 212 may be in operative communication with a communication network, such as the Internet, enabled by a network provider, also known as the network 216 (such as an Internet service provider (ISP) network). The electronic device (i.e., 204, 214) may connect to the network 216 using a wired network, a wireless network, or a combination of wired and wireless networks. Some non-limiting examples of wired networks may include the Ethernet, the Local Area Network (LAN), a fiber-optic network, and the like. Some non-limiting examples of wireless networks may include Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like.
[0046] The end user 212 can purchase or hire at least one data system (e.g., 208(1)) in the data systems 206 for the data-driven businesses and services. The administrator 202 can facilitate the end user 212 in at least one database management task. It should be noted that in FIG. 3, only one administrator 204, and one end user 212 are shown, but the system 300 can have any number of such users without limitation. The administrator 202 using the electronic device 204 initiates the configuration and management of the data systems 206 with the help of the electronic system 210 via the network 216. The electronicn system 210, first configures and updates each data structure in a data structure collection 246 associated with each data system (e.g., 208(1)). Then, the updates in each data structure of the data structure collection 246 are executed in the corresponding database of the data system (e.g., 208(1)) (see FIGS. 4-7).
[0047] FIG. 4 is a simplified block diagram of the electronic system 210 of FIG. 3, in accordance with an embodiment of the present disclosure. The electronic system 210 is a computer system configured to perform management of the data systems 206. The electronic system 210includes a processor 232, an interface 234, and a memory 236 configured to store instructions. The memory 236 stores at least one data structure associated with each data system (e.g. 208(1), 208(2), 208(3)) of the plurality of data systems 206. The processor 232 is in communication with the memory 236. The processor 232 is configured to generate the set of operations specific to each data structure based on the modification details received from the administrator 202.
[0048] The processor 232 is configured to execute the instructions stored in the memory 236 and thereby cause the system 300, to (1) receive at least one trigger instruction from the remote electronic device 204, the trigger instruction includes modification details for updating data in each data structure associated with a respective data system (e.g. 208(1), 208(2), 208(3)) of a plurality of data systems 206; (2) analyze the received modification details to identify dependencies and conflicts across the plurality of data systems 206; (3) generate the set of operations based on the analyzed modification details; and (4) triggering execution of the generated set of operations on each data system (e.g. 208(1), 208(2), 208(3)) at a pre-determined start time.
[0049] In one embodiment, the processor 232 may be embodied as a multi-core processor, a single-core processor, or a combination of one or more multi-core processors and one or more singlecore processors. For example, the processor 232 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a Digital Signal Processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Microcontroller Unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In one embodiment, the memory 236 is capable of storing machine-executable instructions, referred to herein as platform instructions. Further, the processor 232 is capable of executing the platform instructions. In an embodiment, the processor 232 may be configured to execute hard-coded functionality. In an embodiment, the processor 232 is embodied as an executor of software instructions, wherein the instructions may specifically configure the processor 232 to perform the algorithms and / or operations described herein when the instructions are executed. For example, in at least some embodiments, each component of the processor 232 may be configured to execute instructions stored in the memory 236 for realizing respective functionalities.
[0050] The memory 236 may be embodied as one or more non-volatile memory devices, one or more volatile memory devices, and / or a combination of one or more volatile memory devicesand non-volatile memory devices. For example, the memory 236 may be embodied as semiconductor memories, such as flash memory, mask Read Only Memory (ROM), programmable ROM (PROM), Erasable PROM (EPROM), Random Access Memory (RAM ), etc., and the like.
[0051] The interface 234 is configured to receive inputs from and provide outputs to the remote electronic device 202 of the administrator 204. To enable the reception of inputs and provide outputs to the electronic system 210, the interface 234 may include at least one input interface and / or at least one output interface. Examples of the input interface may include, but are not limited to, a keyboard, a mouse, a joystick, a keypad, a touch screen, soft keys, a microphone, and the like. Examples of the output interface may include but are not limited to, a display such as a light-emitting diode display, a Thin-Film Transistor (TFT) display, a Liquid Crystal Display (LCD), an Active-Matrix Organic Light-Emitting Diode (AMOLED) display, a microphone, a speaker, a ringer, and the like. In an example embodiment, at least one module of the electronic system 210 may include an I / O circuitry configured to control at least some functions of one or more elements of the interface 234, such as, for example, a speaker, a microphone, a display, and / or the like. The processor 232 of the electronic system 210 and / or the I / O circuitry may be configured to control one or more functions of the elements of the interface 234 through computer program instructions, for example, software and / or firmware, stored on a memory, for example, the memory 236, and / or the like, accessible to the processor 232 of the electronic system 210.
[0052] The processor 232 has an analysis module 238, an operation generation module 240, and a triggering module 242. The analysis module 238 is configured to receive at least one trigger instruction from the remote electronic device 204. The trigger instruction includes modification details for updating data in each data structure associated with a respective data system (e.g. 208(1), 208(2), 208(3)) of a plurality of data systems 206. The analysis module 238 is further configured to analyze the received modification details to identify dependencies and conflicts across the plurality of data systems 206.
[0053] The operation generation module 240 is configured to generate the set of operations based on the analyzed modification details from the analysis module 238. The set of operations includes configuration parameters and update commands specific to each data structure. The triggering module 242 is configured to trigger execution of the generated set of operations on each data system (e.g. 208(1), 208(2), 208(3)) at a pre-determined start time. The triggering execution module 242 utilizes a synchronization mechanism to ensure consistent application of updates acrossthe plurality of data systems.
[0054] The configuration parameters in each data structure refer to the settings required to establish a connection to a database, such as the host, port, username, password, and database name. It ensures the application can communicate securely and efficiently with the database. The configuration parameter is also used to prepare each database associated with each data system (e.g.208(1)) for executing the update commands. Further, the configuration parameters are used to simultaneously perform at least one preliminary check in each data system (e.g., 208(1)) before executing the update commands. In some embodiments, the configuration parameters are used to generate at least one preliminary check log based on the execution of the at least one preliminary check in each database. The configuration parameters can be used for preparing each data structure for the at least one preliminary check. The preliminary check in the set of operations (e.g. patching) helps to identify critical updates and potential system vulnerabilities before applying changes. This proactive approach minimizes risks and ensures system stability and compliance. Further, configuring the data structure before applying the set of operations (e.g. patching) ensures compatibility and smooth integration with the updates. It also minimizes the risk of data corruption and performance issues during the set of operations (e.g. patching).
[0055] In some embodiments, the configuration parameter includes parameters used to set up at least one resource for executing the update commands. In some embodiments, the parameter includes parameters used to generate at least one new database instance for executing the update commands. It should be noted that the configuration parameters in each data structure can be updated based on the execution of the at least one preliminary check in each database. Updating the configuration of each data structure after the preliminary check ensures compatibility with new patches and optimizes performance. It helps address any discrepancies, preventing issues and ensuring a smoother patch deployment process. The update commands can be generated based on the updated configuration parameters specific to each data structure. Updating each data structure with configuration parameters enhances system performance by aligning it with current requirements (from the end user or customer). It ensures the database is optimized for the latest updates, improving efficiency and stability post-operation (i.e., post-patching).
[0056] The operation generation module 240 is configured to generate at least one updateto be applied to each database based on the corresponding update commands. In some embodiments, the operation generation module 240 is configured to simultaneously trigger the execution of update commands in each database at the pre-determined start time, based on the at least one generated update. The at least one update for all the databases in the plurality of data systems is completed at an end time. The end time corresponds to a maximum time duration required to update any database within the plurality of data systems. For example, if the update of data in one database takes 10 minutes, the update of data in another database takes 15 minutes, and the update of data in one another database takes 9 minutes, then using the electronic system 210 of the present invention, the process of execution of all the updates can be synchronized and initiated at the same pre-determined start time. The overall time required to complete the updation process of all the databases refers to the maximum time utilized by a database (i.e. 15 minutes) out of all the databases.
[0057] In an embodiment, the triggering module 242 is configured to trigger the execution of the set of operations (i.e., update commands also referred to as at least one database management task) in each database. The update commands in each database are simultaneously initiated at a predetermined start time. The update commands include changes or modifications (such as bug fixes, performance enhancements, or security updates) applied to the data system. This can include patches, version upgrades, or schema changes. Patching refers specifically to applying fixes to address vulnerabilities or issues in the database software. Regular updates are crucial to maintain stability, security, and optimal performance.
[0058] FIG. 5 illustrates a schematic diagram showing a process 500 of configuring the electronic system 210 for managing data across distributed systems, in accordance with an embodiment of the present disclosure. The data systems 206 includes various data systems 208(1), 208(2), and 208(3). The data system 208(1) includes one or more availability domain (e.g., 324(1), 324(2), and 324(3)) corresponding to the database (e.g., 326(1), 326(2), and 326(3)). Similarly, the data system 208(2) includes one or more availability domain (e.g., 328(1), 328(2), and 328(3)) corresponding to the database (e.g., 330(1), 330(2), and 330(3)). Similarly, the data system 208(3) includes one or more availability domain (e.g., 332(1), 332(2), and 332(3)) corresponding to the database (e.g., 334(1), 334(2), and 334(3)). Each data system (i.e. 208(1), 208(2), and 208(3)) can be maintained by one or more end users.
[0059] The electronic system 210 is associated with the data structure collection 246. The data structure collection 206 includes various sub-collections such as 246(1), 246(2), and 246(3). Thesub-collection 246(1) includes a plurality of data structures, such as 302(1), 302(2), and 302(3). Similarly, the sub-collection 246(2) includes a plurality of data structures, such as 304(1), 304(2), and 304(3). Similarly, the sub-collection 246(3) includes a plurality of data structures, such as 306(1), 306(2), and 306(3).
[0060] The electronic system 210 may include one or more sub-systems (e.g., 210(1), 210(2) and 210(3)). The sub-system 210(1) includes an analysis module 238(1), an operation generation module 240(1), and a triggering module 242(1). The sub-system 210(1) is associated with the sub-collection (i.e., the data structure collection 246(1)) for configuring and updating the set of operations to be performed in the corresponding data system 208(1). The operation of the analysis module 238(1), the operation generation module 240(1), and the triggering module 242(1) are similar to the operation of the analysis module 238, the operation generation module 240, and the triggering module 242 of FIG. 4, hence for the sack of brevity, the explanation are omitted again in FIG. 5. The data structure collection 246(1) is associated with the corresponding data system 208(1) for triggering the execution of the set of operations.
[0061] The sub-system 210(2) includes an analysis module 238(2), an operation generation module 240(2), and a triggering module 242(2). The sub-system 210(2) is associated with the sub-collection (i.e., the data structure collection 246(2)) for configuring and updating the set of operations to be performed in the corresponding data system 208(2). The operation of the analysis module 238(2), the operation generation module 240(2), and the triggering module 242(2) are similar to the operation of the analysis module 238, the operation generation module 240, and the triggering module 242 of FIG. 4, hence for the sack of brevity, the explanation are omitted again in FIG. 5. The data structure collection 246(2) is associated with the corresponding data system 208(2) for triggering the execution of the set of operations.
[0062] The sub-system 210(3) includes an analysis module 238(3), an operation generation module 240(3), and a triggering module 242(3). The sub-system 210(3) is associated with the sub-collection (i.e., the data structure collection 246(3)) for configuring and updating the set of operations to be performed in the corresponding data system 208(3). The operation of the analysis module 238(3), the operation generation module 240(3), and the triggering module 242(3) are similar to the operation of the analysis module 238, the operation generation module 240, and the triggering module 242 of FIG. 4, hence for the sack of brevity, the explanation is omitted again in FIG. 5. The data structure collection 246(3) is associated with the corresponding data system 208(3) for triggeringthe execution of the set of operations.
[0063] It should be noted that the analysis modules 238(1), 238(2), and 238(3) can be collectively referred to as the analysis module 238 of FIG. 3. Similarly, the operation generation modules 240(1), 240(2), and 240(3) can be collectively referred to as the operation generation modules 240. Similarly, the triggering modules 242(1), 242(1), 242(2), and 242(3) can be collectively referred to as the triggering module 242.
[0064] The availability domain (e.g. 324(1)) in the database (e.g., 326(1)) refers to a specific region or environment where database resources are hosted, ensuring high availability and fault tolerance. It typically involves redundant infrastructure to minimize downtime and ensure continuous access to data. The availability domains (e.g. 324(1)) are designed to protect against hardware failures, network issues, or other disruptions. This ensures databases remain operational and accessible even in the face of failures or disasters.
[0065] It should be noted that using the present invention, each database (e.g., 326(1), 326(2), 326(3)) in each data system (e.g., 208(1)) of the plurality of data systems 206 can be individually and automatically updated using the respective data structure collection (e.g., 246(1)) and the respective sub-system (e.g., 210(1)). Further, the execution of the set of operations (for example patching or updating) of each database (e.g., 326(1), 326(2), 326(3)) in each data system (e.g., 208(1)) of the plurality of data systems 206 can be synchronized using the present invention. In an example, using the present disclosure, the database 326(1) can be patched with Version 1.1, while database 326(2) can be patched with Version 1.2, and the database 326(3) can be patched with Version 1.4, depending on the requirement (i.e., modification details) of the end user. Similarly, based on the requirement (i.e., modification details) of the end user, each data structure in the data structure collection 246 can be individually configured and updated. Thus, based on the modification details received by the electronic system 210, each sub-system (e.g., 210(1)) in the electronic system 210 is configured to analyze the modification details. The analysis includes identifying dependencies and conflicts across the plurality of data systems 206. The analysis ensures data consistency across the data structures in the data structure collection 246. In an embodiment of the invention, the analysis includes a preliminary check operation of the data systems 206. Based on the analysis results, the set of operations for updating the data in the data systems is generated by the electronic system 210.
[0066] FIG. 6 illustrates a schematic diagram showing a process 600 of automatically pre-checking and updating the data systems 206, in accordance with an embodiment of the present disclosure. After configuring the data structure collection 246, the update of data in the data systems 206 is triggered by the electronic system 210.
[0067] In an embodiment, the triggering module (see, 240 of FIG. 4) is used to simultaneously trigger the execution of at least one preliminary check in the data systems 206 before performing, for example, a patching operation. For example, if the end-user 212 wishes to perform a modification in the data in the data systems 206, the triggering module (see, 240 of FIG. 4) of the electronic system 210 is configured to perform the preliminary check in the data systems 206. The preliminary check identifies the potential issues before applying the patch, ensuring compatibility and stability. This can prevent disruptions, data corruption, or system downtime by verifying the database environment, configurations, and dependencies. The preliminary check also allows for better planning and risk mitigation, ensuring a smoother patching process. Ultimately, preliminary checks enhance the reliability of the data system after the update.
[0068] After performing the preliminary check, the operation generation module (see, 240 of FIG. 4) is configured to generate at least one preliminary check log based on the performance of the at least one preliminary check in each database. The preliminary check log provides valuable insights into system health and identifies potential issues before the set of operations (e.g. patching). It should be noted that all the preliminary checks for all the databases in the data systems 206 are simultaneously applied to all the databases at once. The total time required for the preliminary check of all the data systems 206 is the maximum time consumed by any of the databases in the data systems 206. The operation generation module 240 is configured to generate the at least one preliminary check log based on the performance of the at least one preliminary check in each database. The at least one preliminary check log can be stored in the memory, for example, memory 236 of FIG. 4.
[0069] Once preliminary checks are performed, the triggering module 242 is configured to generate the at least one update to be applied to each database based on the corresponding update commands specific to each data structure. It should be noted that all the updates for all the databases in the data systems 206 are simultaneously applied to all the databases at once. The total time required for the update of all the data systems 206 is the maximum time consumed by any of the databases in the data systems 206. The total time required for the update is between the pre-determined start time and the end time. For example, the administrator can pre-set the pre-determined start time for the initiation of the update process. The administrator can also calculate the expected time at which theupdate process can be completed.
[0070] In some embodiments, the end time is determined based on the real-time execution of the set of operations. The triggering module 242 is configured to generate the at least one update log based on the execution of the set of operations in each database. The update log after patching provides a detailed record of all changes applied, ensuring traceability and compliance. The at least one update log can be stored in the memory, for example, memory 236 of FIG. 4. The electronic system 210 generates a RUNBOOK (also referred to as at least one update) for the set of operations. The RUNBOOK is a detailed, step-by-step guide that outlines the process for applying patches to systems, including databases. It typically includes instructions for preparation, execution, validation, and rollback procedures to ensure a structured and repeatable patching process. Runbooks help reduce errors, ensure consistency, and provide a reference for troubleshooting during patch deployment, enhancing efficiency and minimizing downtime.
[0071] FIG. 7 illustrates a flow chart of a method 700 for managing data across the distributed systems, in accordance with an embodiment of the present disclosure. The method is performed by the electronic system 210.
[0072] At step 702, the method 700 includes receiving at least one trigger instruction from a remote electronic device 204. The trigger instruction includes modification details for updating data in each data structure associated with a respective data system (e.g., 208(1)) of a plurality of data systems (e.g., 206).
[0073] At step 704, the method 700 includes analyzing the received modification details to identify dependencies and conflicts across the plurality of data systems. The analysis ensures data consistency across the data structures
[0074] At step 706, the method 700 includes generating a set of operations based on the analyzed modification details. The set of operations includes configuration parameters and update commands specific to each data structure.
[0075] At step 708, the method 700 includes triggering execution of the generated set of operations on each data system at a pre-determined start time. The execution utilizes a synchronization mechanism to ensure consistent application of updates across the plurality of data systems.
[0076] The present disclosure allows provisioning and patching of multiple databases at once. This gives the user 212 (i.e. customer) the ability to handle several patches at once in a single downtime window. For example, if patching one database takes approximately 1 hour, patching 50 databases also takes one hour if all the patches are kicked off at once. The present disclosure also provides flexibility in that each database can be patched at different patch levels.
[0077] By performing an analysis of modification details from the end user, the present invention provides data consistency and conflict resolution. The inclusion of dependency and conflict analysis ensures the technical problem of maintaining data consistency across distributed systems is addressed. Further, the use of the synchronization mechanism to trigger updates provides a concrete technical solution over the prior art system disclosed in FIG. 1 Triggering the set of operations at the pre-determined start time and performing the set of operations using the synchronization mechanism, the system that reduces latency and operational inefficiency in managing distributed data systems.
[0078] Various embodiments of the disclosure, as discussed above, may be practiced with steps and / or operations in a different order, and / or with hardware elements in configurations, which are different from those which are disclosed. Therefore, although the disclosure has been described based on these exemplary embodiments, it is noted that certain modifications, variations, and alternative constructions may be apparent and well within the scope of the disclosure.
[0079] Although various exemplary embodiments of the disclosure are described herein in a language specific to structural features and / or methodological acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms of implementing the claims.
Claims
We Claim:
1. A method for managing data across distributed systems, the method comprising:receiving, by a processor of an electronic system, at least one trigger instruction from a remote electronic device, the trigger instruction includes modification details for updating data in each data structure associated with a respective data system of a plurality of data systems;analyzing, by the processor, the received modification details to identify dependencies and conflicts across the plurality of data systems, wherein the analysis ensures data consistency across the data structures;generating, by the processor, a set of operations based on the analyzed modification details, the set of operations comprising configuration parameters and update commands specific to each data structure;triggering, by the processor, execution of the generated set of operations on each data system at a pre-determined start time, wherein the execution utilizes a synchronization mechanism to ensure consistent application of updates across the plurality of data systems.
2. The computer- implemented method of claim 1, wherein the configuration parameters comprises parameters related to:preparation of each data structure associated with each data system for performing the set of operations; andperformance of at least one preliminary check in each data system.
3. The computer-implemented method of claim 2 further comprising generating at least one preliminary check log based on the execution of the at least one preliminary check.
4. The computer-implemented method of claim 3 further comprising updating the configuration parameters based on the execution of the at least one preliminary check.
5. The computer-implemented method of claim 2 wherein preparation of each data structure associated with each data system comprises updating the data structure based on the configuration parameter.
6. The computer-implemented method of claim 2 wherein preparation of each data structure associated with each data system comprises setting up a new data structure based on the configuration parameters.
7. The computer-implemented method of claim 1, wherein triggering execution of the generated set of operations on each data system comprises:generating at least one update to be applied to each data system based on the corresponding update commands specific to each data structure; andsimultaneously triggering the update in each data system at the pre-determined start time.
8. The computer-implemented method of claim 7 further includes generating at least one update log based on the execution of the update in each data system.
9. The computer-implemented method of claim 1, wherein the execution of the set of operations for all the data systems in the plurality of data systems are completed at an end time, wherein the end time corresponds to a maximum time duration required to update any data system within the plurality of data systems.
10. A system for managing data across distributed systems, the system comprising:an electronic system comprising:a memory comprising stored instructions, andat least one processor configured to execute the stored instructions to cause the electronic system to perform at least:receive at least one trigger instruction from a remote electronic device, the trigger instruction includes modification details for updating data in each data structure associated with a respective data system of a plurality of data systems;analyzing, by the processor, the received modification details to identify dependencies and conflicts across the plurality of data systems, wherein the analysis ensures data consistency across the data structures;generating, by the processor, a set of operations based on the analyzed modification details, the set of operations comprising configuration parameters and update commands specific to each data structure;triggering, by the processor, execution of the generated set of operations on each data system at a pre-determined start time, wherein the execution utilizes a synchronization mechanism to ensure consistent application of updates across the plurality of data systems.