Sign In to Follow Application
View All Documents & Correspondence

System And Method For Controlling Performance Of An Enterprise Application

Abstract: Disclosed is a method and system for controlling performance of an enterprise application in a computer network. In the computer network, there may be multiple layers in N-tier architecture. Further, there may be one or more entities deployed over the computer network. A set of parameters may be received from at least one layer of the multiple layers of the N-tier architecture. The set of parameters received may be transformed into a set of formatted parameters, wherein the set of formatted parameters may be associated with one or more rules. Further, one or more formatted parameters of the set of formatted parameters may be correlated amongst them to identify anomalies in the enterprise application. For the anomalies identified, recommendation may be generated and implemented to control the performance of the enterprise application in the computer network.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
21 October 2013
Publication Number
29/2015
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2023-01-10
Renewal Date

Applicants

TATA CONSULTANCY SERVICES LIMITED
NIRMAL BUILDING, 9TH FLOOR, NARIMAN POINT, MUMBAI 400021, MAHARASHTRA, INDIA

Inventors

1. BALLA, RAMALINGESWARA RAO
FLAT NO 307, EMERALD BLOCK, MY HOME JEWEL, MADINAGUDA, HYDERABAD 500049, INDIA
2. DEVARAKONDA, JYOTHSNA
FLAT NO: 502, SWARANA LAXMI APARTMENTS, ROAD NO 23, SARDAR PATEL NAGAR, JNTU BACK SIDE, HYDERABAD - 500072, INDIA
3. S.T.P, RANGA RAMANUJAM
FLAT NO. 406, BALAJI ENCLAVE, ROAD NO.2, SRI RAMAJKRISHNA PURAM, INCOME TAX OFFICERS COLONY, HYDERABAD 500035, ANDHRA PRADESH, INDIA

Specification

FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
SYSTEM AND METHOD FOR CONTROLLING PERFORMANCE OF AN
ENTERPRISE APPLICATION
Applicant:
Tata Consultancy Services Limited A company Incorporated in India under The Companies Act. 1956
Having address:
Nirmal Building. 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India
The following specification describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD
[001] The present subject matter described herein, in general, relates to a method and
a system for controlling performance of an enterprise application.
BACKGROUND
[002] For controlling performance of an enterprise application, identification of
bottlenecks/anomalies may be required. Bottlenecks or performance bottleneck in an Information technology (IT) infrastructure may hinder faster execution of the enterprise applications and service specific operations associated with the enterprise applications. There may be 'n' number of enterprise applications deployed in the IT infrastructure providing different types of service operations may be like ''Online Shopping", "Online Ticket Booking", "Patient Registration", "Patient Admission", "Patient Discharge" etc., to either users located at remote location or to on-premise users or both. Further, there may be n number of the service specific operations deployed in the IT infrastructure. The service specific operations may belong to services like "Ticket Management System", "Retail Management System", "Hospital Management System", "Laboratory Information Management System", and "Pharmacy Management System" etc which may be provided either to the users located at remote location or to the on-premise users or both. For providing such services and the service specific operations, several Information Technology (IT) components (hardware/software components) may be involved. The IT components may include different types of servers like web servers, application servers, active directory servers, database servers etc.. network supporting devices, and other types of hardware devices that may be used for providing the services to the users. In the process of providing the services, the IT components may receive application-specific requests from the users through user-devices. The requests may be further processed to provide response to the users. While receiving and processing the requests, the IT components may utilize resources, whenever required. The resources may be in terms of Central Processing Unit (CPU) utilizations, memory availability, input/output (I/O) etc.
[003] Thus, in order to balance request-response flow smoothly in the IT
infrastructure, availability of the resources may be necessary. However, with the increase in number of requests from the user end, traffic gets increased and may cause the IT components

to slow-down, which in turn may result in performance degradation of the enterprise applications. To avoid such performance degradation, there may a challenge of identification of anomalies causing the degradation. Since, the enterprise applications may be deployed over n-tier architecture having multiple layers in each tier, the probability of occurrence of the anomalies may increase, and hence detection of such anomalies may become complex.
[004] Apart from the detection of the anomalies/bottlenecks, identification of
probable causes responsible for causing such anomalies during the performance monitoring of the enterprise applications may be an another challenge. The probable causes may be of different kinds depending upon the IT infrastructure and the IT components present in the IT infrastructure.
SUMMARY
[005] This summary is provided to introduce aspects related to systems and
methods for controlling performance of an enterprise application and the concepts are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[006] In one implementation, a system for controlling performance of an enterprise
application in a computer network is disclosed. The system comprises a processor and a memory coupled to the processor for executing a plurality of modules stored in the memory. The plurality of modules comprises receiving module, transforming module, and a performance controlling module. The receiving module is configured to receive a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network. Further, the set of parameters received may indicate performance, availability, and stability of one or more entities residing in the one or more tiers. According to aspects of present subject matter, the entities may be n number of end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers. Further, the transforming module is configured to transform the set of parameters into a preconflgured format associated with one or more rules in order to generate a set pf formatted parameters. The one or more rules are applicable to the set of formatted parameters.

