Abstract:
The design and implementation of databases within enterprises is a crucial process, but is often resource intensive and often times unnecessary as existing databases may be utilized to serve the same goals. Tracking existing databases and assessing the design specifications of proposed databases is a complex decision making process. Disclosed is a system and computer-based method for systematically controlling the approval, creation and modification of databases. The system provides a policy for enterprise governance control for database proliferation and a tool for comparing database requests to and against existing database assets.

Description:
CROSS-REFERENCE 
       [0001]    This application claims priority to U.S. Provisional Application No. 61/895,329 filed Oct. 24, 2013, the content of which is incorporated by reference herein as if it was restated in full. 
     
    
     BACKGROUND 
       [0002]    Databases are a powerful tool for storing and organizing large amounts of data in a more or less centralized location. Over the past decade, there has been an explosion in data generation and storage creating data management issues never encountered before and placing huge burdens on traditional database tools. A new concept has been coined—“big data” —reflecting the new sources of largely unstructured data that flows into and through computer networks from e.g., Twitter and the like. 
         [0003]    In addition to sheer data volume and bandwidth, storage has moved and is structured more around a network protocol with cloud data management offering many benefits including faster access and more easily applied redundancies. To be properly implemented, databases are designed depending on data volume, structure, access speed and ultimate use in one or more applications or platforms. 
         [0004]    Databases are often created for specific purposes or projects, such as application development. Without proper management tools, the proliferation of project-specific databases created within an enterprise can easily spiral out of control with each added database possibly requiring the addition of server equipment, storage space, software licenses, support staff, maintenance costs, security overhead, and possible data duplicity. The ever increasing footprint of databases also raises issue of data quality and calls for monitoring system and governance controls. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]      FIG. 1  depicts a network-based, hardware environment for an enterprise implementation of the inventive database tools of the present invention; 
           [0006]      FIG. 2  illustrates a high-level process for a database building permit application and approval workflow; and 
           [0007]      FIG. 3  illustrates a workflow for a database design and database building permitting process. 
       
    
    
     DETAILED DESCRIPTION 
       [0008]    The present invention provides a system and computer-implemented process framework with a service model and operational model for managing the creation of new databases within an enterprise. The invention further provides a protocol for managing multiple, distinct databases within an enterprise through the use of database tools. These tools include a hierarchical development model that provides a methodology for ranking and tracking databases and database creation requests by developers. In particular, this tool provides a streamlined solution for determining the relative value and cost of implementing a request for new database by weighing the needs of the requester against the existing assets and associated costs of procuring new assets. 
         [0009]    The service model describes an IT policy, architecture standards and engagement model with partners. The operational model has processes to ensure enterprise application development adoption by integrating with project lifecycle (SDLC) and user requests workflows. A dashboard with key performance indicators (KPI) may also be a required part of final project delivery. The controls were incorporated for re-use and ever greening (metadata repository management), and periodic auditing by using database tools for different database platforms. 
         [0010]    System operation is depicted in FIG.  1 —a functional block diagram of an operative network environment that supports implementation of the database management tools. Specifically, the network will include both local and remote servers with processing. 
         [0011]    Turning now to  FIGS. 2 and 3 , these diagrams provide two levels of detail with respect to programming logic for system operation.  FIG. 2  provides a high level flow diagram that depicts overall logic for the approval process for each new database proposed for system implementation.  FIG. 3  provides additional details regarding system operation through a managed information/data flow chart—while logical relationships are implicit in each such relationship. 
         [0012]    A database request is provided as an input to the system. The request may seek the creation of a new database, extension/enhancement of an existing database, copy of an existing database, or the archiving of an existing database. The request includes required database specifications, such as name, content, database application, data types, data parameters, data structure, stored location, network accessibility, security, web connectivity, administrative rights, user rights, number of users, etc. The database specification parameters will vary according to the common needs of the user organization. The data from the database request may be entered into the system manually from a form, or directly by the requester through electronic means, such as a web-based form or a user interface to the system. 
         [0013]    In the case of a request for a new database or extension to an existing database, the system compares the requested specifications and attributes against the specifications and attributes of existing or planned databases. Exact matches are found when all requested specifications are found in an existing or planned database. For non-exact matches, a relevancy rating may be calculated to grade the degree of similarity between the requested specifications and existing or planned database specifications. Depending on the variance suitability threshold, a non-exact match may be determined to be suitable to meet the needs of the requester. Fuzzy logic searches may be used to determine suitability of non-exact matches. Suitable database matches signify an opportunity for reuse. 
         [0014]    In the case of a request for a new database or extension to an existing database, the system determines if there are any compliance and/or regulatory barriers to approving the request. The system may also determine if there are conflicts between the predefined security policies of the organization and the parameters specified in the request, or if accessibility to sensitive or confidential data violates any security policy. 
         [0015]    In the case of requests to create a new database, or to copy or extend an existing database (i.e. requests that increase the storage use or total number of databases), the system may determine if the database application and/or organizational standards allow for the prospective expanded number of allowable database environments and storage use. For example, in a Microsoft Access 2010 database environment, the total number of objects is limited to 32,768. 
         [0016]    In the case of requests to create a new database, or to copy, extend or archive an existing database, the system may determine if there is adequate server capacity to satisfy the database request. The system calculates the current server capacity usage or receives this data as an input. The server capacity calculation takes into account parameters such as storage space, processor usage, bandwidth utilization, etc. Additional, off-site server capacity may also be accounted for in this calculation. 
         [0017]    The system analyzes the result of one or more of the determinations made above, and determines whether the request is approved, rejected or requires additional information. The determination is returned to the requester and/or the systems administrators/application development team for implementation. 
         [0018]    The invention described above is operational with general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, smart phones such as iPhones™, tablet devices such as iPads™, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. 
         [0019]    Components of the inventive computer system may include, but are not limited to, a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. 
         [0020]    The computer system typically includes a variety of non-transitory computer-readable media. Computer-readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media may store information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media. 
         [0021]    The computer system may operate in a networked environment using logical connections to one or more remote computers. The remote computer may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer. The logical connections depicted in include one or more local area networks (LAN) and one or more wide area networks (WAN), but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. 
         [0022]    For ease of exposition, not every step or element of the present invention is described herein as part of software or computer system, but those skilled in the art will recognize that each step or element may have a corresponding computer system or software component. Such computer systems and/or software components are therefore enabled by describing their corresponding steps or elements (that is, their functionality), and are within the scope of the present invention. In addition, various steps and/or elements of the present invention may be stored in a non-transitory storage medium, and selectively executed by a processor. 
         [0023]    The foregoing components of the present invention described as making up the various elements of the invention are intended to be illustrative and not restrictive. Many suitable components that would perform the same or similar functions as the components described are intended to be embraced within the scope of the invention. Such other components can include, for example, components developed after the development of the present invention.