US9519474B2 - Modular system including management and deployment of software updates and revisions - Google Patents

Modular system including management and deployment of software updates and revisions Download PDF

Info

Publication number
US9519474B2
US9519474B2 US15/016,155 US201615016155A US9519474B2 US 9519474 B2 US9519474 B2 US 9519474B2 US 201615016155 A US201615016155 A US 201615016155A US 9519474 B2 US9519474 B2 US 9519474B2
Authority
US
United States
Prior art keywords
service
version
enterprise
services
deployment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US15/016,155
Other versions
US20160216959A1 (en
Inventor
Manu Jacob Kurian
Sorin N. Cismas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of America Corp
Original Assignee
Bank of America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of America Corp filed Critical Bank of America Corp
Priority to US15/016,155 priority Critical patent/US9519474B2/en
Assigned to BANK OF AMERICA CORPORATION reassignment BANK OF AMERICA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CISMAS, SORIN N., KURIAN, MANU JACOB
Publication of US20160216959A1 publication Critical patent/US20160216959A1/en
Application granted granted Critical
Publication of US9519474B2 publication Critical patent/US9519474B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • embodiments of the invention relate to network data communication and, more particularly, a technology-agnostic and protocol-agnostic data modular-based system that includes enterprise-wide, centralized, management over the deployment and updating of services delivered by the modules of the system.
  • an enterprise may deploy one or more software systems to monitor the health of the computing system, one or more other software systems to move data throughout the enterprise and one or more other software systems for messaging. All of these software systems are stacked on the servers within the enterprise to carry out the request functionality.
  • Each of these software systems are generally independent of each other; i.e., different commercial manufacturers and/or execute under different operating systems. As such, these diverse software systems require a high degree Information Technology (IT) support and maintenance to ensure that the systems are capable of working in unison. Additionally, each of these independent software systems implement distinct tracking controls and governance, which further increase maintenance costs.
  • IT Information Technology
  • computing servers or other networked devices are distributed globally across a diverse computing network infrastructure.
  • the various servers deployed in the network implement many different operating systems that execute a myriad of different software packages, applications, tools and the like.
  • a single server may host many different software packages, applications or the like.
  • OSs Operating Systems
  • Embodiments of the present invention address the above needs and/or achieve other advantages by providing apparatus, systems, computer program products, methods or the like for a technology-agnostic and protocol-agnostic modular-based system for delivering services including management over the provisioning of such services (i.e., deployment of services and updating such services with new versions and/or features).
  • present embodiments of the invention provide for a singular, shared approach to management of provisioning of all services provided by the service delivery system, thereby providing a more efficient approach that is easier to support and reduces overhead.
  • Management of the provisioning includes determining and automatically implementing optimal schedules for deploying services, updating versions of the services and rolling back versions of the services the based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (e.g., divisions, lines of business (LOBs) and the like).
  • predetermined lifecycle levels e.g., development, test, pre-production, production and the like
  • segments within the enterprise e.g., divisions, lines of business (LOBs) and the like.
  • management of the provisioning includes denying/blocking execution of non-permitted service versions.
  • denial/blocking of non-permitted versions may be accomplished by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
  • management of the provisioning includes schedule and implementing deactivation of a declining service version, including alerting service delivery application users of a pending deactivation of a declining service version (e.g., an outdated version) and a need to download an emerging version (e.g., a new version).
  • management of provisioning includes implementing side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
  • a system for managing deployment and update of services within an enterprise defines first embodiments of the invention.
  • the system includes a distributed network of servers, wherein each server has an assigned/registered lifecycle level.
  • the system further includes an operating system-agnostic, modular-based, service delivery application that is stored in network memory and executable by a processor.
  • the application includes a plurality of modules, each module configured to deliver a service to the enterprise.
  • the modules include a provisioning module configured to provide management over deployment of the services delivered by the modules and version updates to the services delivered by the modules, including determine and automatically implement an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (e.g., divisions, lines-of-business (LOBs) and the like).
  • predetermined lifecycle levels e.g., development, test, pre-production, production and the like
  • segments within the enterprise e.g., divisions, lines-of-business (LOBs) and the like.
  • the provisioning module is further configured to determine and automatically implement the optimal schedule which provides for staging service deployment and service version updates over a predetermined period of time based on one or more of (i) the predetermined lifecycle levels assigned to the networked devices and (ii) the segments within the enterprise.
  • the provisioning module is further configured to automatically implement service version rollbacks.
  • the provisioning module is further configured to determine and automatically implement an optimal schedule for the service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application and (ii) segments within the enterprise.
  • the provisioning module is further configured deny execution of non-permitted service versions.
  • the provisioning module may be further configured to deny execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
  • the provisioning module is further configured to schedule deactivation of a declining service version.
  • the provisioning module may be further configured alert service delivery application users of a pending deactivation of a declining service version and a need to download an emerging version.
  • the provisioning module is further configured to implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
  • An apparatus for managing deployment and update of services within an enterprise defines second embodiments of the invention.
  • the apparatus includes a computing platform having a memory and at least one processor in communication with the memory.
  • the apparatus further includes an operating system-agnostic, modular-based, service delivery application that is stored in the memory and executable by the processor.
  • the service delivery application includes a plurality of modules, each module configured to deliver a service to the enterprise.
  • the modules include a provisioning module configured to provide management over deployment of the services delivered by the modules and version updates to the services delivered by the modules.
  • the management over deployment and version updates includes determining and automatically implementing an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (divisions, departments, lines-of-business (LOBs) and the like).
  • predetermined lifecycle levels e.g., development, test, pre-production, production and the like
  • segments within the enterprise evisions, departments, lines-of-business (LOBs) and the like.
  • the provisioning module is further configured to determine and automatically implement the optimal schedule which provides for staging service deployment and service version updates over a predetermined period of time based on one or more of (i) the predetermined lifecycle levels assigned to the networked devices and (ii) the segments within the enterprise.
  • the provisioning module is further configured to determine and automatically implement an optimal schedule for service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application and (ii) segments within the enterprise.
  • the provisioning module is configured to deny/block execution of non-permitted service versions.
  • the provisioning module may be configured to deny/block execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
  • the provisioning module is configured to schedule deactivation of a declining service version and/or alert service delivery application users of a pending deactivation of a declining service version and a need to download an emerging version.
  • the provisioning module configured to implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
  • a computer program product including a non-transitory computer-readable medium defines third embodiments of the invention.
  • the computer-readable medium includes a first set of codes for causing a computer to a determine and automatically implement an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application and (ii) segments within the enterprise.
  • the computer-readable medium additionally includes a second set of codes for causing a computer to determine and automatically implement an optimal schedule for service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application, and (ii) segments within the enterprise.
  • systems, apparatus, methods, and computer program products herein described in detail below provide for a technology-agnostic and protocol-agnostic means for providing services within an enterprise including management over provisioning of the services (e.g., deploying new services and updating existing services).
  • embodiments herein described provide for managing provisioning by determination and automatic implementation of an optimal schedule for service deployment, service version updates and service version roll-backs. Such determination of the optimal schedule is based on (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application, and/or (ii) segments within the enterprise.
  • managing provisioning includes providing the ability to deny/block execution of non-permitted versions and alert users of declining/outdated versions and/or emerging new versions.
  • embodiments herein described provide for managing provisioning such that updates to revision occur by side-loading updated versions to allow for users to simultaneously use a declining version of a service while the emerging version is loaded.
  • the one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims.
  • the following description and the annexed drawings set forth in detail certain illustrative features of the one or more embodiments. These features are indicative, however, of but a few of the various ways in which the principles of various embodiments may be employed, and this description is intended to include all such embodiments and their equivalents.
  • FIG. 1 provides a schematic diagram of a system for enterprise-wide service delivery including data movement/transfer and related management, in accordance with embodiments of the present invention
  • FIG. 2 provides a block diagram of a system for enterprise-wide service delivery including data movement/transfer and related management, in accordance with embodiments of the present invention
  • FIG. 3 provides a block diagram of the apparatus configured for an extensible module system including technology/OS-agnostic and protocol-agnostic data movement, in accordance with embodiments of the present invention.
  • FIG. 4 provides a block diagram of an apparatus configured for managing the provisioning of services in an enterprise-wide modular-based service delivery system, in accordance with embodiments of the present invention.
  • the present invention may be embodied as an apparatus (e.g., a system, computer program product, and/or other device), a method, or a combination of the foregoing. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may generally be referred to herein as a “system.” Furthermore, embodiments of the present invention may take the form of a computer program product comprising a computer-usable storage medium having computer-usable program code/computer-readable instructions embodied in the medium.
  • the computer usable or computer readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (e.g., a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires; a tangible medium such as a portable computer diskette, a hard disk, a time-dependent access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a compact disc read-only memory (CD-ROM), or other tangible optical or magnetic storage device.
  • a tangible medium such as a portable computer diskette, a hard disk, a time-dependent access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a compact disc read-only memory (CD-ROM), or other tangible optical or magnetic storage device.
  • Computer program code/computer-readable instructions for carrying out operations of embodiments of the present invention may be written in an object oriented, scripted or unscripted programming language such as Java, Perl, Smalltalk, C++ or the like.
  • the computer program code/computer-readable instructions for carrying out operations of the invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • Embodiments of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods or apparatuses (the term “apparatus” including systems and computer program products). It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a particular machine, such that the instructions, which execute by the processor of the computer or other programmable data processing apparatus, create mechanisms for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions, which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • computer program implemented steps or acts may be combined with operator or human implemented steps or acts in order to carry out an embodiment of the invention.
  • various systems, apparatus, methods, and computer program products are herein described for a technology-agnostic and protocol-agnostic system for delivering services, including management over the provisioning of such services (i.e., deployment of services and updating such services with new versions and/or features).
  • present embodiments of the invention provide for a singular, shared, common-stack approach to management of provisioning of all services provided by the service delivery system, thereby providing a more efficient approach that is easier to support and reduces overhead.
  • Management of the provisioning includes determining and automatically implementing optimal schedules (i.e., staging rollout) for deploying services, updating versions (otherwise referred to as revisions, patches, fixes and the like) of the services and rolling back versions of the services the based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) rules associated with segments within the enterprise (e.g., divisions, lines of business (LOBs) and the like).
  • predetermined lifecycle levels e.g., development, test, pre-production, production and the like
  • rules associated with segments within the enterprise e.g., divisions, lines of business (LOBs) and the like.
  • management of the provisioning includes denying/blocking execution of non-permitted service versions.
  • denial/blocking of non-permitted versions may be accomplished by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
  • management of the provisioning includes schedule and implementing deactivation of a declining/outdated service version, including alerting service delivery application —users of a pending deactivation of a declining service version (e.g., an outdated version) and a need to activate or download an emerging version (e.g., a new version).
  • management of provisioning includes implementing side-loading of version updates or new service modules to allow a user to simultaneously execute other modules or a current version while the version update is occurring.
  • FIG. 1 a schematic diagram is provided of a system 100 for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise.
  • the system 100 is configured as a hub-and-spoke model, in which the hub server 10 provides for management of the service delivery system via service delivery management framework 200 and the spoke servers 20 , implemented throughout the enterprise, are deployed with a modular service delivery application 400 .
  • the service delivery application 400 is an open source-based web-services application and, as such, can be deployed and/or executed on any type of server (technology-agnostic) executing any type of operating system (OS-agnostic).
  • the modular nature of the application means that the service delivery system is extensible; as additional services are added new modules within the application 400 may be added/plugged-in into the application 400 .
  • the present invention provides a holistic approach to service delivery that results in an enterprise-wide solution for service delivery.
  • Service delivery application 400 provides uniform management for all of the services delivered by service delivery application 400 .
  • service delivery application 400 includes core services that act as a unifier to provide umbrella-like management over security, governance (approvals and exceptions), provisioning (new modules and revisions to modules), auditing, tracking, reporting and the like.
  • core services that act as a unifier to provide umbrella-like management over security, governance (approvals and exceptions), provisioning (new modules and revisions to modules), auditing, tracking, reporting and the like.
  • Such uniformity in management provides efficiency and eliminates the need to resolve conflicts that arise in disparate applications having distinct security, governance, provisioning protocols, rules and regulations.
  • each application will typically require a separate SSL (Secure Socket Layer) certificate to exist on each server; however, the present invention is configured such that only a single SSL certificate per server and the single SSL certificate can be used to authenticate all of the services delivered by the application 400 . It should be noted that while the system only requires a single SSL certificate per server, the application 400 is configured to accommodate multiple SSL certificates if the application or a module within the application warrants such.
  • SSL Secure Socket Layer
  • the service delivery application 400 includes a provisioning module (shown and described in FIGS. 2-4 ) that is configured to provide management over the deployment of new service modules within the service delivery application 400 , as well as, version updates (or in some instance version rollbacks) to currently implemented service modules.
  • the provisioning module provides uniform management and control over all of the services delivered by the various modules included within the service delivery application 400 . Management includes automatically determining and scheduling deployment updates/revision and/or new modules so as to limit the impact of the deployment on production use of the server and/or other associated resources.
  • the provisioning module is configured to determine and automatically implement an optimal schedule (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks.
  • the determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels assigned to networked devices 20 in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise.
  • lifecycle levels may include, but are not limited to, development, system integration testing (SIT), user acceptance testing (UAT), pre-production and production.
  • SIT system integration testing
  • UAT user acceptance testing
  • a new service module may first be deployed/rolled-out to development-level networked devices/servers, followed by testing (SIT or UAT)-level networked devices/servers, followed by pre-production-level and production-level networked devices.
  • Other factors, such as the features implemented in the new service module, the security risks posed by the new service module or the like may dictate how long implementation is limited to a specified level (e.g., how long the rollout is limited to being deployed only on development-level and/or test-level devices before rolling out the service module or pre-production-level devices and, subsequently, production-level devices).
  • an update to a version of a service may first be deployed/rolled-out to test-level networked devices, followed by pre-production-level and production-level networked devices (i.e., the nature of the version update may dictate that implementation at the development level is not warranted). Other factors, such as the features implemented in the updated version module, the security risks posed by the version being replaced or the like may dictate how long implementation is limited to a specified level.
  • Rules associated with segments within the enterprise may include rules associated with divisions, lines-of-business (LOBs) or other environments within the enterprise (i.e., any portion of the enterprise that requires service deployment rules).
  • the rules which may or may not be implemented in conjunction with lifecycle level deployment/updates, may dictate the order and the timing for new service/module deployment, as well as, updates to existing services/modules. Timing rules may ensure that deployment of new services and/or revisions occur so as to minimize the impact on other functions being performed by the networked device and/or service delivery application (i.e., during times when the application and/or device is undergoing minimal use).
  • the system 100 includes modular service delivery application 400 that includes common core modular services 402 and modular services 404 .
  • the core services 402 are common to all of the modular services 404 in the application and provide for unified umbrella-like management of the modular services.
  • the core services may include, but are not necessarily limited to, provisioning module 406 , security module 408 , reporting module 408 and governance/auditing module 410 .
  • the provisioning module service 406 is configured to provide for uniform management over the deployment of new modular services 404 and deployment of revisions/updates (i.e., new version) to existing modular services 404 .
  • provisioning module service 406 is configured to provide hierarchical ordering of deployment based on criticality (i.e., lifecycle level of the), compliance and the like. Additionally, provisioning module service 406 is configured to automatically schedule deployment updates/revision and/or new modules so as to limit the impact of the deployment on production use of the server and/or other associated resources. Additionally, provisioning service 406 is configured to allow for non-compliant versions to be deployed with proper recordation/logging in place and for execution of non-permitted versions to be denied/blocked from executing.
  • the security service 408 provides uniform control over the security features applicable to the modular services 404 .
  • the security service 408 provides uniform rules, regulations and procedures for security. For example, uniform rules related to authenticating a protocol/module, uniform rules associated with encryption, uniform rules for resolving a security conflict or the like.
  • the reporting service 410 provides uniform control over reporting functions associated with the modular services. For example, uniform control over what reporting is required, the contents of reports, parties receiving reports, actions that may result in alerts/notifications, parties receiving notification/alerts and the like.
  • the governance service 412 and audit service 413 provides uniform control over governance and auditing features applicable to the modular services.
  • the governance service 412 and audit service 413 provides uniform rules, regulations and procedures for rules exceptions, approval chains for granting exceptions, auditing procedures, auditing schedules and the like.
  • the modular services 404 provided by service delivery application 400 may include, but are not limited to, file transfer/movement module 414 , messaging module 416 , web services module 418 , data archiving module 420 and any other service module 422 .
  • File transfer/movement module 414 provides a unified open-source approach to moving data (e.g., file transfers, conducting transactions and the like) to and from devices (e.g., servers) deployed in the enterprise.
  • the file transfer/data movement module 414 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to move data to and from networked devices.
  • the file transfer/data movement module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific file transfer applications.
  • the file transfer/movement module 414 is configured to provide a web-accessible view to manage file transfer/data movement, as well as track/monitor the movement of data within the enterprise in real-time or near real-time.
  • the file transfer/movement module 414 is configured to provide for data movement/file transfer at the device-level and/or at the application-level, such that data can be moved from one networked device to another, from one networked device to an application, or from one application to another application.
  • the file transfer/data movement module 414 relies on the request management 202 function of the service delivery management framework 200 to provide a requisite protocol for file transfer, thus, eliminating the need to locate and implement a secondary network device to perform protocol-agnostic data movement/file transfer. As a result complexity and overhead are significantly reduced.
  • the file transfer/movement module 414 is configured to provide entitlements at the server-level or at the data-level, as opposed to granting entitlements at the user-level.
  • the file transfer/module 414 looks at whether movement of data is permissible from device-to-device and/or application-to-application.
  • a user is granted access to the file transfer/movement module 414 and may be pre-configured to perform certain actions within the file transfer/movement module 414 (i.e., the user has access at the application/module-level and may be provided granular access to perform specific actions only).
  • any module user pre-configured to use the module and perform the requisite function, can request data movement/file transfer between the devices and/or applications.
  • the user is not required to have nor are they provided physical access to the devices from which data is communicated and/or received.
  • the devices from which the data is communicated and received remain secure throughout the data movement/file transfer/transaction process, since the user does not have physical access to the devices and, therefore, does have access to other files/data stored on those devices (e.g., exploit vulnerabilities associated with having to log-on to the servers/devices).
  • the file transfer/movement module 414 is configured to implement a device/server rating system as a means of determining whether the devices are entitled for a data connection (e.g., whether the devices can exchange data/conduct transactions or the like).
  • the rating system may be based on the type of data that a device is configured to send or receive (e.g., confidential data, proprietary data, public data and the like).
  • a secondary rating may be provided to account for the geographic location of the device within the enterprise (taking into account that certain geographic locations/countries may have rules/laws in place restricting the type of data that may be communicated/received within the countries geographic locale/boundaries).
  • Messaging module 416 provides a unified open-source approach to message brokering/queuing.
  • the messaging module may comprise message-oriented middleware that supports sending and receiving messages between distributed systems.
  • the messaging module allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols.
  • the module 416 creates a distributed communications layer that insulates the module from specifics of operating systems and network interfaces. As such, the messaging module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific messaging applications.
  • Web services module 418 is configured to provide a unified open-source approach to enabling legacy applications that do not include web services with web services capabilities.
  • the web service module 418 communicates with the legacy application to create a web services interface and/or provide a web browser.
  • the web services module 418 is configured to provide one consolidated methodology for accessing different operating systems and networked devices enable legacy applications with web services capabilities.
  • the web services module 418 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocols and operating system-specific web services applications.
  • Data archiving module 420 is configured to provide a unified open-source approach to data archiving.
  • the data archiving module 420 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to archive data.
  • the data archiving module 420 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific data archiving applications.
  • service delivery application 404 may include other known or future-known service modules 422 , which can be configured to provide a consolidated methodology for accessing operating systems and network devices to perform the desired service.
  • Service delivery management framework 200 is a web services framework which serves to integrate and connect the services provided by the service delivery application 400 .
  • Service delivery management framework 200 is extensible and may be configured, in specific embodiments to include, request management 202 , inventory management 204 , billing management 206 , provisioning management 208 and operational status management 210 .
  • request management 202 is configured to manage a request to deliver a service provided by service delivery application 400 , include a request to move data/transfer a file or the like.
  • Request management 202 may include configuring the service, verifying security and compliance, verifying/receiving requisite approval chain and the like.
  • Billing management 206 is configured to automatically determine the volume of data being moved/transferred, apply a billing rate to the data being moved/transferred, determine a billing entity associated with the data and communicate billing data (e.g., invoice) to the billing entity.
  • Provisioning management 208 is configured to work in unison with the provisioning service 406 in the common core services 402 of the delivery service application 400 to provide a unified approach to provisioning new modules and updates/revisions to existing modules. Such provisioning management includes determining deployment times and schedules and the like.
  • Operational status management 210 includes providing a user interface that is configured to provide real-time access to tracking data and performance metrics, such as real-time tracking of data movement/file transfer within the enterprise.
  • FIG. 3 a block diagram is presented of the apparatus 500 , which is configured for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise, in accordance with embodiments of the present invention.
  • the apparatus 500 may include one or more of any type of computing device, such as a server or the like.
  • the present apparatus and methods can accordingly be performed on any form of one or more computing devices.
  • the apparatus 500 includes computing platform 502 that can receive and execute algorithms, such as routines, and applications.
  • Computing platform 502 includes memory 504 , which may comprise volatile and non-volatile memory, such as read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms.
  • memory 504 may include one or more flash memory cells, or may be any secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk.
  • memory 504 may comprise cloud storage, such as provided by a cloud storage service and/or a cloud connection service.
  • computing platform 502 also includes processor 506 , which may be an application-specific integrated circuit (“ASIC”), or other chipset, processor, logic circuit, or other data processing device.
  • processor 506 or other processor such as ASIC may execute an application programming interface (“API”) (not shown in FIG. 3 ) that interfaces with any resident programs, such as service delivery application 400 and routines, sub-modules associated therewith or the like stored in the memory 504 of the apparatus 500 .
  • API application programming interface
  • Processor 506 includes various processing subsystems (not shown in FIG. 3 ) embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of apparatus 500 and the operability of the apparatus on a network.
  • processing subsystems allow for initiating and maintaining communications and exchanging data with other networked devices, such as hub server ( 10 of FIG. 1 ).
  • processing subsystems of processor 506 may include any subsystem used in conjunction with service delivery application 400 and related algorithms, sub-algorithms, modules, sub-modules thereof.
  • Computer platform 502 may additionally include communications module (not shown in FIG. 3 ) embodied in hardware, firmware, software, and combinations thereof, that enables communications among the various components of the apparatus 500 , as well as between the other networked devices.
  • communications module may include the requisite hardware, firmware, software and/or combinations thereof for establishing and maintaining a network communication connection.
  • the memory 504 of apparatus 500 stores service delivery application 400 that is a modular-based, operating-system agnostic and protocol-agnostic means for providing services throughout an enterprise.
  • the service delivery application eliminates the need for the enterprise to execute and maintain a multitude of operating system-specific and protocol-specific service applications.
  • the service delivery application is instrumental in decreasing overhead costs associated with maintaining the multitude of diverse service applications.
  • the data transfer module 414 included in the service delivery application 400 eliminates the need for the enterprise to execute, maintain and ensure compatibility numerous different file transfer applications that may be specific to operating systems/hardware and operating using specific file transfer protocols.
  • the modular-based service delivery application 400 provides for comprehensive and unified management over the services delivered by the application 400 .
  • Such unified and comprehensive management of the services is accomplished by the common core services 402 included in the application 400 .
  • the common core modular services 402 are common to all of the modular services 404 in the application 400 .
  • the core modular services may include, but are not necessarily limited to, provisioning module 406 , security module 408 , reporting module 408 , governance module 410 , tracking module 411 and auditing module 412 . These core modular services may be applied to any of the modular services to which the core service is applicable.
  • the application may be configured such that a user has access to one or more user-interfaces/dashboards that allow for the user to manage and/or view the common core services.
  • the user-interface/dashboard may be configured to be specific to a common core service (e.g., such that each common core service UI/dashboard provides access to and control over each of the modular services 404 ) and/or specific to a modular service (e.g., such that each modular service UI/dashboard provides access to and control over each of the common core services for the specified modular service).
  • a common core service e.g., such that each common core service UI/dashboard provides access to and control over each of the modular services 404
  • a modular service e.g., such that each modular service UI/dashboard provides access to and control over each of the common core services for the specified modular service.
  • the provisioning module service 406 is configured to provide for uniform deployment of new modular services 404 and deployment of revisions/updates to existing modular services 404 . In specific embodiments of the invention, as discussed previously in relation to FIG. 1 and infra. In relation to FIG. 4 , the provisioning module service 406 is configured to determine and automatically implement an optimal schedule (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks. The determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels assigned to networked devices 20 in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise.
  • an optimal schedule i.e., staging
  • the determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels assigned to networked devices 20 in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise.
  • the security module service 408 is configured to provide uniform control over the security features applicable to the modular services 404 .
  • the security module service 408 provides uniform rules, regulations and procedures for security.
  • the security module service 408 provides uniform rules related to authenticating a protocol/module, uniform rules associated with encryption, uniform rules for resolving a security conflict or the like.
  • the reporting module service 410 provides uniform control over reporting functions associated with the modular services. For example, the reporting module service 410 provides uniform control over what reporting is required, the contents of reports, parties receiving reports, and the like.
  • the governance module service 412 is configured to provide uniform control over governance including, but not limited to, rules, regulations and procedures for rule exceptions, approval chains for granting exceptions and the like.
  • the tracking service 411 is configured to provide uniform control and management over tracking functions associated with the modular services; such as, but not limited, tracking file transfer/data movement throughout the enterprise.
  • the auditing service 413 is configured to provide uniform control auditing requirements, such as, but not limited to, auditing procedures, auditing schedules and the like.
  • the modular services 404 provided by service delivery application 400 are dictated by the needs of the enterprise and, therefore, will vary from enterprise-to-enterprise. In addition, since the system is modular-based additional modules can be inserted into the application 400 on an as needed basis.
  • the modular services 404 included in the application 400 include file transfer/movement module 414 that is configured to provides a unified open-source approach to moving data (e.g., file transfers, conducting transactions and the like) to and from devices (e.g., servers) and/or applications deployed in the enterprise.
  • the file transfer/movement module 414 is configured to establish protocol-agnostic data connections 508 between networked devices (e.g., services) or applications residing in networked devices and to initiate data movement, file transfers, transactions via the established data connections.
  • networked devices e.g., services
  • applications residing in networked devices
  • the file transfer/data movement module 414 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to move data to and from networked devices. As such, the file transfer/data movement module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific file transfer applications.
  • the file transfer/movement module 414 is configured to provide server-level entitlements 510 , as opposed to granting entitlements at the user-level.
  • the file transfer/module 414 looks at whether movement of data is permissible from device-to-device and/or application-to-application.
  • a user is granted access to the file transfer/movement module 414 and may be pre-configured to perform certain actions within the file transfer/movement module 414 (i.e., the user has access at the application/module-level and may be provided granular access to perform specific actions only).
  • any module user pre-configured to use the module and perform the requisite function, can request data movement/file transfer between the devices and/or applications.
  • the user is not required to have nor are they provided physical access to the devices from which data is communicated and/or received.
  • the file transfer/movement module 414 is configured to implement a device/server rating system 512 as a means of determining whether the devices are entitled for a data connection (e.g., whether the devices can exchange data/conduct transactions or the like).
  • the rating system may be based on the type of data that a device is configured to send or receive (e.g., confidential data, proprietary data, public data and the like).
  • a secondary rating may be provided to account for the geographic location of the device within the enterprise (taking into account that certain geographic locations/countries may have rules/laws in place restricting the type of data that may be communicated/received within the countries geographic locale/boundaries).
  • additional optional modular services 404 may include web services module 418 , messaging module 416 , data archiving module 420 and any other service module 422 .
  • Web services module 418 is configured to provide a unified open-source approach to enabling legacy applications that do not include web services with web services capabilities.
  • the web service module 418 communicates with the legacy application to create a web services interface and/or provide a web browser.
  • the web services module 418 is configured to provide one consolidated methodology for accessing different operating systems and networked devices enable legacy applications with web services capabilities.
  • Messaging Module 416 provides a unified open-source approach to message brokering/queuing.
  • the messaging module 416 may comprise message-oriented middleware that supports sending and receiving messages between distributed systems.
  • the messaging module allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols.
  • the module 416 creates a distributed communications layer that insulates the module from specifics of operating systems and network interfaces.
  • Data archiving module 420 is configured to provide a unified open-source approach to data archiving.
  • the data archiving module 420 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to archive data.
  • FIG. 4 a block diagram is presented of the apparatus 500 , which is configured for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise including a provisioning module for managing deployment of new services/modules and updates to existing services/modules, in accordance with embodiments of the present invention.
  • FIG. 4 highlights various alternate embodiments of the invention.
  • the apparatus 500 may include one or more of any type of computing device, such as a server or the like.
  • the present apparatus and methods can accordingly be performed on any form of one or more computing devices.
  • the apparatus 500 includes computing platform 502 that can receive and execute algorithms, such as routines, and applications.
  • Computing platform 502 includes memory 504 , which may comprise volatile and non-volatile memory, such as read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms.
  • memory 504 may include one or more flash memory cells, or may be any secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk.
  • memory 504 may comprise cloud storage, such as provided by a cloud storage service and/or a cloud connection service.
  • computing platform 502 also includes processor 506 , which may be an application-specific integrated circuit (“ASIC”), or other chipset, processor, logic circuit, or other data processing device.
  • processor 506 or other processor such as ASIC may execute an application programming interface (“API”) (not shown in FIG. 4 ) that interfaces with any resident programs, such as service delivery application 400 and routines, sub-modules associated therewith or the like stored in the memory 504 of the apparatus 500 .
  • API application programming interface
  • Processor 506 includes various processing subsystems (not shown in FIG. 4 ) embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of apparatus 500 and the operability of the apparatus on a network.
  • processing subsystems allow for initiating and maintaining communications and exchanging data with other networked devices, such as hub server ( 10 of FIG. 1 ).
  • processing subsystems of processor 506 may include any subsystem used in conjunction with service delivery application 400 and related algorithms, sub-algorithms, modules, sub-modules thereof.
  • Computer platform 502 may additionally include communications module (not shown in FIG. 4 ) embodied in hardware, firmware, software, and combinations thereof, that enables communications among the various components of the apparatus 500 , as well as between the other networked devices.
  • communications module may include the requisite hardware, firmware, software and/or combinations thereof for establishing and maintaining a network communication connection.
  • the memory 504 of apparatus 500 stores service delivery application 400 that is configured to provide operating system-agnostic, modular-based delivery of services throughout an enterprise, in accordance with embodiments of the present invention.
  • the service delivery application 400 includes a plurality of modules, such that each module delivers one or more services to the enterprise and are interchangeable, such that new modules can added to (or removed from) the service delivery application.
  • provisioning module 406 that is configured to provide management 600 over services delivered by the modules, and version updates to the services delivered by the modules.
  • provisioning module 406 is further configured to provide management over version rollbacks (e.g., progressing from a higher revision to a lower revision, typically due to a version update being implemented that has errors or is otherwise subsequently found to be defective).
  • the provisioning module 406 is configured to determine and automatically implement an optimal schedule 602 (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks.
  • the determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels 604 assigned to networked devices in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise 606 .
  • lifecycle levels may include, but are not limited to, development, system integration testing (SIT), user acceptance testing (UAT), pre-production and production.
  • SIT system integration testing
  • UAT user acceptance testing
  • pre-production and production may include, but are not limited to, development, system integration testing (SIT), user acceptance testing (UAT), pre-production and production.
  • a new service module may first be deployed/rolled-out to development-level networked devices/servers, followed by testing (SIT or UAT)-level networked devices/servers, followed by pre-production-level and production-level networked devices.
  • the security risks posed by the new service module or the like may dictate how long (e.g., 30 days, 90 days or the like) implementation is limited to or required at a specified level (e.g., how long the rollout is limited to being deployed only on development-level and/or test-level devices before rolling out the service module or pre-production-level devices and, subsequently, production-level devices). Further, an update to a version of a service may first be deployed/rolled-out to test-level networked devices, followed by pre-production-level and production-level networked devices (i.e., the nature of the version update may dictate that implementation at the development level is not warranted). Other factors, such as the features implemented in the updated version module, the security risks posed by the version being replaced or the like may dictate how long implementation is limited to a specified level.
  • Rules associated with segments within the enterprise 606 may include rules associated with divisions, lines-of-business (LOBs) or other environments within the enterprise (i.e., any portion of the enterprise that requires service deployment rules).
  • the rules which may or may not be implemented in conjunction with lifecycle level deployment/updates, may dictate the order and the timing for new service/module deployment, as well as, updates to existing services/modules. Timing rules may ensure that deployment of new services and/or revisions occur so as to minimize the impact on other functions being performed by the networked device and/or service delivery application (i.e., during times when the application and/or device is undergoing minimal use).
  • the provisioning module 406 may be configured to recognize such errors and, based on the nature and/or type of error, automatically re-determine updated optimal schedules for deployment and/or update of services. For example, if the provisioning module 406 identifies a serious error at the development-level of deployment of a new service module, further deployment may be suspended until the error is deemed corrected and future optimal staging of the deployment may be adjusted to account for the error (i.e., the revised version may remain in the development-level for a longer period of time to ensure that the reason behind the previous error has been properly addressed and is no longer prevalent).
  • the provisioning module 400 is further configured to deny/block execution 608 of non-permitted/outdated service versions.
  • the service modules are configured such that upon user request to implement a service (i.e., launch, prior to execution, the service module will send a communication (referred to as “call-home”) to the provisioning module to verify 610 that the version that they are running is a valid, permitted version of the service. If the user is denied/blocked from executing the non-permitted or outdated version of the service, the provisioning module 406 may be configured to deploy an update, schedule an update and notify/alert the user of the scheduled update and/or alert the user that an update is required prior to executing the service.
  • the provisioning module 400 is configured to determine scheduling and automatically implement deactivation of a declining/outdated version 612 .
  • a declining/outdated version can still be executed during the period in which the emerging/updated version is being deployed. In such instances, the declining/outdated version will be scheduled for deactivation, either simultaneously across all networked devices implementing the services or on a device-to-device basis, and deactivation will automatically occurred according to an optimally determined schedule or staging for the deactivation.
  • the provisioning module 406 is configured to communicate alerts 614 to users of the service delivery application 400 .
  • the alerts 614 may be configured to notify the users of a pending deactivation 616 of a declining/outdated service version including a stated time for deactivation.
  • the alert 614 may be configured to notify the user (individual, group or system) of a need to activate/download or otherwise acquire (e.g., schedule) an emerging/new version of a service 618 .
  • alert 614 that is configured to notify the user of a declining/outdated version 616 may be additionally configured to notify the user of the need to activate/acquire the emerging/new version 618 of the service.
  • the provisioning module 400 may be configured to provide for side-loading 620 of new services, version updates, patches, fixes or the like.
  • Side-loading allows for an update/new version of a service to be loaded on a device/server while the existing/current version of the service is simultaneously executing 622 on the device/server. Additionally, side-loading allows for new services/modules to be implemented/loaded into the service delivery application without affecting the ability of other services to simultaneously execute on the device/server.
  • systems, apparatus, methods, and computer program products described above provide for a technology-agnostic and protocol-agnostic means for delivering services within an enterprise, including management over provisioning of the services (e.g., deploying new services and updating existing services).
  • embodiments herein described provide for managing provisioning by determination and automatic implementation of an optimal schedule for service deployment, service version updates and service version roll-backs. Such determination of the optimal schedule is based on (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application, and/or (ii) segments within the enterprise.
  • managing provisioning includes providing the ability to deny/block execution of non-permitted versions and alert users of declining/outdated versions and/or emerging new versions.
  • embodiments herein described provide for managing provisioning such that updates to revision occur by side-loading updated versions to allow for users to simultaneously use a declining version of a service while the emerging version is loaded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

A technology/operating system-agnostic and protocol-agnostic modular-based service delivery system that includes a management of enterprise-wide deployment of services and updates to services delivered by the modules of the system. Management includes determination and automatic implementation of an optimal schedule for service deployment, service version updates and service version roll-backs based on (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application, and/or (ii) segments within the enterprise.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 14/603,144, filed Jan. 22, 2015; the contents of which are hereby incorporated by reference.
FIELD
In general, embodiments of the invention relate to network data communication and, more particularly, a technology-agnostic and protocol-agnostic data modular-based system that includes enterprise-wide, centralized, management over the deployment and updating of services delivered by the modules of the system.
BACKGROUND
In large enterprise businesses, different software systems (otherwise referred to as applications, modules and the like) are deployed for the purpose of carrying out prescribed actions. For example, an enterprise may deploy one or more software systems to monitor the health of the computing system, one or more other software systems to move data throughout the enterprise and one or more other software systems for messaging. All of these software systems are stacked on the servers within the enterprise to carry out the request functionality. Each of these software systems are generally independent of each other; i.e., different commercial manufacturers and/or execute under different operating systems. As such, these diverse software systems require a high degree Information Technology (IT) support and maintenance to ensure that the systems are capable of working in unison. Additionally, each of these independent software systems implement distinct tracking controls and governance, which further increase maintenance costs.
Further, in many large enterprises, computing servers or other networked devices are distributed globally across a diverse computing network infrastructure. The various servers deployed in the network implement many different operating systems that execute a myriad of different software packages, applications, tools and the like. In many instances a single server may host many different software packages, applications or the like.
Further, in large enterprises, with many different computing environments and business units/lines-of-business (LOBs), timely deployment of services and/or the updating/patching of such services is highly problematic. This is because the data associated with servers, business units/LOBs and other data relevant to deploying the updates is spread across many different data sources and the like.
Therefore, a need exists to develop systems, apparatus, computer program products, methods and the like that for a unified and comprehensive service delivery system that is extensible and provides one methodology for accessing Operating Systems (OSs) and all of the servers deployed throughout an enterprise. Further, a need exists to manage deployment of services and updates to such services and, specifically, automate the process of deploying the services and providing updated versions of the services, such that the deployment of critical updates/patches across all computing servers requiring such is ensured and occurs within prescribed time limits. Moreover, a need exists to automatically determine optimal schedule for deploying the software and/or update/patch to each of the network devices requiring such.
SUMMARY OF THE INVENTION
The following presents a simplified summary of one or more embodiments in order to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments, nor delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later.
Embodiments of the present invention address the above needs and/or achieve other advantages by providing apparatus, systems, computer program products, methods or the like for a technology-agnostic and protocol-agnostic modular-based system for delivering services including management over the provisioning of such services (i.e., deployment of services and updating such services with new versions and/or features). In this regard, present embodiments of the invention provide for a singular, shared approach to management of provisioning of all services provided by the service delivery system, thereby providing a more efficient approach that is easier to support and reduces overhead.
Management of the provisioning includes determining and automatically implementing optimal schedules for deploying services, updating versions of the services and rolling back versions of the services the based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (e.g., divisions, lines of business (LOBs) and the like).
In addition, management of the provisioning includes denying/blocking execution of non-permitted service versions. Such denial/blocking of non-permitted versions may be accomplished by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
In still further embodiments of the invention, management of the provisioning includes schedule and implementing deactivation of a declining service version, including alerting service delivery application users of a pending deactivation of a declining service version (e.g., an outdated version) and a need to download an emerging version (e.g., a new version). Moreover, in other embodiments herein described management of provisioning includes implementing side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
A system for managing deployment and update of services within an enterprise, defines first embodiments of the invention. The system includes a distributed network of servers, wherein each server has an assigned/registered lifecycle level. The system further includes an operating system-agnostic, modular-based, service delivery application that is stored in network memory and executable by a processor. The application includes a plurality of modules, each module configured to deliver a service to the enterprise. The modules include a provisioning module configured to provide management over deployment of the services delivered by the modules and version updates to the services delivered by the modules, including determine and automatically implement an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (e.g., divisions, lines-of-business (LOBs) and the like).
In specific embodiments of the system, the provisioning module is further configured to determine and automatically implement the optimal schedule which provides for staging service deployment and service version updates over a predetermined period of time based on one or more of (i) the predetermined lifecycle levels assigned to the networked devices and (ii) the segments within the enterprise.
In other specific embodiments of the system, the provisioning module is further configured to automatically implement service version rollbacks. In specific embodiments of the invention, the provisioning module is further configured to determine and automatically implement an optimal schedule for the service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application and (ii) segments within the enterprise.
In further specific embodiments of the system, the provisioning module is further configured deny execution of non-permitted service versions. In such embodiments of the system, the provisioning module may be further configured to deny execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
Moreover, in further specific embodiments of the system, the provisioning module is further configured to schedule deactivation of a declining service version. In this regard, the provisioning module may be further configured alert service delivery application users of a pending deactivation of a declining service version and a need to download an emerging version.
In still further embodiments of the system, the provisioning module is further configured to implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
An apparatus for managing deployment and update of services within an enterprise defines second embodiments of the invention. The apparatus includes a computing platform having a memory and at least one processor in communication with the memory. The apparatus further includes an operating system-agnostic, modular-based, service delivery application that is stored in the memory and executable by the processor. The service delivery application includes a plurality of modules, each module configured to deliver a service to the enterprise. The modules include a provisioning module configured to provide management over deployment of the services delivered by the modules and version updates to the services delivered by the modules. The management over deployment and version updates includes determining and automatically implementing an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise (divisions, departments, lines-of-business (LOBs) and the like).
In specific embodiments of the apparatus, the provisioning module is further configured to determine and automatically implement the optimal schedule which provides for staging service deployment and service version updates over a predetermined period of time based on one or more of (i) the predetermined lifecycle levels assigned to the networked devices and (ii) the segments within the enterprise.
In other specific embodiments of the apparatus, the provisioning module is further configured to determine and automatically implement an optimal schedule for service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application and (ii) segments within the enterprise.
Moreover, in other specific embodiments of the apparatus, the provisioning module is configured to deny/block execution of non-permitted service versions. In such embodiments of the apparatus, the provisioning module may be configured to deny/block execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
In still further specific embodiments of the apparatus, the provisioning module is configured to schedule deactivation of a declining service version and/or alert service delivery application users of a pending deactivation of a declining service version and a need to download an emerging version. In still further specific embodiments of the apparatus, the provisioning module configured to implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
A computer program product including a non-transitory computer-readable medium defines third embodiments of the invention. The computer-readable medium includes a first set of codes for causing a computer to a determine and automatically implement an optimal schedule for service deployment and service version updates based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application and (ii) segments within the enterprise. The computer-readable medium additionally includes a second set of codes for causing a computer to determine and automatically implement an optimal schedule for service version rollbacks based on one or more of (i) predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application, and (ii) segments within the enterprise.
Thus, systems, apparatus, methods, and computer program products herein described in detail below provide for a technology-agnostic and protocol-agnostic means for providing services within an enterprise including management over provisioning of the services (e.g., deploying new services and updating existing services). Specifically, embodiments herein described provide for managing provisioning by determination and automatic implementation of an optimal schedule for service deployment, service version updates and service version roll-backs. Such determination of the optimal schedule is based on (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application, and/or (ii) segments within the enterprise. In further embodiments herein described, managing provisioning includes providing the ability to deny/block execution of non-permitted versions and alert users of declining/outdated versions and/or emerging new versions. Additionally, embodiments herein described provide for managing provisioning such that updates to revision occur by side-loading updated versions to allow for users to simultaneously use a declining version of a service while the emerging version is loaded.
To the accomplishment of the foregoing and related ends, the one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more embodiments. These features are indicative, however, of but a few of the various ways in which the principles of various embodiments may be employed, and this description is intended to include all such embodiments and their equivalents.
BRIEF DESCRIPTION OF THE DRAWINGS
Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 provides a schematic diagram of a system for enterprise-wide service delivery including data movement/transfer and related management, in accordance with embodiments of the present invention;
FIG. 2 provides a block diagram of a system for enterprise-wide service delivery including data movement/transfer and related management, in accordance with embodiments of the present invention;
FIG. 3 provides a block diagram of the apparatus configured for an extensible module system including technology/OS-agnostic and protocol-agnostic data movement, in accordance with embodiments of the present invention; and
FIG. 4 provides a block diagram of an apparatus configured for managing the provisioning of services in an enterprise-wide modular-based service delivery system, in accordance with embodiments of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
Embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. Although some embodiments of the invention described herein are generally described as involving a “financial institution,” one of ordinary skill in the art will appreciate that the invention may be utilized by other businesses that take the place of or work in conjunction with financial institutions to perform one or more of the processes or steps described herein as being performed by a financial institution.
As will be appreciated by one of skill in the art in view of this disclosure, the present invention may be embodied as an apparatus (e.g., a system, computer program product, and/or other device), a method, or a combination of the foregoing. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may generally be referred to herein as a “system.” Furthermore, embodiments of the present invention may take the form of a computer program product comprising a computer-usable storage medium having computer-usable program code/computer-readable instructions embodied in the medium.
Any suitable computer-usable or computer-readable medium may be utilized. The computer usable or computer readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (e.g., a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires; a tangible medium such as a portable computer diskette, a hard disk, a time-dependent access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a compact disc read-only memory (CD-ROM), or other tangible optical or magnetic storage device.
Computer program code/computer-readable instructions for carrying out operations of embodiments of the present invention may be written in an object oriented, scripted or unscripted programming language such as Java, Perl, Smalltalk, C++ or the like. However, the computer program code/computer-readable instructions for carrying out operations of the invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages.
Embodiments of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods or apparatuses (the term “apparatus” including systems and computer program products). It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a particular machine, such that the instructions, which execute by the processor of the computer or other programmable data processing apparatus, create mechanisms for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions, which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. Alternatively, computer program implemented steps or acts may be combined with operator or human implemented steps or acts in order to carry out an embodiment of the invention.
According to embodiments of the invention described herein, various systems, apparatus, methods, and computer program products are herein described for a technology-agnostic and protocol-agnostic system for delivering services, including management over the provisioning of such services (i.e., deployment of services and updating such services with new versions and/or features). In this regard, present embodiments of the invention provide for a singular, shared, common-stack approach to management of provisioning of all services provided by the service delivery system, thereby providing a more efficient approach that is easier to support and reduces overhead.
Management of the provisioning includes determining and automatically implementing optimal schedules (i.e., staging rollout) for deploying services, updating versions (otherwise referred to as revisions, patches, fixes and the like) of the services and rolling back versions of the services the based on one or more of (i) predetermined lifecycle levels (e.g., development, test, pre-production, production and the like) assigned to networked devices in the enterprise executing the service delivery application, and (ii) rules associated with segments within the enterprise (e.g., divisions, lines of business (LOBs) and the like).
In addition, management of the provisioning includes denying/blocking execution of non-permitted service versions. Such denial/blocking of non-permitted versions may be accomplished by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version.
In still further embodiments of the invention, management of the provisioning includes schedule and implementing deactivation of a declining/outdated service version, including alerting service delivery application —users of a pending deactivation of a declining service version (e.g., an outdated version) and a need to activate or download an emerging version (e.g., a new version). Moreover, in other embodiments herein described management of provisioning includes implementing side-loading of version updates or new service modules to allow a user to simultaneously execute other modules or a current version while the version update is occurring.
Referring to FIG. 1, a schematic diagram is provided of a system 100 for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise. The system 100 is configured as a hub-and-spoke model, in which the hub server 10 provides for management of the service delivery system via service delivery management framework 200 and the spoke servers 20, implemented throughout the enterprise, are deployed with a modular service delivery application 400. The service delivery application 400 is an open source-based web-services application and, as such, can be deployed and/or executed on any type of server (technology-agnostic) executing any type of operating system (OS-agnostic). The modular nature of the application means that the service delivery system is extensible; as additional services are added new modules within the application 400 may be added/plugged-in into the application 400. As such, the present invention provides a holistic approach to service delivery that results in an enterprise-wide solution for service delivery.
Service delivery application 400 provides uniform management for all of the services delivered by service delivery application 400. In this regard, service delivery application 400 includes core services that act as a unifier to provide umbrella-like management over security, governance (approvals and exceptions), provisioning (new modules and revisions to modules), auditing, tracking, reporting and the like. Such uniformity in management provides efficiency and eliminates the need to resolve conflicts that arise in disparate applications having distinct security, governance, provisioning protocols, rules and regulations. For example, from a security perspective when individual protocol-specific data transfer applications are executed by an enterprise, each application will typically require a separate SSL (Secure Socket Layer) certificate to exist on each server; however, the present invention is configured such that only a single SSL certificate per server and the single SSL certificate can be used to authenticate all of the services delivered by the application 400. It should be noted that while the system only requires a single SSL certificate per server, the application 400 is configured to accommodate multiple SSL certificates if the application or a module within the application warrants such.
As previous noted, the service delivery application 400 includes a provisioning module (shown and described in FIGS. 2-4) that is configured to provide management over the deployment of new service modules within the service delivery application 400, as well as, version updates (or in some instance version rollbacks) to currently implemented service modules. In this regard, the provisioning module provides uniform management and control over all of the services delivered by the various modules included within the service delivery application 400. Management includes automatically determining and scheduling deployment updates/revision and/or new modules so as to limit the impact of the deployment on production use of the server and/or other associated resources.
In specific embodiments of the invention, the provisioning module is configured to determine and automatically implement an optimal schedule (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks. The determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels assigned to networked devices 20 in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise.
For example, lifecycle levels may include, but are not limited to, development, system integration testing (SIT), user acceptance testing (UAT), pre-production and production. In this regard, a new service module may first be deployed/rolled-out to development-level networked devices/servers, followed by testing (SIT or UAT)-level networked devices/servers, followed by pre-production-level and production-level networked devices. Other factors, such as the features implemented in the new service module, the security risks posed by the new service module or the like may dictate how long implementation is limited to a specified level (e.g., how long the rollout is limited to being deployed only on development-level and/or test-level devices before rolling out the service module or pre-production-level devices and, subsequently, production-level devices). Further, an update to a version of a service may first be deployed/rolled-out to test-level networked devices, followed by pre-production-level and production-level networked devices (i.e., the nature of the version update may dictate that implementation at the development level is not warranted). Other factors, such as the features implemented in the updated version module, the security risks posed by the version being replaced or the like may dictate how long implementation is limited to a specified level.
Rules associated with segments within the enterprise may include rules associated with divisions, lines-of-business (LOBs) or other environments within the enterprise (i.e., any portion of the enterprise that requires service deployment rules). The rules, which may or may not be implemented in conjunction with lifecycle level deployment/updates, may dictate the order and the timing for new service/module deployment, as well as, updates to existing services/modules. Timing rules may ensure that deployment of new services and/or revisions occur so as to minimize the impact on other functions being performed by the networked device and/or service delivery application (i.e., during times when the application and/or device is undergoing minimal use).
Referring to FIG. 2, a block diagram is presented of a system 100 configured for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise, in accordance with an embodiment of the present invention. The system 100 includes modular service delivery application 400 that includes common core modular services 402 and modular services 404. The core services 402 are common to all of the modular services 404 in the application and provide for unified umbrella-like management of the modular services. The core services may include, but are not necessarily limited to, provisioning module 406, security module 408, reporting module 408 and governance/auditing module 410.
As previously noted, in accordance with embodiments of the present invention, the provisioning module service 406 is configured to provide for uniform management over the deployment of new modular services 404 and deployment of revisions/updates (i.e., new version) to existing modular services 404. In specific embodiments of the invention, as discussed in relation to FIG. 1, provisioning module service 406 is configured to provide hierarchical ordering of deployment based on criticality (i.e., lifecycle level of the), compliance and the like. Additionally, provisioning module service 406 is configured to automatically schedule deployment updates/revision and/or new modules so as to limit the impact of the deployment on production use of the server and/or other associated resources. Additionally, provisioning service 406 is configured to allow for non-compliant versions to be deployed with proper recordation/logging in place and for execution of non-permitted versions to be denied/blocked from executing.
The security service 408 provides uniform control over the security features applicable to the modular services 404. In this regard, the security service 408 provides uniform rules, regulations and procedures for security. For example, uniform rules related to authenticating a protocol/module, uniform rules associated with encryption, uniform rules for resolving a security conflict or the like.
The reporting service 410 provides uniform control over reporting functions associated with the modular services. For example, uniform control over what reporting is required, the contents of reports, parties receiving reports, actions that may result in alerts/notifications, parties receiving notification/alerts and the like.
The governance service 412 and audit service 413 provides uniform control over governance and auditing features applicable to the modular services. In this regard, the governance service 412 and audit service 413 provides uniform rules, regulations and procedures for rules exceptions, approval chains for granting exceptions, auditing procedures, auditing schedules and the like.
The modular services 404 provided by service delivery application 400 may include, but are not limited to, file transfer/movement module 414, messaging module 416, web services module 418, data archiving module 420 and any other service module 422.
File transfer/movement module 414 provides a unified open-source approach to moving data (e.g., file transfers, conducting transactions and the like) to and from devices (e.g., servers) deployed in the enterprise. The file transfer/data movement module 414 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to move data to and from networked devices. As such, the file transfer/data movement module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific file transfer applications. In specific embodiments of the invention, the file transfer/movement module 414 is configured to provide a web-accessible view to manage file transfer/data movement, as well as track/monitor the movement of data within the enterprise in real-time or near real-time.
In specific embodiments of the invention, the file transfer/movement module 414 is configured to provide for data movement/file transfer at the device-level and/or at the application-level, such that data can be moved from one networked device to another, from one networked device to an application, or from one application to another application. In further specific embodiments of the invention, the file transfer/data movement module 414 relies on the request management 202 function of the service delivery management framework 200 to provide a requisite protocol for file transfer, thus, eliminating the need to locate and implement a secondary network device to perform protocol-agnostic data movement/file transfer. As a result complexity and overhead are significantly reduced.
Moreover, in additional embodiments of the invention, the file transfer/movement module 414 is configured to provide entitlements at the server-level or at the data-level, as opposed to granting entitlements at the user-level. In this regard, the file transfer/module 414 looks at whether movement of data is permissible from device-to-device and/or application-to-application. A user is granted access to the file transfer/movement module 414 and may be pre-configured to perform certain actions within the file transfer/movement module 414 (i.e., the user has access at the application/module-level and may be provided granular access to perform specific actions only). If two network devices and/or two applications are configured so to be entitled for data transfer (i.e., entitled for a data connection/file transfer) any module user, pre-configured to use the module and perform the requisite function, can request data movement/file transfer between the devices and/or applications. In this regard, unlike conventional, file transfer applications, the user is not required to have nor are they provided physical access to the devices from which data is communicated and/or received. As a result, the devices from which the data is communicated and received remain secure throughout the data movement/file transfer/transaction process, since the user does not have physical access to the devices and, therefore, does have access to other files/data stored on those devices (e.g., exploit vulnerabilities associated with having to log-on to the servers/devices).
In additional embodiments of the invention, the file transfer/movement module 414 is configured to implement a device/server rating system as a means of determining whether the devices are entitled for a data connection (e.g., whether the devices can exchange data/conduct transactions or the like). In specific embodiments of the invention, the rating system may be based on the type of data that a device is configured to send or receive (e.g., confidential data, proprietary data, public data and the like). In other specific embodiments of the invention, a secondary rating may be provided to account for the geographic location of the device within the enterprise (taking into account that certain geographic locations/countries may have rules/laws in place restricting the type of data that may be communicated/received within the countries geographic locale/boundaries).
Messaging module 416 provides a unified open-source approach to message brokering/queuing. The messaging module may comprise message-oriented middleware that supports sending and receiving messages between distributed systems. The messaging module allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The module 416 creates a distributed communications layer that insulates the module from specifics of operating systems and network interfaces. As such, the messaging module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific messaging applications.
Web services module 418 is configured to provide a unified open-source approach to enabling legacy applications that do not include web services with web services capabilities. In this regard, the web service module 418 communicates with the legacy application to create a web services interface and/or provide a web browser. The web services module 418 is configured to provide one consolidated methodology for accessing different operating systems and networked devices enable legacy applications with web services capabilities. As such, the web services module 418 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocols and operating system-specific web services applications.
Data archiving module 420 is configured to provide a unified open-source approach to data archiving. The data archiving module 420 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to archive data. As such, the data archiving module 420 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific data archiving applications.
Additionally, service delivery application 404 may include other known or future-known service modules 422, which can be configured to provide a consolidated methodology for accessing operating systems and network devices to perform the desired service.
Service delivery management framework 200 is a web services framework which serves to integrate and connect the services provided by the service delivery application 400. Service delivery management framework 200 is extensible and may be configured, in specific embodiments to include, request management 202, inventory management 204, billing management 206, provisioning management 208 and operational status management 210. As previously discussed, request management 202 is configured to manage a request to deliver a service provided by service delivery application 400, include a request to move data/transfer a file or the like. Request management 202 may include configuring the service, verifying security and compliance, verifying/receiving requisite approval chain and the like. Billing management 206 is configured to automatically determine the volume of data being moved/transferred, apply a billing rate to the data being moved/transferred, determine a billing entity associated with the data and communicate billing data (e.g., invoice) to the billing entity. Provisioning management 208 is configured to work in unison with the provisioning service 406 in the common core services 402 of the delivery service application 400 to provide a unified approach to provisioning new modules and updates/revisions to existing modules. Such provisioning management includes determining deployment times and schedules and the like. Operational status management 210 includes providing a user interface that is configured to provide real-time access to tracking data and performance metrics, such as real-time tracking of data movement/file transfer within the enterprise.
Referring to FIG. 3 a block diagram is presented of the apparatus 500, which is configured for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise, in accordance with embodiments of the present invention. In addition to providing greater detail, FIG. 3 highlights various alternate embodiments of the invention. The apparatus 500 may include one or more of any type of computing device, such as a server or the like. The present apparatus and methods can accordingly be performed on any form of one or more computing devices.
The apparatus 500 includes computing platform 502 that can receive and execute algorithms, such as routines, and applications. Computing platform 502 includes memory 504, which may comprise volatile and non-volatile memory, such as read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. Further, memory 504 may include one or more flash memory cells, or may be any secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk. Moreover, memory 504 may comprise cloud storage, such as provided by a cloud storage service and/or a cloud connection service.
Further, computing platform 502 also includes processor 506, which may be an application-specific integrated circuit (“ASIC”), or other chipset, processor, logic circuit, or other data processing device. Processor 506 or other processor such as ASIC may execute an application programming interface (“API”) (not shown in FIG. 3) that interfaces with any resident programs, such as service delivery application 400 and routines, sub-modules associated therewith or the like stored in the memory 504 of the apparatus 500.
Processor 506 includes various processing subsystems (not shown in FIG. 3) embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of apparatus 500 and the operability of the apparatus on a network. For example, processing subsystems allow for initiating and maintaining communications and exchanging data with other networked devices, such as hub server (10 of FIG. 1). For the disclosed aspects, processing subsystems of processor 506 may include any subsystem used in conjunction with service delivery application 400 and related algorithms, sub-algorithms, modules, sub-modules thereof.
Computer platform 502 may additionally include communications module (not shown in FIG. 3) embodied in hardware, firmware, software, and combinations thereof, that enables communications among the various components of the apparatus 500, as well as between the other networked devices. Thus, communication module may include the requisite hardware, firmware, software and/or combinations thereof for establishing and maintaining a network communication connection.
The memory 504 of apparatus 500 stores service delivery application 400 that is a modular-based, operating-system agnostic and protocol-agnostic means for providing services throughout an enterprise. In this regard, since the services that are provided are not tied to any one operating system or any one protocol, the service delivery application eliminates the need for the enterprise to execute and maintain a multitude of operating system-specific and protocol-specific service applications. As such, the service delivery application is instrumental in decreasing overhead costs associated with maintaining the multitude of diverse service applications. For example, the data transfer module 414 included in the service delivery application 400 eliminates the need for the enterprise to execute, maintain and ensure compatibility numerous different file transfer applications that may be specific to operating systems/hardware and operating using specific file transfer protocols.
In addition, the modular-based service delivery application 400 provides for comprehensive and unified management over the services delivered by the application 400. Such unified and comprehensive management of the services is accomplished by the common core services 402 included in the application 400. The common core modular services 402 are common to all of the modular services 404 in the application 400. The core modular services may include, but are not necessarily limited to, provisioning module 406, security module 408, reporting module 408, governance module 410, tracking module 411 and auditing module 412. These core modular services may be applied to any of the modular services to which the core service is applicable. The application may be configured such that a user has access to one or more user-interfaces/dashboards that allow for the user to manage and/or view the common core services. The user-interface/dashboard may be configured to be specific to a common core service (e.g., such that each common core service UI/dashboard provides access to and control over each of the modular services 404) and/or specific to a modular service (e.g., such that each modular service UI/dashboard provides access to and control over each of the common core services for the specified modular service).
The provisioning module service 406 is configured to provide for uniform deployment of new modular services 404 and deployment of revisions/updates to existing modular services 404. In specific embodiments of the invention, as discussed previously in relation to FIG. 1 and infra. In relation to FIG. 4, the provisioning module service 406 is configured to determine and automatically implement an optimal schedule (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks. The determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels assigned to networked devices 20 in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise.
The security module service 408 is configured to provide uniform control over the security features applicable to the modular services 404. In this regard, the security module service 408 provides uniform rules, regulations and procedures for security. For example, the security module service 408 provides uniform rules related to authenticating a protocol/module, uniform rules associated with encryption, uniform rules for resolving a security conflict or the like. The reporting module service 410 provides uniform control over reporting functions associated with the modular services. For example, the reporting module service 410 provides uniform control over what reporting is required, the contents of reports, parties receiving reports, and the like.
The governance module service 412 is configured to provide uniform control over governance including, but not limited to, rules, regulations and procedures for rule exceptions, approval chains for granting exceptions and the like. The tracking service 411 is configured to provide uniform control and management over tracking functions associated with the modular services; such as, but not limited, tracking file transfer/data movement throughout the enterprise. The auditing service 413 is configured to provide uniform control auditing requirements, such as, but not limited to, auditing procedures, auditing schedules and the like.
The modular services 404 provided by service delivery application 400 are dictated by the needs of the enterprise and, therefore, will vary from enterprise-to-enterprise. In addition, since the system is modular-based additional modules can be inserted into the application 400 on an as needed basis. In specific embodiments of the invention, the modular services 404 included in the application 400 include file transfer/movement module 414 that is configured to provides a unified open-source approach to moving data (e.g., file transfers, conducting transactions and the like) to and from devices (e.g., servers) and/or applications deployed in the enterprise. In this regard, the file transfer/movement module 414 is configured to establish protocol-agnostic data connections 508 between networked devices (e.g., services) or applications residing in networked devices and to initiate data movement, file transfers, transactions via the established data connections.
As previously noted the file transfer/data movement module 414 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to move data to and from networked devices. As such, the file transfer/data movement module 414 provides a full-service, holistic approach that can be implemented enterprise-wide; obviating the need to deploy and maintain numerous disparate protocol and operating system-specific file transfer applications.
Moreover, in additional embodiments of the invention, the file transfer/movement module 414 is configured to provide server-level entitlements 510, as opposed to granting entitlements at the user-level. In this regard, the file transfer/module 414 looks at whether movement of data is permissible from device-to-device and/or application-to-application. A user is granted access to the file transfer/movement module 414 and may be pre-configured to perform certain actions within the file transfer/movement module 414 (i.e., the user has access at the application/module-level and may be provided granular access to perform specific actions only). If two network devices and/or two applications are configured so to be entitled for data transfer (i.e., entitled for a data connection/file transfer) any module user, pre-configured to use the module and perform the requisite function, can request data movement/file transfer between the devices and/or applications. In this regard, unlike conventional, file transfer applications, the user is not required to have nor are they provided physical access to the devices from which data is communicated and/or received.
In additional embodiments of the invention, the file transfer/movement module 414 is configured to implement a device/server rating system 512 as a means of determining whether the devices are entitled for a data connection (e.g., whether the devices can exchange data/conduct transactions or the like). In specific embodiments of the invention, the rating system may be based on the type of data that a device is configured to send or receive (e.g., confidential data, proprietary data, public data and the like). In other specific embodiments of the invention, a secondary rating may be provided to account for the geographic location of the device within the enterprise (taking into account that certain geographic locations/countries may have rules/laws in place restricting the type of data that may be communicated/received within the countries geographic locale/boundaries).
In accordance with other embodiments of the invention, additional optional modular services 404 may include web services module 418, messaging module 416, data archiving module 420 and any other service module 422. Web services module 418 is configured to provide a unified open-source approach to enabling legacy applications that do not include web services with web services capabilities. In this regard, the web service module 418 communicates with the legacy application to create a web services interface and/or provide a web browser. The web services module 418 is configured to provide one consolidated methodology for accessing different operating systems and networked devices enable legacy applications with web services capabilities. Messaging Module 416 provides a unified open-source approach to message brokering/queuing. The messaging module 416 may comprise message-oriented middleware that supports sending and receiving messages between distributed systems. The messaging module allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The module 416 creates a distributed communications layer that insulates the module from specifics of operating systems and network interfaces. Data archiving module 420 is configured to provide a unified open-source approach to data archiving. The data archiving module 420 is configured to provide one consolidated methodology for accessing different operating systems and networked devices to archive data.
Referring to FIG. 4 a block diagram is presented of the apparatus 500, which is configured for providing technology/OS-agnostic and protocol-agnostic delivery of services within an enterprise including a provisioning module for managing deployment of new services/modules and updates to existing services/modules, in accordance with embodiments of the present invention. In addition to providing greater detail, FIG. 4 highlights various alternate embodiments of the invention. The apparatus 500 may include one or more of any type of computing device, such as a server or the like. The present apparatus and methods can accordingly be performed on any form of one or more computing devices.
The apparatus 500 includes computing platform 502 that can receive and execute algorithms, such as routines, and applications. Computing platform 502 includes memory 504, which may comprise volatile and non-volatile memory, such as read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. Further, memory 504 may include one or more flash memory cells, or may be any secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk. Moreover, memory 504 may comprise cloud storage, such as provided by a cloud storage service and/or a cloud connection service.
Further, computing platform 502 also includes processor 506, which may be an application-specific integrated circuit (“ASIC”), or other chipset, processor, logic circuit, or other data processing device. Processor 506 or other processor such as ASIC may execute an application programming interface (“API”) (not shown in FIG. 4) that interfaces with any resident programs, such as service delivery application 400 and routines, sub-modules associated therewith or the like stored in the memory 504 of the apparatus 500.
Processor 506 includes various processing subsystems (not shown in FIG. 4) embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of apparatus 500 and the operability of the apparatus on a network. For example, processing subsystems allow for initiating and maintaining communications and exchanging data with other networked devices, such as hub server (10 of FIG. 1). For the disclosed aspects, processing subsystems of processor 506 may include any subsystem used in conjunction with service delivery application 400 and related algorithms, sub-algorithms, modules, sub-modules thereof.
Computer platform 502 may additionally include communications module (not shown in FIG. 4) embodied in hardware, firmware, software, and combinations thereof, that enables communications among the various components of the apparatus 500, as well as between the other networked devices. Thus, communication module may include the requisite hardware, firmware, software and/or combinations thereof for establishing and maintaining a network communication connection.
The memory 504 of apparatus 500 stores service delivery application 400 that is configured to provide operating system-agnostic, modular-based delivery of services throughout an enterprise, in accordance with embodiments of the present invention. The service delivery application 400 includes a plurality of modules, such that each module delivers one or more services to the enterprise and are interchangeable, such that new modules can added to (or removed from) the service delivery application.
Included amongst the plurality of modules is provisioning module 406 that is configured to provide management 600 over services delivered by the modules, and version updates to the services delivered by the modules. In additional embodiments, provisioning module 406 is further configured to provide management over version rollbacks (e.g., progressing from a higher revision to a lower revision, typically due to a version update being implemented that has errors or is otherwise subsequently found to be defective).
In specific embodiments of the invention, the provisioning module 406 is configured to determine and automatically implement an optimal schedule 602 (i.e., staging) for deployment of new services or service modules, service revision updates and/or service revision rollbacks. The determination of the optimal schedule/staging may be based on one or more of (i) predetermined lifecycle levels 604 assigned to networked devices in the enterprise that execute the service delivery application 400 and/or (ii) rules associated with different segments of the enterprise 606.
For example, lifecycle levels may include, but are not limited to, development, system integration testing (SIT), user acceptance testing (UAT), pre-production and production. In this regard, a new service module may first be deployed/rolled-out to development-level networked devices/servers, followed by testing (SIT or UAT)-level networked devices/servers, followed by pre-production-level and production-level networked devices. Other factors, such as the features implemented in the new service module, the security risks posed by the new service module or the like may dictate how long (e.g., 30 days, 90 days or the like) implementation is limited to or required at a specified level (e.g., how long the rollout is limited to being deployed only on development-level and/or test-level devices before rolling out the service module or pre-production-level devices and, subsequently, production-level devices). Further, an update to a version of a service may first be deployed/rolled-out to test-level networked devices, followed by pre-production-level and production-level networked devices (i.e., the nature of the version update may dictate that implementation at the development level is not warranted). Other factors, such as the features implemented in the updated version module, the security risks posed by the version being replaced or the like may dictate how long implementation is limited to a specified level.
Rules associated with segments within the enterprise 606 may include rules associated with divisions, lines-of-business (LOBs) or other environments within the enterprise (i.e., any portion of the enterprise that requires service deployment rules). The rules, which may or may not be implemented in conjunction with lifecycle level deployment/updates, may dictate the order and the timing for new service/module deployment, as well as, updates to existing services/modules. Timing rules may ensure that deployment of new services and/or revisions occur so as to minimize the impact on other functions being performed by the networked device and/or service delivery application (i.e., during times when the application and/or device is undergoing minimal use).
Additionally, in the event that service deployment or revision update of a service results in predetermined errors at any level of the deployment, the provisioning module 406 may be configured to recognize such errors and, based on the nature and/or type of error, automatically re-determine updated optimal schedules for deployment and/or update of services. For example, if the provisioning module 406 identifies a serious error at the development-level of deployment of a new service module, further deployment may be suspended until the error is deemed corrected and future optimal staging of the deployment may be adjusted to account for the error (i.e., the revised version may remain in the development-level for a longer period of time to ensure that the reason behind the previous error has been properly addressed and is no longer prevalent).
In additional embodiments of the invention, the provisioning module 400 is further configured to deny/block execution 608 of non-permitted/outdated service versions. In specific embodiments, the service modules are configured such that upon user request to implement a service (i.e., launch, prior to execution, the service module will send a communication (referred to as “call-home”) to the provisioning module to verify 610 that the version that they are running is a valid, permitted version of the service. If the user is denied/blocked from executing the non-permitted or outdated version of the service, the provisioning module 406 may be configured to deploy an update, schedule an update and notify/alert the user of the scheduled update and/or alert the user that an update is required prior to executing the service.
In further specific embodiments of the invention, the provisioning module 400 is configured to determine scheduling and automatically implement deactivation of a declining/outdated version 612. In certain embodiments of the invention, a declining/outdated version can still be executed during the period in which the emerging/updated version is being deployed. In such instances, the declining/outdated version will be scheduled for deactivation, either simultaneously across all networked devices implementing the services or on a device-to-device basis, and deactivation will automatically occurred according to an optimally determined schedule or staging for the deactivation.
Moreover, in additional embodiments of the invention, the provisioning module 406 is configured to communicate alerts 614 to users of the service delivery application 400. In specific embodiments of the invention, the alerts 614 may be configured to notify the users of a pending deactivation 616 of a declining/outdated service version including a stated time for deactivation. In other specific embodiments of the invention, the alert 614 may be configured to notify the user (individual, group or system) of a need to activate/download or otherwise acquire (e.g., schedule) an emerging/new version of a service 618. In certain embodiments of the invention that alert 614 that is configured to notify the user of a declining/outdated version 616 may be additionally configured to notify the user of the need to activate/acquire the emerging/new version 618 of the service.
Additionally, the provisioning module 400 may be configured to provide for side-loading 620 of new services, version updates, patches, fixes or the like. Side-loading allows for an update/new version of a service to be loaded on a device/server while the existing/current version of the service is simultaneously executing 622 on the device/server. Additionally, side-loading allows for new services/modules to be implemented/loaded into the service delivery application without affecting the ability of other services to simultaneously execute on the device/server.
Thus, systems, apparatus, methods, and computer program products described above provide for a technology-agnostic and protocol-agnostic means for delivering services within an enterprise, including management over provisioning of the services (e.g., deploying new services and updating existing services). Specifically, embodiments herein described provide for managing provisioning by determination and automatic implementation of an optimal schedule for service deployment, service version updates and service version roll-backs. Such determination of the optimal schedule is based on (i) predetermined lifecycle levels assigned to networked devices in the enterprise executing the service delivery application, and/or (ii) segments within the enterprise. In further embodiments herein described, managing provisioning includes providing the ability to deny/block execution of non-permitted versions and alert users of declining/outdated versions and/or emerging new versions. Additionally, embodiments herein described provide for managing provisioning such that updates to revision occur by side-loading updated versions to allow for users to simultaneously use a declining version of a service while the emerging version is loaded.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other changes, combinations, omissions, modifications and substitutions, in addition to those set forth in the above paragraphs, are possible.
Those skilled in the art may appreciate that various adaptations and modifications of the just described embodiments can be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.

Claims (10)

What is claimed is:
1. A computer program product comprising:
a non-transitory computer-readable medium comprising:
a first set of codes for causing a computer to determine and automatically implement an optimal schedule for service deployment and service version updates based at least on (i) three or more predetermined lifecycle levels, each predetermined lifecycle level being assigned to one of at least three or more networked devices in the enterprise executing the service delivery application and (ii) segments within the enterprise, wherein each of the three or more predetermined lifecycle levels is selected from the group consisting of (1) development, (2) System Integration Testing (SIT), (3) User Acceptance Testing (UAT), (4) pre-production and (5) production, and wherein each of the at least three or more networked devices has a different one of the three or more predetermined lifecycle levels;
a second set of codes for causing a computer to deny execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version; and
a third set of codes for causing a computer to schedule deactivation of a declining service version and alert service delivery application users of the scheduled deactivation of the declining service version and a need to download an emerging version.
2. The computer program product of claim 1, wherein the provisioning module further comprises a fourth set of codes for causing a computer to determine and automatically implement the optimal schedule for service deployment and service version updates, wherein the optimal schedule comprises staging service deployment and service version updates over a predetermined period of time based at least upon the predetermined lifecycle levels assigned to the networked devices.
3. The computer program product of claim 1, wherein the provisioning module further comprises a fourth set of codes for causing a computer to automatically implement service version rollbacks.
4. The computer program product of claim 3, wherein the provisioning module further comprises a fifth set of codes for causing a computer to determine and automatically implement an optimal schedule for the service version rollbacks based on the predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application.
5. The computer program product of claim 1, wherein the provisioning module further comprises a fourth set of codes for causing a computer to provide management over deployment of the services delivered by the modules and version updates to the services delivered by the modules, including implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
6. A method for managing deployment and update of services within an enterprise, the method comprising:
determining and automatically implementing an optimal schedule for service deployment and service version updates based at least on (i) three or more predetermined lifecycle levels, each predetermined lifecycle level being assigned to one of at least three or more networked devices in the enterprise executing the service delivery application, and (ii) segments within the enterprise, wherein each of the three or more predetermined lifecycle levels is selected from the group consisting of (1) development, (2) System Integration Testing (SIT), (3) User Acceptance Testing (UAT), (4) pre-production and (5) production, and wherein each of the at least three or more networked devices has a different one of the three or more predetermined lifecycle levels;
denying execution of non-permitted service versions by requiring networked devices in the enterprise that execute the service delivery application to verify a version being launched prior to executing the version; and
scheduling deactivation of a declining service version and alert service delivery application users of the scheduled deactivation of the declining service version and a need to download an emerging version.
7. The method of claim 6 further comprising determining and automatically implementing the optimal schedule for service deployment and service version updates, wherein the optimal schedule comprises staging service deployment and service version updates over a predetermined period of time based at least upon the predetermined lifecycle levels assigned to the networked devices.
8. The computer program product of claim 6 further comprising automatically implement service version rollbacks.
9. The method of claim 6 further comprising determining and automatically implementing an optimal schedule for the service version rollbacks based on the predetermined lifecycle levels assigned to networked devices in the enterprise that execute the service delivery application.
10. The method of claim 6 further comprising management over deployment of the services delivered by the modules and version updates to the services delivered by the modules, including implement side-loading of version updates to allow a user to simultaneously execute a current version while the version update is occurring.
US15/016,155 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions Active US9519474B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/016,155 US9519474B2 (en) 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/603,144 US9262152B1 (en) 2015-01-22 2015-01-22 Modular system including management and deployment of software updates and revisions
US15/016,155 US9519474B2 (en) 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/603,144 Continuation US9262152B1 (en) 2015-01-22 2015-01-22 Modular system including management and deployment of software updates and revisions

Publications (2)

Publication Number Publication Date
US20160216959A1 US20160216959A1 (en) 2016-07-28
US9519474B2 true US9519474B2 (en) 2016-12-13

Family

ID=55275412

Family Applications (3)

Application Number Title Priority Date Filing Date
US14/603,144 Active US9262152B1 (en) 2015-01-22 2015-01-22 Modular system including management and deployment of software updates and revisions
US15/016,152 Active US9507583B2 (en) 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions
US15/016,155 Active US9519474B2 (en) 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US14/603,144 Active US9262152B1 (en) 2015-01-22 2015-01-22 Modular system including management and deployment of software updates and revisions
US15/016,152 Active US9507583B2 (en) 2015-01-22 2016-02-04 Modular system including management and deployment of software updates and revisions

Country Status (1)

Country Link
US (3) US9262152B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585656B1 (en) 2017-12-18 2020-03-10 Cerner Innovation, Inc. Event manager for software deployment
US11789856B2 (en) 2021-09-30 2023-10-17 Snap Inc. Application launch support
US11989085B2 (en) 2022-03-28 2024-05-21 International Business Machines Corporation Intelligent workflow for end-of-support solution advisor

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639742B2 (en) 2014-04-28 2017-05-02 Microsoft Technology Licensing, Llc Creation of representative content based on facial analysis
US9773156B2 (en) 2014-04-29 2017-09-26 Microsoft Technology Licensing, Llc Grouping and ranking images based on facial recognition data
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) * 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
US20160218935A1 (en) * 2015-01-27 2016-07-28 Bank Of America Corporation User interface and dashboard for holistic data transmission throughout an enterprise
CN111404992B (en) * 2015-06-12 2023-06-27 微软技术许可有限责任公司 Tenant-controlled cloud updating
US9696985B1 (en) * 2016-01-06 2017-07-04 International Business Machines Corporation Patching of virtual machines within sequential time windows
US20180054352A1 (en) * 2016-08-19 2018-02-22 International Business Machines Corporation Modular information technology tools with automated activation and deactivation
US10241778B2 (en) * 2016-09-27 2019-03-26 Ca, Inc. Microservices version state visualization
CN106341420A (en) * 2016-10-21 2017-01-18 广东亿迅科技有限公司 Method and system for rapid developing applications based on search and play mode
US10235157B2 (en) * 2016-12-29 2019-03-19 Arris Enterprises Llc Method and system for analytics-based updating of networked devices
US11204816B2 (en) 2017-05-09 2021-12-21 Microsoft Technology Licensing, Llc Deployment of modular applications from the cloud to local devices
US10191731B2 (en) 2017-06-27 2019-01-29 Microsoft Technology Licensing, Llc Safe and agile rollouts in a network-accessible server infrastructure using slices
PL3617875T3 (en) * 2018-08-27 2021-11-08 Ovh Method for improved automated software update upon deployment of a networking apparatus
US10921531B2 (en) 2018-09-12 2021-02-16 Senko Advanced Components, Inc. LC type connector with push/pull assembly for releasing connector from a receptacle using a cable boot
WO2020232707A1 (en) * 2019-05-23 2020-11-26 深圳市大疆创新科技有限公司 Update of communication protocol version number in distributed system
US11635990B2 (en) 2019-07-01 2023-04-25 Nutanix, Inc. Scalable centralized manager including examples of data pipeline deployment to an edge system
US11501881B2 (en) 2019-07-03 2022-11-15 Nutanix, Inc. Apparatus and method for deploying a mobile device as a data source in an IoT system
US10785106B1 (en) 2019-07-29 2020-09-22 Microsoft Technology Licensing Llc Configuration change control for computing environments
US11599887B2 (en) * 2020-03-17 2023-03-07 Cisco Technology, Inc. Analyzing telemetry data to track progress through an experience lifecycle and provide intelligent lifecycle-based information for computing solutions
US11726764B2 (en) * 2020-11-11 2023-08-15 Nutanix, Inc. Upgrade systems for service domains
US11665221B2 (en) 2020-11-13 2023-05-30 Nutanix, Inc. Common services model for multi-cloud platform
US11392365B2 (en) * 2020-12-14 2022-07-19 International Business Machines Corporation Optimizing device update scheduling
US11736585B2 (en) 2021-02-26 2023-08-22 Nutanix, Inc. Generic proxy endpoints using protocol tunnels including life cycle management and examples for distributed cloud native services and applications
US11645253B1 (en) 2021-12-01 2023-05-09 International Business Machines Corporation Managing a new version of an integration flow during a rolling update

Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170052A1 (en) * 2001-03-06 2002-11-14 Radatti Peter V. Apparatus, methods and articles of manufacture for data transmission
US20040093594A1 (en) * 2002-11-13 2004-05-13 Viren Kapadia System and process for developing and maintaining software applications for a business organization
US20040205748A1 (en) * 2003-04-11 2004-10-14 Microsoft Corporation System and method for providing service of automated creation of computer software production images
US20050262483A1 (en) * 2004-05-05 2005-11-24 Bea Systems, Inc. System and method for application propagation
US20080216066A1 (en) * 2006-07-14 2008-09-04 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable mobile terminal
US20090089775A1 (en) * 2007-09-27 2009-04-02 Acterna Llc Automated Software Upgrade And Distribution
US20100306757A1 (en) * 2009-05-28 2010-12-02 Karin Becker Determining compatibility among service versions
US20100318986A1 (en) * 2009-06-11 2010-12-16 International Business Machines, Corporation Using software state tracking information to enact granular update rollback
US20110185348A1 (en) * 2008-01-22 2011-07-28 Amadeus S.A.S. Method and system for deploying non-backward compatible server versions in a client/server computing environment
US20130019018A1 (en) * 2011-07-12 2013-01-17 Bank Of America Corporation Optimized service integration
US20130036060A1 (en) * 2011-08-01 2013-02-07 Infosys Limited Framework for managing projects in an organization
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US20130104118A1 (en) * 2011-10-19 2013-04-25 Visto Corporation Application installation system
US20130166311A1 (en) * 2011-12-21 2013-06-27 The TriZetto Group System and Method for Provisioning and Deploying a Virtual Appliance to Implement Enterprise Solutions
US20130198050A1 (en) * 2012-01-31 2013-08-01 Infosys Limited Systems and methods for providing decision time brokerage in a hybrid cloud ecosystem
US20140007073A1 (en) * 2012-06-27 2014-01-02 James G. Cavalaris Firmware Update Discovery and Distribution
US20140019426A1 (en) * 2012-07-12 2014-01-16 Open Text S.A. Systems and methods for in-place records management and content lifecycle management
US20140122666A1 (en) * 2012-10-29 2014-05-01 Bank Of America Corporation Automatic Deployment, Configuration, and Lifecycle Management of Applications and Infrastructure Components
US20140130035A1 (en) * 2005-10-06 2014-05-08 C-Sam, Inc. Updating a widget that was deployed to a secure wallet container on a mobile device
US20140156323A1 (en) * 2012-11-30 2014-06-05 Fluor Technologies Corporation Resiliency assessment and management system
US8832643B2 (en) * 2012-06-28 2014-09-09 Sap Ag Composition of non-functional concerns
US20140278711A1 (en) * 2013-03-14 2014-09-18 Professional Project Services, Inc. Systems Engineering Lifecycle Cost Estimation
US20140379901A1 (en) * 2013-06-25 2014-12-25 Netflix, Inc. Progressive deployment and termination of canary instances for software analysis
US20150058835A1 (en) * 2013-08-23 2015-02-26 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
US20150074278A1 (en) * 2012-06-08 2015-03-12 Stephane H. Maes Cloud application deployment portability
US20150180949A1 (en) * 2012-10-08 2015-06-25 Hewlett-Packard Development Company, L.P. Hybrid cloud environment
US20150199197A1 (en) * 2012-06-08 2015-07-16 Stephane H. Maes Version management for applications
US20150248280A1 (en) * 2014-03-03 2015-09-03 Bank Of America Corporation Build Deployment Automation for Information Technology Management
US9130801B1 (en) * 2010-11-22 2015-09-08 Google Inc. Pushed-based package distribution
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
US9286058B2 (en) * 2009-09-30 2016-03-15 Zynga Inc. Apparatuses, methods and systems for application programming interface call abstraction

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170052A1 (en) * 2001-03-06 2002-11-14 Radatti Peter V. Apparatus, methods and articles of manufacture for data transmission
US20040093594A1 (en) * 2002-11-13 2004-05-13 Viren Kapadia System and process for developing and maintaining software applications for a business organization
US20040205748A1 (en) * 2003-04-11 2004-10-14 Microsoft Corporation System and method for providing service of automated creation of computer software production images
US20050262483A1 (en) * 2004-05-05 2005-11-24 Bea Systems, Inc. System and method for application propagation
US20140130035A1 (en) * 2005-10-06 2014-05-08 C-Sam, Inc. Updating a widget that was deployed to a secure wallet container on a mobile device
US20080216066A1 (en) * 2006-07-14 2008-09-04 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable mobile terminal
US20090089775A1 (en) * 2007-09-27 2009-04-02 Acterna Llc Automated Software Upgrade And Distribution
US20110185348A1 (en) * 2008-01-22 2011-07-28 Amadeus S.A.S. Method and system for deploying non-backward compatible server versions in a client/server computing environment
US20100306757A1 (en) * 2009-05-28 2010-12-02 Karin Becker Determining compatibility among service versions
US20100318986A1 (en) * 2009-06-11 2010-12-16 International Business Machines, Corporation Using software state tracking information to enact granular update rollback
US9286058B2 (en) * 2009-09-30 2016-03-15 Zynga Inc. Apparatuses, methods and systems for application programming interface call abstraction
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US9130801B1 (en) * 2010-11-22 2015-09-08 Google Inc. Pushed-based package distribution
US20130019018A1 (en) * 2011-07-12 2013-01-17 Bank Of America Corporation Optimized service integration
US20130036060A1 (en) * 2011-08-01 2013-02-07 Infosys Limited Framework for managing projects in an organization
US20130104118A1 (en) * 2011-10-19 2013-04-25 Visto Corporation Application installation system
US20130166311A1 (en) * 2011-12-21 2013-06-27 The TriZetto Group System and Method for Provisioning and Deploying a Virtual Appliance to Implement Enterprise Solutions
US20130198050A1 (en) * 2012-01-31 2013-08-01 Infosys Limited Systems and methods for providing decision time brokerage in a hybrid cloud ecosystem
US20150074278A1 (en) * 2012-06-08 2015-03-12 Stephane H. Maes Cloud application deployment portability
US20150199197A1 (en) * 2012-06-08 2015-07-16 Stephane H. Maes Version management for applications
US20140007073A1 (en) * 2012-06-27 2014-01-02 James G. Cavalaris Firmware Update Discovery and Distribution
US8832643B2 (en) * 2012-06-28 2014-09-09 Sap Ag Composition of non-functional concerns
US20140019426A1 (en) * 2012-07-12 2014-01-16 Open Text S.A. Systems and methods for in-place records management and content lifecycle management
US20150180949A1 (en) * 2012-10-08 2015-06-25 Hewlett-Packard Development Company, L.P. Hybrid cloud environment
US20140122666A1 (en) * 2012-10-29 2014-05-01 Bank Of America Corporation Automatic Deployment, Configuration, and Lifecycle Management of Applications and Infrastructure Components
US20140156323A1 (en) * 2012-11-30 2014-06-05 Fluor Technologies Corporation Resiliency assessment and management system
US20140278711A1 (en) * 2013-03-14 2014-09-18 Professional Project Services, Inc. Systems Engineering Lifecycle Cost Estimation
US20140379901A1 (en) * 2013-06-25 2014-12-25 Netflix, Inc. Progressive deployment and termination of canary instances for software analysis
US20150058835A1 (en) * 2013-08-23 2015-02-26 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
US20150248280A1 (en) * 2014-03-03 2015-09-03 Bank Of America Corporation Build Deployment Automation for Information Technology Management
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
US20160216958A1 (en) * 2015-01-22 2016-07-28 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
US20160216959A1 (en) * 2015-01-22 2016-07-28 Bank Of America Corporation Modular system including management and deployment of software updates and revisions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585656B1 (en) 2017-12-18 2020-03-10 Cerner Innovation, Inc. Event manager for software deployment
US11789856B2 (en) 2021-09-30 2023-10-17 Snap Inc. Application launch support
US11989085B2 (en) 2022-03-28 2024-05-21 International Business Machines Corporation Intelligent workflow for end-of-support solution advisor

Also Published As

Publication number Publication date
US20160216958A1 (en) 2016-07-28
US20160216959A1 (en) 2016-07-28
US9507583B2 (en) 2016-11-29
US9262152B1 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
US9519474B2 (en) Modular system including management and deployment of software updates and revisions
US10749985B2 (en) Custom communication channels for application deployment
US12001524B2 (en) Enterprise application management with enrollment tokens
US9515957B2 (en) Server rating system for authorizing and entitling servers to transfer data
JP2021533454A (en) Implementation of compliance settings by mobile device for configuration scenario compliance
US20080244555A1 (en) Bundling software updates
US10530773B2 (en) Updating database drivers for client applications through a database server push
US11140147B2 (en) SAML SSO UX improvements
US11240043B1 (en) Issuance of certificates for secure enterprise wireless network access
US20190273657A1 (en) Multiuser device staging
US20200233699A1 (en) Platform-based change management
US11288341B2 (en) Information handling system license management through NFC
US20160248625A1 (en) Distributor private cloud management system and management method
US10042657B1 (en) Provisioning virtual applciations from virtual application templates
US10484507B2 (en) System for holistic data transmission throughout an enterprise
US10389597B2 (en) Device asset tracking and service desk using a management system as a data source
US10270840B2 (en) Modular system for holistic data transmission across an enterprise
US11057455B1 (en) File transfer abstraction on a computer network
US11411813B2 (en) Single user device staging
MVP et al. Microsoft System Center 2012 R2 Operations Manager Cookbook
US20230198845A1 (en) Systems and methods of configuring monitoring operations for a cluster of servers
AU2018306113A1 (en) Connector leasing for long-running software operations
US11463481B2 (en) System and method for certificate-less security management of interconnected hybrid resources
US20240179058A1 (en) Data Center Monitoring and Management Operation Including a Microservice Autoscaling Operation
WO2024227188A1 (en) Obtaining deployment tokens for deploying artifacts to a cloud environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KURIAN, MANU JACOB;CISMAS, SORIN N.;REEL/FRAME:037701/0145

Effective date: 20141216

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8