Thereafter, to control the performance of the enterprise application, the performance controlling module is configured for processing the one or more rules on the set of formatted parameters. The processing comprising; correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter, identifying anomalies in the performance of the enterprise application based upon the correlation, and generating a recommendation based on the anomalies.
[007] In another implementation, method for controlling performance of an
enterprise application in a computer network is disclosed. The method comprises a step of receiving a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network. The set of parameters may indicate performance, availability, and stability of one or more entities residing in the one or more tiers. According to aspects of present subject matter, the entities may be n number of end-user computers, one or more web servers, one or more application servers, one or more active directory servers, one or more database servers, one or more database report servers, network, one or more network switches, one or more storage area networks (SAN), and one or more routers. Further, a method is provided for transforming the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters. The one or more rules are applicable to the set of formatted parameters. Thereafter, a method is provided for controlling the performance of the enterprise application by processing the one or more rules on the set of formatted parameters. The processing is performed by; correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter, identifying anomalies in the performance of the enterprise application based upon the correlation, and generating a recommendation based on the anomalies. The above disclosed steps of the method may be performed by a processor using programmed instructions stored in a memory.
[008] Yet in another implementation, computer program product having embodied
thereon a computer program for controlling performance of an enterprise application in a computer network is disclosed. The computer program product comprises a set of instructions, the instructions comprising instruction for receiving a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network. The set of parameters indicate performance, availability, and stability of one or more

entities residing in the one or more tiers. According to aspects of the present subject matter, the entities may be n number of end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers. Further, a set of instructions may be provided for transforming the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters. The one or more rules are applicable to the set of formatted parameters. After transforming the set of parameters, a set of instructions is provided for controlling the performance of the enterprise application by processing the one or more rules on the set of formatted parameters. Further, processing comprises: correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter, identifying anomalies in the performance of the enterprise application based upon the correlation, and generating a recommendation based on the anomalies.
BRIEF DESCRIPTION OF THE DRAWINGS
[009] The detailed description is described with reference to the accompanying
figures. Tn the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
[0010] Figure 1 illustrates a network implementation of a system for controlling
performance of an enterprise application is shown, in accordance with an embodiment of the present subject matter.
[0011] Figure 2 illustrates the system, in accordance with an embodiment of the
present subject matter.
[0012] Figure 3 illustrates a detailed working of the system, in accordance with an
embodiment of the present subject matter.
[0013] Figure 4 illustrates a method for controlling performance of an enterprise
application in a computer network, in accordance with an embodiment of the present subject matter.

[0014] Figure 5 illustrates a method for processing one or more rules on the set of
formatted parameters, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0015] Systems and methods for controlling performance of an enterprise application
in a computer network have been disclosed in present subject matter. The purpose of the present subject matter is to identify and address anomalies/bottlenecks in the enterprise applications deployed in a multi-tier environment present in the computer network. Further, the applications may be deployed across various layers of the multi-tier architecture. According to embodiments of the present subject matter, the enterprise applications may be architected using service oriented architecture (SOA) style. The enterprise applications are capable for providing various types of services to end-users in the computer network, wherein the service operations may be like "online ticketing service", "online shopping service", "patient registration", "patient admission", "patient discharge" etc., The service operations may belong to services like "Ticket Management System", "Retail Management System", "Hospital Management System", "Clinicals", "Laboratory Information Management System", Information Management System (IMS), and "Pharmacy Management System" etc. In providing such services, a number of IT components (entities) like end-user computers, various servers, network devices and other types of hardware and software may be involved.
[0016] To provide the services, these IT components may utilize resources like
Central Processing Unit (CPU), memory, input/output interfaces etc while handling request from the users and further during responding and/or serving such requests. At any instance of time, the load may suddenly increase on these IT components due to increase in the number of request received from the users for accessing a particular application. Due to the increase in the load, the performance of the enterprises applications may get degraded. To handle such situations, the present subject matter introduces a structured approach for identifying the anomalies/bottlenecks and addressing the identified anomalies. In the structured approach, the present subject matter is enabled for detecting causes for the anomalies across various layers of the multi-tier architecture.
[0017] Further, the subject matter is enabled for drilling down each anomaly to arrive
at deterministic and coherent view of the anomalies and address them appropriately.

