Abstract: ABSTRACT SYSTEM AND METHOD FOR MANAGING DATA IN DATABASE The present disclosure relates to a method of managing data in a database (214) by one or more processors (202). The method includes identifying irrelevant data based on one or more pre-defined rules. Further, the method includes setting a time interval to initiate purging of the irrelevant data. Further, the method includes initiating the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits. Further, the method includes storing the purged irrelevant data in a log file. Ref. FIG. 6
DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR MANAGING DATA IN DATABASE
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION
THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.
FIELD OF THE INVENTION
[0001] The present invention relates to management of storage of data, and in particular the present invention relates to a database management system and method.
BACKGROUND OF THE INVENTION
[0002] Nowadays, data storage has become a major concern across the globe, since for storing large amounts of data, data storage facilities and equipment are required, which requires a substantial amount of investment. The data is stored in databases or repositories of different configurations depending on the size of the data.
[0003] In a normal functioning scenario between a consumer and a server, the consumer generally transmits multiple requests (e.g., Application Programming Interface (API) calls or the like) to a load balancer, the load balancer will distribute requests among one or more servers via APIs. These multiple requests from the consumers comprise of data that is stored in the databases.
[0004] The database generally stores all historical data of the consumers and also stores a recent data received from the consumers. The database may include relevant as well as irrelevant data of the consumers. The irrelevant data may be data which is inactive or obsolete or not meant to have been stored or captured. Due to accumulation of the irrelevant data over a period of time at the database, an overall memory consumed by the database increases substantially, and also affects the efficiency of the database. Due to which, there could be latency developed by the database due to which the database may not respond to future requests received from the consumers or there may be a lag in response sent by the database.
[0005] Further, in order to remove the irrelevant data from the database, a proper evaluation may have to be done to segregate the irrelevant data, which is time consuming. After identifying the irrelevant data, the same should be moved to secondary data storage means such as a backup or permanently delete the irrelevant data, which again is time consuming.
[0006] In view of the above, there is a need for a database management system and method for purging and managing the historical data, which ensures that efficiency of the database is not degraded.
SUMMARY OF THE INVENTION
[0007] One or more embodiments of the present disclosure provide a system and a method for managing data in a database.
[0008] In one aspect of the present invention, a method of managing data in a database is disclosed. The method includes identifying, by one or more processors, irrelevant data based on one or more pre-defined rules. Further, the method includes setting, by the one or more processors, a time interval to initiate purging of the irrelevant data. Further, the method includes initiating, by the one or more processors, the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits. Further, the method includes storing, by the one or more processors, information related to the data purging in a log file.
[0009] In an embodiment, further, the method includes training a learning module for identifying the irrelevant data, where the learning module is used in updating the one or more predefined rules and the one or more predefined threshold limits over a period of time.
[0010] In an embodiment, the one or more predefined rules and the one or more predefined threshold limits are defined in a data purging and management policy.
[0011] In an embodiment, the one or more predefined rules and the one or more predefined threshold limits are set by an Application Programming Interface (API) consumer.
[0012] In an embodiment, the log file includes information related to changes made to the database during the data purging.
[0013] In an embodiment, the time interval is a predefined value.
[0014] In another aspect of the present invention, a system for managing data in a database is disclosed. The system includes an Identity Access Management (IAM) unit, a data purging unit and a database. The IAM unit is configured to identify irrelevant data in a database based on one or more pre-defined rules. The data purging unit is configured to set a time interval to initiate purging of the irrelevant data. Further, the data purging unit is configured to initiate the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits. The database stores information related to the purging of the irrelevant data in a log file.
[0015] In another aspect, a User Equipment (UE) is provided. The UE, comprises, one or more primary processors communicatively coupled to one or more processors. The one or more primary processors is also coupled with a memory, wherein said memory stores instructions which when executed by the one or more primary processors causes the UE to, send instructions to the one or more processers to set one or more pre-defined rules and one or more predefined threshold limits, and send instructions to the one or more processors to set time interval to initiate purging of the irrelevant data.
[0016] In another aspect of the present invention, non-transitory computer-readable medium having stored thereon computer-readable instructions is disclosed. The computer readable instructions, when executed by a processor, cause the processor to: identify irrelevant data based on one or more pre-defined rules. The processor is configured to set a time interval to initiate purging of the irrelevant data. Further, the processor is configured to initiate the purging of data based on the one or more predefined rules and one or more predefined threshold limits. Further, the processor is configured to store the purged irrelevant data in a log file.
[0017] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0019] FIG. 1 is an exemplary block diagram of an environment for managing data in a database, according to various embodiments of the present disclosure.
[0020] FIG. 2 is a block diagram of a system of FIG. 1, according to various embodiments of the present disclosure.
[0021] FIG. 3 is an example schematic representation of the system of FIG. 1 in which various entities operations are explained, according to various embodiments of the present system.
[0022] FIG. 4 illustrates a block diagram of a system architecture for managing data in the database, in accordance with an embodiment of the invention.
[0023] FIG. 5 illustrates an exemplary flow chart of a method for managing the data in the database, in accordance with an embodiment of the invention.
[0024] FIG. 6 shows a flow diagram illustrating a method for managing data in the database, according to various embodiments of the present disclosure.
[0025] Further, skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and may not have necessarily been drawn to scale. For example, the flow charts illustrate the method in terms of the most prominent steps involved to help to improve understanding of aspects of the present invention. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having benefit of the description herein.
[0026] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0027] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0028] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0029] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0030] Before discussing example, embodiments in more detail, it is to be noted that the drawings are to be regarded as being schematic representations and elements that are not necessarily shown to scale. Rather, the various elements are represented such that their function and general purpose becomes apparent to a person skilled in the art. Any connection or coupling between functional blocks, devices, components, or other physical or functional units shown in the drawings or described herein may also be implemented by an indirect connection or coupling. A coupling between components may also be established over a wireless connection. Functional blocks may be implemented in hardware, firmware, software or a combination thereof.
[0031] Further, the flowcharts provided herein, describe the operations as sequential processes. Many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of operations maybe re-arranged. The processes may be terminated when their operations are completed, but may also have additional steps not included in the figured. It should be noted, that in some alternative implementations, the functions/acts/ steps noted may occur out of the order noted in the figured. For example, two figures shown in succession may, in fact, be executed substantially concurrently, or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
[0032] Further, the terms first, second etc… may be used herein to describe various elements, components, regions, layers and/or sections, it should be understood that these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are used only to distinguish one element, component, region, layer or section from another region, layer, or a section. Thus, a first element, component, region layer, or section discussed below could be termed a second element, component, region, layer, or section without departing form the scope of the example embodiments.
[0033] Spatial and functional relationships between elements (for example, between modules) are described using various terms, including “connected,” “engaged,” “interfaced,” and “coupled.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the description below, that relationship encompasses a direct relationship where no other intervening elements are present between the first and second elements, and also an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. In contrast, when an element is referred to as being "directly” connected, engaged, interfaced, or coupled to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., "between," versus "directly between," "adjacent," versus "directly adjacent," etc.).
[0034] The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, e.g., those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0035] As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the terms “and/or” and “at least one of” include any and all combinations of one or more of the associated listed items. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0036] Unless specifically stated otherwise, or as is apparent from the description, terms such as “processing” or “computing” or “calculating” or “determining” of “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device/hardware, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0037] The disclosed system and method aim at enhancing efficiency of the database by automatically purging and managing historical data based on an AI (Artificial Intelligence)/ML (Machine Learning) module (or learning module). In particular, the present invention provides a unique approach to purge and manage the historical data in real time depending on pre-defined rules/policies and threshold limits. In an embodiment, the pre-defined rules/policies are rules that decide on which type of historical data should be purged and an associated time period. The one or more pre-defined rules are set by an API consumer (402). Alternatively, the one or more pre-defined rules may be dynamically set by a learning module (e.g., AI/ML module or the like) depending on the pattern of historical data detected and the one or more pre-defined rules set by other external systems for similar historical data being monitored in an external environment by other learning modules. In an embodiment, the one or more pre-defined rules may be one of, but not limited to, frequency of usage of data and past accessing of the data. Further, the pre-defined threshold limit may be at least one of, but not limited to, a purging threshold limit, etc. The process of purging and managing the historical data in the real time is performed by different components/modules working in tandem with each other. These different components/modules may be one of, but not limited to, a CAPIF (Common API Framework), a data purging and management engine, a data purging and management configuration module and the learning module. In an embodiment, the CAPIF provides a framework for accessing northbound APIs.
[0038] FIG. 1 illustrates an exemplary block diagram of an environment (100) for managing data in a database (214) (as shown in FIG. 2), according to various embodiments of the present disclosure. The environment (100) comprises a plurality of user equipment’s (UEs) (102-1, 102-2, ……,102-n). The at least one UE (102-n) from the plurality of the UEs (102-1, 102-2, ……102-n) is configured to connect to a system (108) via a communication network (106). Hereafter, label for the plurality of UEs or one or more UEs is 102.
[0039] In accordance with yet another aspect of the exemplary embodiment, the plurality of UEs (102) may be a wireless device or a communication device that may be a part of the system (108). The wireless device or the UE (102) may include, but are not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch, a computer device, and so on), a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and/or any other type of computer device with wireless communication or Voice Over Internet Protocol (VoIP) capabilities. In an embodiment, the UEs (102) may include, but are not limited to, any electrical, electronic, electro-mechanical or an equipment or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, a desktop, a personal digital assistant, a tablet computer, a mainframe computer, or any other computing device, wherein the computing device may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as camera, audio aid, a microphone, a keyboard, input devices for receiving input from a user such as touch pad, touch enabled screen, electronic pen and the like. It may be appreciated that the UEs (102) may not be restricted to the mentioned devices and various other devices may be used. A person skilled in the art will appreciate that the plurality of UEs (102) may include a fixed landline, a landline with assigned extension within the communication network (106).
[0040] The plurality of UEs (102) may comprise a memory such as a volatile memory (e.g., RAM), a non-volatile memory (e.g., disk memory, flash memory, EPROMs, etc.), an unalterable memory, and/or other types of memory. In one implementation, the memory might be configured or designed to store data. The data may pertain to attributes and access rights specifically defined for the plurality of UEs (102). The UE (102) may be accessed by the user.
[0041] The communication network (106), may use one or more communication interfaces/protocols such as, for example, Voice Over Internet Protocol (VoIP), 802.11 (Wi-Fi), 802.15 (including Bluetooth™), 802.16 (Wi-Max), 802.22, Cellular standards such as Code Division Multiple Access (CDMA), CDMA2000, Wideband CDMA (WCDMA), Radio Frequency Identification (e.g., RFID), Infrared, laser, Near Field Magnetics, etc.
[0042] The system (108) is communicatively coupled to a server (104) via the communication network (106). The server (104) can be, for example, but not limited to a standalone server, a server blade, a server rack, an application server, a bank of servers, a business telephony application server (BTAS), a server farm, a cloud server, an edge server, home server, a virtualized server, one or more processors executing code to function as a server, or the like. In an implementation, the server (104) may operate at various entities or a single entity (include, but is not limited to, a vendor side, a service provider side, a network operator side, a company side, an organization side, a university side, a lab facility side, a business enterprise side, a defence facility side, or any other facility) that provides a service (e.g., database management related service or the like).
[0043] The communication network (106) includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The communication network (106) may include, but is not limited to, a Third Generation (3G) network, a Fourth Generation (4G) network, a Fifth Generation (5G) network, a Sixth Generation (6G) network, a New Radio (NR) network, a Narrow Band Internet of Things (NB-IoT) network, an Open Radio Access Network (O-RAN), and the like.
[0044] The communication network (106) may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The communication network (106) may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a PSTN, a cable network, a cellular network, a satellite network, a fiber optic network, a VOIP or some combination thereof.
[0045] One or more network elements can be, for example, but not limited to a base station that is located in a fixed part or a stationary part of the communication network (106). The base station may correspond to a remote radio head, a transmission point, an access point or access node, a macro cell, a small cell, a micro cell, a femto cell, a metro cell (for example). Further, the base station may also correspond to a NodeB, an eNodeB, a Base Transceiver Station (BTS), an access point, a remote radio head, a transmission point, which may be further divided into a remote unit and a central unit. The base station enables transmission of radio signals to the UE (102) or a mobile transceiver. Such a radio signal may comply with radio signals as, for example, standardized by a 3rd Generation Partnership Project (3GPP) or, generally, in line with one or more of the above listed systems. The 3GPP specifications cover cellular telecommunications technologies, including radio access, core network, and service capabilities, which provide a complete system description for mobile telecommunications.
[0046] The environment (100) further includes the system (108) communicably coupled to the remote server (104) and each UE of the plurality of UEs (102) via the communication network (106). The remote server (104) is configured to execute the requests in the communication network (106).
[0047] The system (108) is adapted to be embedded within the remote server (104) or is embedded as an individual entity. The system (108) is designed to provide a centralized and unified view of data and facilitate efficient business operations. The system (108) is authorized to access to update/create/delete one or more parameters of their relationship between the requests for the data management, which gets reflected in real-time independent of the complexity of network.
[0048] In another embodiment, the system (108) may include an enterprise provisioning server (for example), which may connect with the remote server (104). The enterprise provisioning server provides flexibility for enterprises, ecommerce, finance to update/create/delete information related to the requests in real time as per their business needs. A user with administrator rights can access and retrieve the requests for the workflow and perform real-time analysis in the system (108).
[0049] The system (108) may include, by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a business telephony application server (BTAS), a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an implementation, system (108) may operate at various entities or single entity (for example include, but is not limited to, a vendor side, service provider side, a network operator side, a company side, an organization side, a university side, a lab facility side, a business enterprise side, ecommerce side, finance side, a defence facility side, or any other facility) that provides the service.
[0050] However, for the purpose of description, the system (108) is described as an integral part of the remote server (104), without deviating from the scope of the present disclosure. Operational and construction features of the system (108) will be explained in detail with respect to the following figures.
[0051] FIG. 2 illustrates a block diagram of the system (108) provided for managing data in the database (214), according to one or more embodiments of the present invention. As per the illustrated embodiment, the system (108) includes one or more processors (202), memory (204), an user interface (206), a display (208), an input device (210), and a database (214). Further the system (108) may comprise one or more processors (202). The one or more processors (202), hereinafter referred to as the processor (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions. As per the illustrated embodiment, the system (108) includes one processor. However, it is to be noted that the system (108) may include multiple processors as per the requirement and without deviating from the scope of the present disclosure.
[0052] Among other capabilities, the processor (202) is configured to fetch and execute computer-readable instructions stored in the memory (204). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0053] Further, the memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as Random-Access Memory (RAM), or non-volatile memory such as Electrically Erasable Programmable Read-only Memory (EPROM), flash memory, and the like. In an embodiment, the system (108) may include an interface(s). The interface(s) may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as input/output (I/O) devices, storage devices, and the like. The interface(s) may facilitate communication for the system (108). The interface(s) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, processing unit/engine(s) and the database (214). The processing unit/engine(s) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s).
[0054] The user interface (206) may include functionality similar to at least a portion of functionality implemented by one or more computer system interfaces such as those described herein and/or generally known to one having ordinary skill in the art. The user interface (206) may be rendered on the display (208), implemented using Liquid Crystal Display (LCD) display technology, Organic Light-Emitting Diode (OLED) display technology, and/or other types of conventional display technology. The display (208) may be integrated within the system (108) or connected externally. Further the input device(s) (210) may include, but not limited to, keyboard, buttons, scroll wheels, cursors, touchscreen sensors, audio command interfaces, magnetic strip reader, optical scanner, etc.
[0055] The database (214) may be communicably connected to the processor (202) and the memory (204). The database (214) may be configured to store and retrieve the request pertaining to features, or services or workflow of the system (108), access rights, attributes, approved list, and authentication data provided by an administrator. Further the remote server (104) may allow the system (108) to update/create/delete one or more parameters of their information related to the request, which provides flexibility to roll out multiple variants of the request as per the business needs. In another embodiment, the database (214) may be outside the system (108) and communicated through a wired medium and a wireless medium.
[0056] Further, the processor (202), in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor (202). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor (202) may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor (202) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory (204) may store instructions that, when executed by the processing resource, implement the processor (202). In such examples, the system (108) may comprise the memory (204) storing the instructions and the processing resource to execute the instructions, or the memory (204) may be separate but accessible to the system (108) and the processing resource. In other examples, the processor (202) may be implemented by an electronic circuitry.
[0057] In order for the system (108) to manage data in the database (214), the processor (202) includes an Identity Access Management (IAM) unit (216), a data purging unit (218) and a learning module (220). The IAM unit (216), the data purging unit (218) and the learning module (220) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor (202). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor (202) may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor (202) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory (204) may store instructions that, when executed by the processing resource, implement the processor. In such examples, the system (108) may comprise the memory (204) storing the instructions and the processing resource to execute the instructions, or the memory (204) may be separate but accessible to the system (108) and the processing resource. In other examples, the processor (202) may be implemented by the electronic circuitry.
[0058] In order for the system (108) for managing data in the database (214), the IAM unit (216), the data purging unit (218) and the learning module (220) are communicably coupled to each other. In an example embodiment, the IAM unit (216) identifies irrelevant data in the database (214) based on one or more pre-defined rules. The one or more pre-defined rules are set by an API consumer (402) (as shown in FIG. 4). Alternatively, the one or more pre-defined rules may be dynamically set by a learning module 220 (e.g., AI/ML module or the like) depending on the pattern of historical data detected and the one or more pre-defined rules set by other external systems for similar historical data being monitored in an external environment by other learning modules. In an embodiment, the one or more pre-defined rules may be one of, but not limited to, frequency of usage of data and past accessing of the data.
[0059] The data purging unit (218) sets a time interval to initiate purging of the irrelevant data. In an example, the time interval is a predefined value (e.g., twenty-four hours). In another example, the time interval is seven days. The user sets the time interval.
[0060] Further, the data purging unit (218) initiates the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits. The one or more predefined rules and the one or more predefined threshold limits are defined in a data purging and management policy. The data purging and management policy involves systematic removal of outdated or unnecessary data from the database (214). The data purging and management policy outlines rules and procedures for how data should be handled, including its storage, security, and lifecycle, ensuring data is managed effectively and in compliance with regulations. The one or more predefined rules and the one or more predefined threshold limits are set by the API consumer (402). The database (214) stores the purged irrelevant data in a log file. The log file includes information related to changes made to the database (214) during the data purging.
[0061] Further, the IAM unit (216) identifies one or more patterns in the irrelevant data using the learning module (220). Further, the IAM unit (216) updates the one or more predefined rules and the one or more predefined threshold limits based on the one or more patterns. In an embodiment, the IAM unit (216) trains the learning module (220) for identifying the irrelevant data, where the learning module (220) is used in updating the one or more predefined rules and the one or more predefined threshold limits over the period of time. The more detailed example for managing data in the database 214 is explained in FIG. 4.
[0062] FIG. 3 is an example schematic representation of the system (300) of FIG. 1 in which various entities operations are explained, according to various embodiments of the present system. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the first UE (102-1) and the system (108) for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0063] As mentioned earlier, the first UE (102-1) includes one or more primary processors (305) communicably coupled to the one or more processors (202) of the system (108). The one or more primary processors (305) are coupled with a memory (310) storing instructions which are executed by the one or more primary processors (305). Execution of the stored instructions by the one or more primary processors (305) enables the UE (102-1) to send instructions to the one or more processers (202) to set time interval to initiate purging of the irrelevant data. Further, to send instructions to the one or more processers (202) to set the one or more pre-defined rules and the one or more predefined threshold limits. The kernel (315) is a core component serving as the primary interface between hardware components of the UE (102-1) and the system (108). The kernel (315) is configured to provide a plurality of response information hosted on the system (108) to access resources available in the communication network (106). The resources include one of a Central Processing Unit (CPU), memory components such as Random Access Memory (RAM) and Read Only Memory (ROM).
[0064] As per the illustrated embodiment, the system (108) includes the one or more processors (202), the memory (204), the user interface (206), the display (208), and the input device (210). The operations and functions of the one or more processors (202), the memory (204), the user interface (206), the display (208), and the input device (210) are already explained in FIG. 2. For the sake of brevity, we are not explaining the same operations (or repeated information) in the patent disclosure. Further, the processor (202) includes the IAM unit (216), the data purging unit (218) and the learning module (220) are already explained in FIG. 2. For the sake of brevity, we are not explaining the same operations (or repeated information) in the patent disclosure.
[0065] FIG. 4 illustrates a block diagram of a system architecture (400) for managing the data in the database (214). The system architecture (400) includes an API consumer (402). In an embodiment, the API consumers (402) develop applications or web sites using APIs. Typically, the API consumers (402) are the developers or the user who integrate APIs with the applications or web sites. In particular, the API consumers (402) are the users of APIs.
[0066] In an embodiment, the API consumers (402) may transmit a request to a load balancer such as an Edge Load Balancing (ELB) unit (404a, 404b). The ELB units (404a, 404b) automatically distribute incoming traffic from entities such as the API consumers (402) across multiple targets, such as servers.
[0067] In the present invention, the request may be sent from the API consumer 402 to the server (104) requesting network resources from the server (104).
[0068] The system architecture (400) further includes the IAM unit (216). In an embodiment, the IAM unit (216) is a web service that facilitates in securely controlling access to system resources. By using the IAM unit (216), the system (400) can centrally manage permissions or provide authentication to the API consumer (402).
[0069] The ELB unit (404a, 404b) transmits a request traffic to an API gateway (408). The API gateway (408) is a data-plane entry point for API calls that represent consumer requests to target applications and services. The API gateway (408) typically performs request processing based on defined policies, including authentication, authorization, access control, Secure Sockets Layer (SSL)/ Transport Layer Security (TLS) offloading, routing, and load balancing.
[0070] The API gateway (408) further includes a data transformation unit (410), where the data transformation unit (410) performs a process of converting data from one format, such as a database file, XML document, Excel spreadsheet, into other formats. The data transformation typically involves converting a raw data source into a cleansed, validated and ready-to-use format.
[0071] The API gateway (408) further includes an API template configuration unit (412). The API template configuration unit (412) allows the user to define the API gateway resources in a declarative manner, which makes it easier to manage and scale APIs.
[0072] The API gateway (408) further includes the data purging unit (218) and a data purging and management policy configuration unit (420). In the present invention, the data purging unit (218) and the data purging and management policy configuration unit (420) may consist of the AI-ML module. The learning module monitors the historical data over a time period based on the one or more pre-defined rules as set by the consumer (402). Alternatively, the one or more pre-defined rules may be dynamically set by the learning module depending on the pattern of the historical data detected and the one or more pre-defined rules set by other external systems for similar historical data being monitored in an external environment by other learning module. In an embodiment, the one or more pre-defined rules may be one of, but not limited to, frequency of usage of data and the past accessing of the data. Further, the data purging and management policy configuration unit (420) predefines the parameter. The parameter can be, for example, but not limited to “Set Purge Threshold”, “CheckRecordsToPurge”, “PurgeRecordsInBulk”, and “WakePurgeData”. The Set Purge Threshold sets the number of records to purge by iteration. This threshold can be defined using a site property, so it can be adjusted without redeploying the data purging and management policy configuration unit (420). The “CheckRecordsToPurge” validates if there are records left to purge. The “Has Records to Purge” validates the output of the previous query and executes the purge branch if there are records to purge. The “PurgeRecordsInBulk” executes a bulk DELETE statement, combined with a clause to limit the amount of purged records. The “PurgeRecordsInBulk” implements the purge condition. The “WakePurgeData” re-wakes the timer to check if there are still records to purge. All the parameters are run time configurable and can be added as per requirements by using the data purging and management policy configuration unit (420).
[0073] Further, the one or more pre-defined threshold limit may be the threshold for purging historical data from the database (214). In an embodiment, the pre-defined threshold may be one of, but not limited to, pre-defined purging threshold limit and pre-defined time period.
[0074] In an embodiment, the purging may be at least one of, but not limited to, permanently deleting unwanted historical data or moving/transferring unwanted historical data from the original database to another database, etc.
[0075] For example, let us consider that the system architecture (400) including the learning module has constantly been monitoring the historical data over the time period. Let us also consider that the one or more pre-defined threshold limits or purging limit is set as one terabyte (TB). While monitoring, the learning module may detect that the data storage at the database (214) has reached the pre-defined threshold limit or the purging limit of one TB. In this case, the learning module may initiate the purging process. In an embodiment, purging techniques may be at least one of, but not limited to, storing the irrelevant historical data at secondary databases and permanently deleting the irrelevant historical data from the main database or permanently deleting the irrelevant historical data from the database (214).
[0076] The purging process initially involves, the learning module identifying the pattern with the historical data as per pre-defined rules set, such as, but not limited to, frequency of usage of historical data. For example, let us consider that the pre-defined rules as set by the learning module for the consumer A may be ‘frequency of usage of data should be at least once a week’. Considering this rule, the learning module may classify the historical data into different types. In the present example, let us consider that the data of consumer A is classified as ‘data related to social media’ and ‘data related to travel/gaming’.
[0077] In an embodiment, the API gateway (408) includes a data manipulation unit (416) and a data ingestion unit (418) that performs data ingestion. In an embodiment, the data manipulation unit (416) performs a data manipulation that is the process of organizing or arranging data in order to make it easier to interpret. The data manipulation typically requires the use of a type of database language called data manipulation language (DML). The data ingestion is the process of importing large, assorted data files from multiple sources into a single cloud-based storage medium or a data warehouse or database where it can be accessed and analyzed.
[0078] Pursuant to classification of the data of consumer A, based on pre-defined rules, such as ‘frequency of usage of data should be at least once a week’, the learning module may categorize ‘data related to the social media’ as data which is accessed by the user at least once every week. Similarly, the learning module may identify ‘data related to travel/gaming’ as not accessed once a week. Therefore, ‘data related to social media’ may be categorized by the learning module as relevant. Similarly, ‘data related to travel/gaming’ may be categorized as irrelevant.
[0079] In an embodiment, the learning module learns the historical pattern of the irrelevant historical data in the database (214) and may dynamically set the pre-defined rules and pre-defined threshold limits. Further, the learning module constantly learns new patterns based on irrelevant historical data in the database (214). Advantageously, ensuring that the system is efficiently capable of dynamically purging irrelevant historical data in real time.
[0080] In an example, the learning module is designed for analyzing the historical data and dynamically setting rules and threshold limits involving several key process (for example, data preparation process, model training process, dynamic adjustment process, continuous monitoring process or the like). The data preparation process cleans and preprocess the historical data and removes irrelevant data. The learning module uses supervised or unsupervised learning algorithms (for example) to build a model that recognizes patterns and anomalies. The dynamic adjustment process sets and adjusts rules and thresholds dynamically based on the learned patterns. The continuous monitoring process regularly updates and evaluates the model to ensure it remains accurate and effective. In the continuous monitoring process, the learning module may apply pre-conditions and post-conditions to ensure the accuracy of the process. The pre-conditions ensures that the data used for training and validation is representative and of high quality. Also, the pre-conditions define the scope and limits of the model’s application to prevent overgeneralization. The post-conditions monitor the performance of the model and rules in real-world scenarios. Also, the post-conditions adjust thresholds and rules if the model shows signs of drift or reduced accuracy. Hence, the system (108) leverages the learning module to identify the patterns and the anomalies based on the historical data.
[0081] The API gateway (408) further includes an API rest/kafka protocol translation unit (422). The API rest/kafka protocol translation unit (422) uses an Apache Kafka protocol that is an outbound or active protocol, and can be used as a gateway log source by using a custom log source type. Further, the API gateway (408) includes an API integration unit (424) that refers to the process of connecting two or more applications or systems by using APIs to exchange data and perform actions.
[0082] Further, the system architecture (400) includes an API service repository (426) and a database system (428). The API service repository (426) may be at least one of, but not limited to, databases, data lakes, data containers, etc. The API service repository (426) may be a catalogue in which all the services available on a network are stored. The database system (428) may be at least one of, but not limited to, persistence cache, distributed cache, etc. In an embodiment, the database system (428) is configured to store historical data of the consumer.
[0083] FIG. 5 illustrates an exemplary flow chart (500) of a method for managing the data in the database (214). The method disclosed below is purely exemplary in nature and should not be construed as limiting the scope of the present invention.
[0084] At step 502, the method includes initiating a data purging process based on the configured data purging and management rules in a rule engine. It is to be noted that the data purging process may be initiated when the learning module has detected that the data storage at the database (214) has reached the pre-defined threshold limit or the purging limit. In an embodiment, the configured data and management rules are referred to as pre-defined rules and pre-defines threshold limits and handled by the rule engine. When the pre-defined rules and pre-defined threshold limits are set, the purging process is initiated. In an embodiment, the pre-defined rules and pre-defined threshold limits are set by the consumer. In alternative embodiment, the rules and threshold are dynamically set by the learning module depending on the identified pattern of historical data of the user (or the consumer).
[0085] At step 504, the method includes identifying irrelevant historical data based on the pre-defined rules present in data purging and management rule policy configuration.
[0086] At step 506, the method includes setting the time interval to initiate data purging and management based on the data purging and management rule policy configuration. After detecting the irrelevant historical data depending on the data purging and management rule policy configuration, the learning module may set the time interval to initiate the data purging and management process. The time interval may be set, for example, once in every 24 hours or once in a week on initiation of a process of purging. Further, in one embodiment, the time interval is a predefined value defined by one of, but not limited to, a user, a consumer, and the learning module.
[0087] At step 508, the purged irrelevant data and management logs are stored for monitoring purpose. In an embodiment, the purged irrelevant data and management logs may be stored in the database (214) itself or a separate storage means. All databases have logs associated with them. These logs keep records of database changes. In the future, if the database (214) needs to be restored to full capacity or for offline backup, logs are required to roll the data forward to the point of failure, advantageously ensuring that the database (214) can be restored into full capacity quickly even in case of deletion of data therein.
[0088] FIG. 6 is a flow diagram (600) illustrating a method for managing data in the database (214), according to various embodiments of the present disclosure. Explanation of various steps of the method are not included below in order to avoid repetition. Explanation for FIGs 1 to 5 are to be referred for the same. In this regard, it should be construed as limiting the scope of the present disclosure.
[0089] At step 602, the method includes identifying the irrelevant data based on the pre-defined rules. At step 604, the method includes setting the time interval to initiate purging of the irrelevant data. At step 606, the method includes initiating the purging of the irrelevant data based on the predefined rules and predefined threshold limits. At step 608, the method includes storing the purged irrelevant data in a log file.
[0090] Below is the technical advancement of the present invention:
a) The efficiency of the database (214) is not degraded.
b) Purging and managing the irrelevant historical data in real time.
c) Policy or rules for purging and managing irrelevant historical data are dynamically configured.
d) The disclosed system and method aim at enhancing efficiency of the database (214) by automatically purging and managing the historical data based on the learning module. In particular, the present invention provides a unique approach for purging and managing the historical data in real time depending on the pre-defined rules and threshold limits which are pre-set or dynamically set.
[0091] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIGS. 1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0092] Method steps: A person of ordinary skill in the art will readily ascertain that the illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0093] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.
REFERENCE NUMERALS
[0094] Environment - 100
[0095] UEs– 102, 102-1-102-n
[0096] Server - 104
[0097] Communication network – 106
[0098] System – 108
[0099] Processor – 202
[00100] Memory – 204
[00101] User Interface – 206
[00102] Display – 208
[00103] Input device – 210
[00104] Database – 214
[00105] IAM unit – 216
[00106] Data purging unit – 218
[00107] Learning module– 220
[00108] System - 300
[00109] Primary processors -305
[00110] Memory– 310
[00111] Kernel– 315
[00112] System architecture– 400
[00113] API consumer – 402
[00114] ELB unit – 404a, 404b
[00115] API gateway – 408
[00116] Data transformation unit – 410
[00117] API template configuration unit – 412
[00118] Data manipulation unit – 416
[00119] Data ingestion unit – 418
[00120] Data purging and management policy configuration unit – 420
[00121] Rest/kafka protocol translation unit – 422
[00122] API integration unit – 424
[00123] API service repository – 426
[00124] Database system - 428
,CLAIMS:CLAIMS
We Claim:
1. A method of managing data in a database (214), the method comprising the steps of:
identifying, by one or more processors (202), irrelevant data based on one or more pre-defined rules;
setting, by the one or more processors (202), a time interval to initiate purging of the irrelevant data;
initiating, by the one or more processors (202), the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits; and
storing, by the one or more processors (202), the purged irrelevant data in a log file.
2. The method as claimed in claim 1, further comprising:
training a learning module (220) for identifying the irrelevant data, and wherein the learning module (220) is used in updating the one or more predefined rules and the one or more predefined threshold limits over a period of time.
3. The method as claimed in claim 1, wherein the one or more predefined rules and the one or more predefined threshold limits are defined in a data purging and management policy.
4. The method as claimed in claim 1, wherein the one or more predefined rules and the one or more predefined threshold limits are set by an Application Programming Interface (API) consumer (402).
5. The method as claimed in claim 1, wherein the time interval is a predefined value.
6. A system (108) for managing data in a database, the system (108) comprising:
an Identity Access Management (IAM) unit (216) configured to identify irrelevant data in a database (214) based on one or more pre-defined rules;
a data purging unit (218) configured to:
set a time interval to initiate purging of the irrelevant data;
initiate the purging of the irrelevant data based on the one or more predefined rules and one or more predefined threshold limits; and
the database (214) to store the purged irrelevant data in a log file.
7. The system (108) as claimed in claim 6, wherein the IAM unit (216) is further configured to train a learning module (220) for identifying the irrelevant data, and wherein the learning module (220) is used in updating the one or more predefined rules and the one or more predefined threshold limits over a period of time.
8. The system (108) as claimed in claim 6, wherein the one or more predefined rules and the one or more predefined threshold limits are defined in a data purging and management policy.
9. The system (108) as claimed in claim 6, wherein the one or more predefined rules and the one or more predefined threshold limits are set by an Application Programming Interface (API) consumer (402).
10. The system (108) as claimed in claim 6, wherein the time interval is a predefined value defined by one of a user and a learning module.
11. A User Equipment (UE), comprising:
one or more primary processors communicatively coupled to one or more processors, the one or more primary processors coupled with a memory, wherein said memory stores instructions which when executed by the one or more primary processors causes the UE to:
send instructions to the one or more processers to set the one or more pre-defined rules and the one or more predefined threshold limits;
send instructions to the one or more processers to set the time interval to initiate purging of the irrelevant data, and
wherein the one or more processors is configured to perform the steps as claimed in claim 1.
| # | Name | Date |
|---|---|---|
| 1 | 202321060028-STATEMENT OF UNDERTAKING (FORM 3) [06-09-2023(online)].pdf | 2023-09-06 |
| 2 | 202321060028-PROVISIONAL SPECIFICATION [06-09-2023(online)].pdf | 2023-09-06 |
| 3 | 202321060028-FORM 1 [06-09-2023(online)].pdf | 2023-09-06 |
| 4 | 202321060028-FIGURE OF ABSTRACT [06-09-2023(online)].pdf | 2023-09-06 |
| 5 | 202321060028-DRAWINGS [06-09-2023(online)].pdf | 2023-09-06 |
| 6 | 202321060028-DECLARATION OF INVENTORSHIP (FORM 5) [06-09-2023(online)].pdf | 2023-09-06 |
| 7 | 202321060028-FORM-26 [17-10-2023(online)].pdf | 2023-10-17 |
| 8 | 202321060028-Proof of Right [12-02-2024(online)].pdf | 2024-02-12 |
| 9 | 202321060028-DRAWING [05-09-2024(online)].pdf | 2024-09-05 |
| 10 | 202321060028-COMPLETE SPECIFICATION [05-09-2024(online)].pdf | 2024-09-05 |
| 11 | Abstract 1.jpg | 2024-09-30 |
| 12 | 202321060028-Power of Attorney [24-01-2025(online)].pdf | 2025-01-24 |
| 13 | 202321060028-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf | 2025-01-24 |
| 14 | 202321060028-Covering Letter [24-01-2025(online)].pdf | 2025-01-24 |
| 15 | 202321060028-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf | 2025-01-24 |
| 16 | 202321060028-FORM 3 [29-01-2025(online)].pdf | 2025-01-29 |
| 17 | 202321060028-FORM 18 [20-03-2025(online)].pdf | 2025-03-20 |