According to embodiments, the systems and the methods disclosed in the present subject matter may be used for controlling performance of any type of SOA based enterprise applications irrespective of application size and IT components present in the SOA. Thus, the methodologies disclosed according to present subject matter may be reused for different type enterprises applications deployed in the computer network.
[0018] While aspects of described system and method for controlling performance of
an enterprise application in a computer network may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplar)' system.
[0019] Referring now to Figure 1, a network implementation 100 of system 102 for
controlling performance of an enterprise application is illustrated, in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 facilitates controlling the performance of the enterprise application in a computer network. The system 102 may receive a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network. The set of parameters may indicate performance, availability, and stability of one or more entities residing in the one or more tiers. According to aspects of present subject matter, the entities may be n number of end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers, file server(s), etc. Further, the system 102 may transform the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters. The one or more rules are applicable to the set of formatted parameters. Thereafter, the system 102 may control the performance of the enterprise application by processing the one or more rules on the set of formatted parameters. The processing may be performed by; correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter, identifying anomalies in the performance of the enterprise application based upon the correlation, and generating a recommendation based on the anomalies.
[0020] Although the present subject matter is explained considering that the system
102 is implemented for on a server, it may be understood that the system 102 may also be

implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a server, a network server, and the like. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2... 104-N, collectively referred to as user 104 hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
[0021] In one implementation, the network 106 may be a wireless network, a wired
network or a combination thereof. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Transmission Control Protocol/Internet Protocol (TCP/IP), Simple Message Transfer Protocol (SMTP), and the like, to communicate with one another. Further the network 106 may include a variety of network devices, including routers, servers, computing devices, storage devices, and the like.
[0022] Referring now to Figure 2, the system 102 is illustrated in accordance with an
embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 202 is configured to fetch and execute computer-readable instructions or modules stored in the memory 206.
[0023] The I/O interface 204 may include a variety of software and hardware
interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with a user directly or through the client devices 104. Further, the I/O interface 204 may enable the system 102 to communicate with

other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN cellular. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0024] The memory 206 may include any computer-readable medium or computer
program product known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or nonvolatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, a compact disks (CDs), digital versatile disc or digital video disc (DVDs) and magnetic tapes. The memory 206 may include modules 208 and data 218.
[0025] The modules 208 include routines, programs, objects, components, data
structures, etc, which perform particular tasks or implement particular abstract data types. In one implementation, the modules 208 may include a receiving module 210, a transforming module 212. a performance monitoring module 214, and other modules 216. The other modules 216 may include programs or coded instructions that supplement applications and functions of the system 102.
[0026] The data 218, amongst other things, serves as a repository for storing data
processed, received, and generated by one or more of the modules 208. The data 218 may also include a monitoring parameters repository 220, a rules repository 222, and other data 224.
[0027] In one implementation, at first, a user may use the client device 104 to access
the system 102 via the I/O interface 204. The users may register them using the I/O interface 204 in order to use the system 102. The working of the system 102 may be explained in detail in Figure 3 explained below. The system 102 may be used for controlling performance of an enterprise application in a computer network.
[0028] Referring to Figure 3, a detailed working of the system 102 is illustrated, in
accordance with an embodiment of the present subject matter. The purpose of the present subject matter is to control performance of an enterprise application by identifying and addressing anomalies/bottlenecks in the performance of the enterprise application in a

computer network 302. It may be noted to a person skilled in an art, that the computer network 302 shown in figure 3 depicts an example of the deployment of the enterprise applications in N-tier architecture, and there may be multiple configurations, arrangements and/or examples of the deployment of the enterprise applications in the N-tier architecture, and hence the present disclosure is not limited to the example as illustrated in the figure 3. According to embodiments of the present subject matter, there may be n number of enterprise applications may be deployed across various layers of an N-tier (multi-tier) architecture in the computer network 302. According to one embedment of present subject matter, the N-tier i.e., one or more tiers may comprise a web tier, an application tier, and a database tier. It may be noted to a person skilled in the art, that the one or more tiers may comprise other types of tiers also other than what discussed above. Further, each tier of the one or more tiers may comprise multiple layers. In one embodiment, the web tier may comprise a user-interface layer, code behind layer, facade layer, model layer, view layer, controller layer, presentation layer, data access layer. Similarly, the application tier may also comprise a business process layer, a business layer, a data access layer, a resource access layer, a service implementation layer, a service interface layer, an entity translator layer, a facade layer, and a repository layer.
[0029] In the N-tier architecture of the computer network 302, there may be one or
more entities involved in providing services to one or more users. The one or more entities may be end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers. It may be noted to a person skilled in art, that there may be other hardware and software involved as entities for providing the services to the one or more users. To achieve the purpose, the system 102 comprises various modules 208 stored in memory 206 of the system 102. One of a module is a receiving module 210 which may be configured for receiving a set of parameters from at least one layer of one or more tiers (N-tier) present in the computer network 302.
[0030] The set of parameters received may indicate performance, availability, and
stability of the one or more entities residing in the one or more tiers. According to embodiments of the present subject matter, the set of parameters comprises web server parameters, application server parameters, database server parameters, active directory server parameters, storage area network (SAN) parameters. Further, the set of parameters also

comprises utilization parameters of firewalls, networks, network switches, bandwidth, and file server monitoring parameters. According to embodiments of present subject matter, the enterprise application may be architected using Service Oriented Architecture (SOA) style. Further, the set of parameters received may also be associated with one or more services provided by the SOA based enterprise applications. The set of parameters received may be stored in a monitoring parameters repository 220 of the system 102.
[0031] Since, the set of parameters received may be in different formats based on the
layers, one or more tiers, and one or more entities present in the computer network 302, transformation of these parameters in a uniform format may be required. To provide such transformation, a transforming module 212 of the system 102 may be configured to transform the set of parameters into a preconfigured format. The preconfigured format may be associated with one or more rules stored in a rules repository 222 of the system 102. Thus, the transforming module 212 transforms the set of parameters to generate a set of formatted parameters complying with the one or more rules of the rules repository 222. The set of formatted parameters may also be stored in the monitoring parameters repository 220. According to embodiments of present subject matter, the rules repository 222 may be updated or modified based on one or more methodologies followed for controlling the performance of the enterprise application.
[0032] According to the embodiments of the present subject matter, few examples the
set of formatted parameters for the web server, the application server, and the database server is shown below in Table 1.

Web Server Parameters
Application Server Parameters Database Server Parameters
WEBI_ACTIVE APPl_CPU_APPLICATION DB1_BLOCKING_SESSI
SESSIONS COUNT PROCESS 1 ON
WEB1_CPU_APPLICATIO APPl_TOTALCPU DB1_ACTIVE_SESSION
N PROCESS 1 APP1_AVAILABLE DB1_LISTENER_AVAIL
WEB1_TOTALCPU WORKER THREADS ABILITY
WEB1AVAILABLE APPl_AVAILABLEIO DB1_INSTANCE_AVAIL
WORKER THREADS THREADS ABILITY
WEB1_AVAILABLE IO APPl_MSDTC_LOGSl2E DBPROCESS COUNT
THREADS APP1PROCESS RECYCLE DB_PENDING_TRANSA
WEB1_MSDTC_LOGSIZE COUNT CTION
WEB1 _PROCESS
RECYCLE COUNT
Table 1: Set of formatted parameters
[0033] After, generating the set of formatted parameters (table 1), an another step may
be performed by a performance controlling module 214 for controlling the performance of the enterprise application is to process the one or more rules on the set of formatted parameters, where the processing may involve one or more steps to be performed. However, before performing the processing steps, according to embodiments of the present subject matter, one or more threshold values may be determined for each formatted parameter of the set of formatted parameters. According to embodiments of present subject matter, the threshold value may be updated or modified based on the methodologies followed for controlling performance of the enterprise applications.
[0034] Thereafter, one of a step may be performed to correlate a formatted parameter
of the set of formatted parameters with at least another formatted parameter of the set of formatted parameters using the one or more rules stored in the rules repository 222. According to the embodiments of the present subject matter, the correlation of the formatted

parameters may be performed for different layers of the one or tiers present in the computer network 302. Along with the set of parameters received and further formatted, custom counters may also be considered for identifying and addressing the anomalies in the performance of the enterprise applications. The custom counters may be categorized based on the one or more entities present in the computer network 302. According to another embodiment of present subject matter, custom counters across various layers of the one or more tiers present in the computer network 302 may also be correlated for controlling the performance of the enterprise applications. Further, the custom counters may be associated with application session count, unique session count, module wise session count, installation site session count, department wise session count, execution time, available threads count, total threads count etc., Further, according to embodiments of the present subject matter, few examples of the correlation of the set of formatted parameters are shown below in Table 2.

Correlation between the Correlation between the Correlation between the
formatted parameters of formatted parameters of the formatted parameters of the
the web server and application server and the web server:
application server database server:
IF (WEBl_PROCESS IF IF (WEBl_PROCESS _CPU)
RECYCLE COUNT) (APP1_SP_EXEC_TIME_IN > THRESHOLD
) >= THRESHOLD CL_NETWORK) >=THRESHOLD AND AND
AND
IF (APPl_PROCESS RECYCLE COUNT) (DB 1_SP_EXEC_TIME_IN_ DB) >= THRESHOLD IF(WEB1_TIME0UT EXCEPTIONCOUNT) > THRESHOLD
) >= THRESHOLD IFAPP_ORA_ERROR_l >= THRESHOLD THEN
CHECK_DB_PROCESS_CO
UNT
IF

APP_DB_CONNECTIVITY _ERROR = TRUE THEN
CHECK
DB_LISTENER_AVAILABI
LITY
Table 2: Correlation of the set of formatted parameters using the one or more rules
[0035] Based on the above correlation among the formatted parameters present in the
set of formatted parameter, anomalies in the enterprise application may be identified. According to embodiments of the present subject matter, the system 102 is further enabled for detecting the one or entities (end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers) causing the anomalies identified above. Further, the system 102 may be also enabled for identifying the causes for the anomalies in terms of heavy data usage, exceptions, exception patterns, Web hosting Technology Logs (IIS, tomcat, etc) http/https access logs, event logs, database logs etc.
[0036] Further, based on the anomalies and their causes identified, recommendation
may get generated for controlling the performance of the enterprise application. According to embodiments, the recommendation generated may further comprise self-healing actions, proactive self-healing actions, and administrative actions. Further, the recommendation generated may be configured for being applied onto the one or more entities detected for causing the anomalies. Among the recommendation generated, the pro-active self-healing actions may be predicted before identification of the anomalies. Further, the self-healing actions may be applied by the system 102 automatically on the one or more entities causing the anomalies. Furthermore, the administrative actions may be recommended and/or notified to one or more administrators, one or more stakeholders or other concerned person for taking corrective actions. In an embodiment, a report comprising the self-healing actions, the proactive/predictive self-healing actions, and the administrative actions may be generated and notified to the user. The notification for the pro-active/predictive self healing actions may

help the user to avoid the anomalies causing the performance bottleneck by recommending possible corrective actions before the occurrence of such anomalies.
[0037] According to another embodiment of present subject matter, the system 102
may be enabled to provide recommendation by providing availability of lite version of an enterprise application which may be detected for performance degradation and pointing to offline (backup) servers, when the anomalies are detected in the online servers. According to another embodiment of present subject matter, the recommendation may also include an enterprise application level self-healing actions like process reset or restart of Application that is hosted, Application pool cycle. Upon implementation of the recommendation generated, disk space and memory storage of the one or more entities in the computer network may be optimized.
[0038] According to another embodiment of present subject matter, the system 102
may work in a background mode and an ad-hoc mode, wherein the background mode may be considered for offline controlling of the performance of the enterprises application and the ad-hoc mode may be considered for online controlling of the performance of the enterprise application in the computer network 302. Further, the system 102 may also facilitate comparison of the enterprise application slowness over a time/day/week/quarter etc. On the basis of such comparison, it may be possible to nail down to probable causes in more deterministic manner.
[0039] In one example, if an anomaly is detected as "Enterprise application is Slow in
One module", different recommended steps may be followed in the one or more entities for addressing the anomalies detected. Considering the entity as a network, the system 102 may verify network connectivity and network bandwidth. Similarly, considering the entity as a web server, the system 102 may perform following recommended steps for controlling the performance of the enterprise application;
1. Verifying module related Log files to identify huge data transfer objects.
2. Verifying EventLogs. HTTPERR logs and Application pool VM Size. Troubleshoot as per the EventLog messages.

3. Verifying application pool wise monitoring parameter logs and reports related logs.
4. Turning off Application specific Logs, except critical logs.
5. Performing recycle of hosted application pools based on module as the last and final option.
[0039] In another example, if an anomaly is detected as "Enterprise application is throwing Service Requested Time-outs Exceptions", different recommended steps may be followed in the one or more entities for addressing the anomalies detected. Considering the entity as a network, the system 102 may verify network connectivity and network bandwidth. Similarly, considering the entity as a web server, the system 102 may perform following recommended steps for controlling the performance of the enterprise application:
1. Collection Of below monitoring data from Computer Networks
• Defined Execution Time-out value in Web Server for the application
• Defined Proxy Open & Close and Send and Receive Timeouts in Application server for the application
• Defined query Execution Timeouts in Application server for the application
2. Correlation of Monitoring Data among computer network using Rule engine with
Threshold values
• Web server Application execution Timeout > Web Threshold value
• Application query Execution Timeouts in App server > App Threshold Value
• Application Proxy Open & Close and Send and Receive > App Proxy threshold
• Web server Application execution Timeout > Application Proxy Open & Close and Send and Receive Timeouts in App server
• Web server Application execution Timeout > Application query Execution Timeouts in App server

3. Generation of Recommendations
• Increase Timeout values or fine tune the corresponding logic
[0040] Referring now to Figure 4, the method for controlling performance of an
enterprise application in a computer network is shown, in accordance with an embodiment of the present subject matter. The method 400 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 400 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0041] The order in which the method 400 is described is not intended to be construed
as a limitation, and any number of the described method blocks can be combined in any order to implement the method 400 or alternate methods. Additionally, individual blocks may be deleted from the method 400 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combinations thereof. However, for ease of explanation, in the embodiments described below, the method 400 may be considered to be implemented in the above described system 102.
At block 402, a set of parameters from at least one layer of one or more tiers present in the computer network 302 may be received. The set of parameters received may indicate performance, availability, and stability of one or more entities residing in the one or more tiers. According to embodiments of the present subject matter, the one or more entities may comprise n number of end-user computers, web servers, application servers, active directory servers, database servers, database report servers, networks, network switches, storage area networks (SAN), and routers.
[0042] At block 404, the set of parameters received may be transformed into a
preconfigured format to generate a set of formatted parameters, where the preconfigured format may be associated with one or more rules stored in a rules repository 222. Further, the

set of parameters received and the set of parameter formatted may be stored in a monitoring parameter repository 220 of the system 102.
[0043] At block 406. a step may be performed for controlling the performance of the
enterprise application by processing the one or more rules on the set of formatted parameters. Further, the processing of the one or more rules on the set of the formatted parameters is explained in detail in figure 5.
[0044] Referring now to the Figure 5, the method of processing of the one or more
rules on the set of the formatted parameters is shown, in accordance with an embodiment of the present subject matter. The method 500 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 500 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0045] The order in which the method 500 is described is not intended to be construed
as a limitation, and any number of the described method blocks can be combined in any order to implement the method 500 or alternate methods. Additionally, individual blocks may be deleted from the method 500 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combinations thereof. However, for ease of explanation, in the embodiments described below, the method 500 may be considered to be implemented in the above described svstem 102.
[0046] At block 502, a step is performed for correlating a formatted parameter another
formatted parameter of the set of formatted parameters using the one or more rules stored in the rules repository 222. According to the embodiments of the present subject matter, the correlation of the formatted parameters may be performed for different layers of the one or tiers present in the computer network 302.

[0047] At block 504. anomalies in the performance of the enterprise application may
be identified based on the correlation performed at block 502.
[0048] At block 506. for the anomalies identified, recommendations may be generated
for controlling the performance of the enterprise application in the computer network 302. According to embodiments, the recommendation generated may further comprise self-healing actions, pro-active self-healing actions, and administrative actions. Further, the recommendations generated may be notified to one or more administrators, one or more stakeholders, and one or more concerned persons.
ADVANTAGES OF THE SYSTEM
[0049] The system 102 provides end-to-end and reusable methodology for identifying
and addressing the anomalies in performance of enterprise application.
[0050] The system 102 enables correlation of monitoring parameters across various
layers of the n-tier architecture.
[0051] Although implementations for methods and systems is provided for controlling
performance of an enterprise application have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations for controlling performance of an enterprise application in a computer network.

We Claim
1. A method for controlling performance of an enterprise application in a computer network,
the method comprising:
receiving a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network, wherein the set of parameters indicate performance, availability, and stability of one or more entities residing in the one or more tiers;
transforming the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters, wherein the one or more rules are applicable to the set of formatted parameters; and
controlling the performance of the enterprise application by processing the one or more rules on the set of formatted parameters, wherein the processing comprises:
correlating a formatted parameter of the set of formatted parameters with at
least one another formatted parameter;
identifying anomalies in the performance of the enterprise application based
upon the correlation; and
generating a recommendation based on the anomalies, wherein the receiving,
the transforming, and the controlling are performed by a processor using programmed
instructions stored in a memory.
2. The method of claim 1. wherein the one or more tiers present in the computer network
comprises a web tier, an application tier, and a database tier, and wherein the web tier
comprises an user-interface layer, code behind layer, facade layer, model layer, view layer,
controller layer, presentation layer, data access layer, and the application tier comprises
business process layer, business layer, data access layer, resource access layer, service
implementation layer, service interface layer, entity translator layer, fa?ade layer, and a
repository layer.

3. The method of claim I, wherein the one or more entities residing in the one or more tiers, present in the computer network, comprises one or more end-user computer, one or more web server, one or more an application server, one or more active directory server, one or more database server/database reports server, network, one or more network switches, one or more storage area networks (SAN), one or more firewalls, and one or more routers.
4. The method of claim 1 further configured for detecting at least one of the one or more end-user computer, the one or more web server, the one or more an application server, the one or more active directory server, the one or more database server/database reports server, the network, the one or more network switches, the one or more storage area networks (SAN), the one or more firewalls, and the one or more routers causing the anomalies in the performance of the enterprise application.
5. The method of claim 1 and 4, wherein the recommendation generated further comprises self-healing actions, pro-active self-healing action, and administrative actions, wherein the self-healing actions, the pro-active self-active actions, and the administrative actions are configured for being applied onto the at least one of the one or more end-user computer, the one or more web server, the one or more an application server, the one or more active directory server, the one or more database server/database reports server, the one or more networks, the one or more network switches, the one or more storage area networks (SAN), the one or more firewalls, and the one or more routers detected for causing the anomalies.
6. The method of claim I, wherein the enterprise application is architected using Service Oriented Architecture (SOA) style, and wherein the set of parameters are associated with one or more services provided by the enterprise application deployed in the Service Oriented Architecture (SOA) style.
7. A system for controlling performance of an enterprise application in a computer network, the system comprising:
a processor;

a memory coupled to the processor, the memory comprising a plurality of modules capable of being executed by the processor, wherein the plurality of modules comprises:
receiving module configured to receive a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network, wherein the set of parameters indicate performance, availability, and stability of one or more entities residing in the one or more tiers;
transforming module configured to transform the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters, wherein the one or more rules are applicable to the set of formatted parameters; and
performance controlling module configured to control the performance of the . enterprise application by processing the one or more rules on the set of formatted parameters, wherein the processing comprises:
correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter;
identifying anomalies in the performance of the enterprise application based upon the correlation; and
generating a recommendation based on the anomalies.
8. The system of claim 7, wherein the one or more tiers present in the computer network comprises a web tier, an application tier, and a database tier, and wherein the web tier comprises an user-interface layer, code behind layer, facade layer, model layer, view layer, controller layer, presentation layer, data access layer, and the application tier comprises business process layer, business layer, data access layer, resource access layer, service implementation layer, service interface layer, entity translator layer, facade layer, and a repository layer.
9. The system of claim 7, wherein the one or entities residing in the one or more tiers, present in the computer network, comprises one or more end-user computer, one or more web server, one or more an application server, one or more active directory server, one or more database

server/database reports server, one or more networks, one or more network switches, one or more storage area networks (SAN), one or more firewalls, and one or more routers.
10. The system of claim 7 further configured for detecting at least one of the one or more end-user computer, the one or more web server, the one or more application server, the one or more active directory server, the one or more database server/ database reports server, the network, the one or more network switches, the one or more storage area networks (SAN), the one or more firewalls, and the one or more routers causing the causing the anomalies in the performance of the enterprise application.
11. The system of claim 7 and 10, wherein the recommendation generated further comprises self-healing actions, pro-active self-healing actions, and administrative actions, wherein the self-healing actions, the pro-active self-active actions, and the administrative actions are configured for being applied onto the at least one of the one or more end-user computer, the one or more web server, the one or more application server, the one or more active directory server, the one or more database server/database reports server, the one or more networks, the one or more network switches, the one or more storage area networks (SAN), the one or more firewalls, and the one or more routers detected for causing the anomalies.
12. A computer program product having embodied thereon a computer program for controlling performance of an enterprise application in a computer network, the computer program product comprising a set of instructions, the instructions comprising instructions for:
receiving a set of parameters, associated with the computer network, from at least one layer of one or more tiers present in the computer network, wherein the set of parameters indicate performance, availability, and stability of one or more entities residing in the one or more tiers;
transforming the set of parameters into a preconfigured format associated with one or more rules in order to generate a set of formatted parameters, wherein the one or more rules are applicable to the set of formatted parameters; and

controlling the performance of the enterprise application by processing the one or more rules on the set of formatted parameters, wherein the processing comprises:
correlating a formatted parameter of the set of formatted parameters with at least one another formatted parameter;
identifying anomalies in the performance of the enterprise application based upon the correlation; and
generating a recommendation based on the anomalies.

Documents

Application Documents

# Name Date
1 3292-MUM-2013-FORM 26(12-12-2013).pdf 2013-12-12
1 3292-MUM-2013-IntimationOfGrant10-01-2023.pdf 2023-01-10
2 3292-MUM-2013-PatentCertificate10-01-2023.pdf 2023-01-10
2 3292-MUM-2013-CORRESPONDENCE(12-12-2013).pdf 2013-12-12
3 3292-MUM-2013-FORM 1(18-12-2013).pdf 2013-12-18
3 3292-MUM-2013-ABSTRACT [30-01-2020(online)].pdf 2020-01-30
4 3292-MUM-2013-CORRESPONDENCE(18-12-2013).pdf 2013-12-18
4 3292-MUM-2013-CLAIMS [30-01-2020(online)].pdf 2020-01-30
5 ABSTRACT1.jpg 2018-08-11
5 3292-MUM-2013-COMPLETE SPECIFICATION [30-01-2020(online)].pdf 2020-01-30
6 3292-MUM-2013-FORM 3.pdf 2018-08-11
6 3292-MUM-2013-FER_SER_REPLY [30-01-2020(online)].pdf 2020-01-30
7 3292-MUM-2013-OTHERS [30-01-2020(online)].pdf 2020-01-30
7 3292-MUM-2013-FORM 2.pdf 2018-08-11
8 3292-MUM-2013-FORM 2(TITLE PAGE).pdf 2018-08-11
8 3292-MUM-2013-FER.pdf 2019-07-30
9 3292-MUM-2013-FORM 18.pdf 2018-08-11
9 3292-MUM-2013-ABSTRACT.pdf 2018-08-11
10 3292-MUM-2013-CLAIMS.pdf 2018-08-11
10 3292-MUM-2013-FORM 1.pdf 2018-08-11
11 3292-MUM-2013-CORRESPONDENCE.pdf 2018-08-11
11 3292-MUM-2013-DRAWING.pdf 2018-08-11
12 3292-MUM-2013-DESCRIPTION(COMPLETE).pdf 2018-08-11
13 3292-MUM-2013-CORRESPONDENCE.pdf 2018-08-11
13 3292-MUM-2013-DRAWING.pdf 2018-08-11
14 3292-MUM-2013-CLAIMS.pdf 2018-08-11
14 3292-MUM-2013-FORM 1.pdf 2018-08-11
15 3292-MUM-2013-ABSTRACT.pdf 2018-08-11
15 3292-MUM-2013-FORM 18.pdf 2018-08-11
16 3292-MUM-2013-FER.pdf 2019-07-30
16 3292-MUM-2013-FORM 2(TITLE PAGE).pdf 2018-08-11
17 3292-MUM-2013-FORM 2.pdf 2018-08-11
17 3292-MUM-2013-OTHERS [30-01-2020(online)].pdf 2020-01-30
18 3292-MUM-2013-FER_SER_REPLY [30-01-2020(online)].pdf 2020-01-30
18 3292-MUM-2013-FORM 3.pdf 2018-08-11
19 3292-MUM-2013-COMPLETE SPECIFICATION [30-01-2020(online)].pdf 2020-01-30
19 ABSTRACT1.jpg 2018-08-11
20 3292-MUM-2013-CORRESPONDENCE(18-12-2013).pdf 2013-12-18
20 3292-MUM-2013-CLAIMS [30-01-2020(online)].pdf 2020-01-30
21 3292-MUM-2013-FORM 1(18-12-2013).pdf 2013-12-18
21 3292-MUM-2013-ABSTRACT [30-01-2020(online)].pdf 2020-01-30
22 3292-MUM-2013-PatentCertificate10-01-2023.pdf 2023-01-10
22 3292-MUM-2013-CORRESPONDENCE(12-12-2013).pdf 2013-12-12
23 3292-MUM-2013-IntimationOfGrant10-01-2023.pdf 2023-01-10
23 3292-MUM-2013-FORM 26(12-12-2013).pdf 2013-12-12

Search Strategy

1 searchstrategy_29-07-2019.pdf

ERegister / Renewals

3rd: 10 Apr 2023

From 21/10/2015 - To 21/10/2016

4th: 10 Apr 2023

From 21/10/2016 - To 21/10/2017

5th: 10 Apr 2023

From 21/10/2017 - To 21/10/2018

6th: 10 Apr 2023

From 21/10/2018 - To 21/10/2019

7th: 10 Apr 2023

From 21/10/2019 - To 21/10/2020

8th: 10 Apr 2023

From 21/10/2020 - To 21/10/2021

9th: 10 Apr 2023

From 21/10/2021 - To 21/10/2022

10th: 10 Apr 2023

From 21/10/2022 - To 21/10/2023

11th: 10 Apr 2023

From 21/10/2023 - To 21/10/2024

12th: 21 Oct 2024

From 21/10/2024 - To 21/10/2025

13th: 16 Oct 2025

From 21/10/2025 - To 21/10/2026