News Column

"Providing High Availability to a Hybrid Application Server Environment Containing Non-Java Containers" in Patent Application Approval Process

February 20, 2014



By a News Reporter-Staff News Editor at Politics & Government Week -- A patent application by the inventors Kashyap, Amith N. (Bangalore, IN); Kelapure, Rohit D. (Morrisville, NC); Venkitachalam, Hariharan N. (Bangalore, IN), filed on July 27, 2012, was made available online on February 6, 2014, according to news reporting originating from Washington, D.C., by VerticalNews correspondents.

This patent application is assigned to International Business Machines Corporation.

The following quote was obtained by the news editors from the background information supplied by the inventors: "An application server provides software applications with services such as security, data services, transaction support, load balancing and management of large distributed systems. One type of application server is the Java.RTM. EE application server used to support the Java Platform, Enterprise Edition (Java.RTM. EE). The Java.RTM. EE application server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it in order to enable developers to concentrate more on the business logic of the components rather than on infrastructure and integration tasks.

"Customers using legacy applications, such as Common Business-Oriented Language (COBOL), may desire to re-host such applications within a Java.RTM. EE application server based upon the Java.RTM. Virtual Machine (JVM.RTM.) environment, where new developments are currently occurring thereby propelling the adaptation of new technologies by legacy applications by leveraging the features provided by the modern Java.RTM. EE application server environment.

"One manner of legacy applications leveraging the features provided by the modern Java.RTM. EE application server environment is through the use of a 'hybrid' application server, which may contain one or more Java.RTM. EE containers and one or more non-Java.RTM. containers. The hybrid application server allows hosting of applications written in multiple programming languages, such as Java.RTM. and COBOL. A 'container' may refer to a data structure used for storing and executing applications. For example, a Java.RTM. EE container may be used for hosting Java.RTM. EE applications running on a JVM.RTM.; whereas, the non-Java.RTM. container may be used for hosting non-Java.RTM. applications, such as COBOL applications. The non-Java.RTM. container may also host applications written in non-Java.RTM. styles, such as Customer Information Control System (CICS), etc. One or more of the Java.RTM. EE applications within the Java.RTM. EE container may call the applications being hosted in the non-Java.RTM. container.

"In some implementations, there may be several of these hybrid application servers that are combined to form a 'cluster.' Requests to these clusters may be routed through routing agents, such as a reverse proxy server (e.g., Hypertext Transfer Protocol (HTTP) proxy server). A proxy server is a specific type of application server that acts as an intermediary for requests from clients seeking resources. One type of proxy server is a HTTP proxy server that routes HTTP requests to applications within the cluster of hybrid application servers that perform the work.

"In such an implementation, the routing agent redirects the incoming requests to various hybrid application servers within the cluster based on a chosen routing algorithm. If a request is received by a Java.RTM. EE application (within the Java.RTM. EE container of the hybrid application server) that makes a call to a non-Java.RTM. application (within the non-Java.RTM. container of the hybrid application server), then it will be serviced by the non-Java.RTM. application.

"Currently, the routing agent, such as a proxy server, only has knowledge of the availability of the Java.RTM. EE applications to service the requests by monitoring the JVM.RTM.s and sending only those requests to the Java.RTM. EE applications running on a JVM.RTM. that is operating. Once the JVM.RTM. becomes nonoperational, it will be marked as unavailable by the proxy server.

"If, however, the non-Java.RTM. container of the hybrid application server within the cluster becomes unavailable, such as by a failure, the routing agent would have no knowledge of such an unavailability. Since the routing agent only has knowledge of the availability of the Java.RTM. EE applications, the routing agent will continue to send requests to the Java.RTM. EE applications (within the Java.RTM. EE container of the hybrid application server) that call the unavailable non-Java.RTM. applications within the unavailable non-Java.RTM. container. As a result, such requests would encounter errors and could not be serviced.

"One manner of addressing such a situation is to have an object in the Java.RTM. EE container monitor the availability of the non-Java.RTM. container. When it becomes unavailable, the entire hybrid application server of the cluster will become deactivated. However, by deactivating the entire hybrid application server of the cluster, it prevents the routing agent from sending requests to those Java.RTM. EE applications within that hybrid application server that do not call the non-Java.RTM. applications within the unavailable non-Java.RTM. container thereby unnecessarily reducing the number of applications to service the requests which results in the inefficient use of the resources."

In addition to the background information obtained for this patent application, VerticalNews journalists also obtained the inventors' summary information for this patent application: "In one embodiment of the present invention, a method for providing high availability to a hybrid application server environment containing non-Java.RTM. containers comprises searching for dependency information stored within an application framework to determine which Java.RTM. applications in a Java.RTM. container were dependent on non-Java.RTM. applications deployed in a non-Java.RTM. container in response to detecting the non-Java.RTM. container becoming unavailable. The Java.RTM. container and the non-Java.RTM. container reside within a hybrid application server of the cluster of hybrid application servers. The method further comprises identifying one or more of the Java.RTM. applications in the Java.RTM. container that are dependent on one or more of the non-Java.RTM. applications deployed in the non-Java.RTM. container. Furthermore, the method comprises deactivating the one or more Java.RTM. applications identified as being dependent on the one or more non-Java.RTM. applications deployed in the non-Java.RTM. container. Additionally, the method comprises marking the one or more Java.RTM. applications in the Java.RTM. container as becoming unavailable in response to the one or more Java.RTM. applications becoming deactivated. In addition, the method comprises sending, by a processor, requests to one or more of the Java.RTM. applications in the Java.RTM. container that are not marked as unavailable.

"Other forms of the embodiment of the method described above are in a system and in a computer program product.

"The foregoing has outlined rather generally the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the present invention that follows may be better understood. Additional features and advantages of the present invention will be described hereinafter which may form the subject of the claims of the present invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

"A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings, in which:

"FIG. 1 illustrates a hardware configuration of a computer system configured in accordance with an embodiment of the present invention;

"FIG. 2 illustrates the mechanism for handling non-Java.RTM. container failures in a cluster of hybrid application servers in accordance with an embodiment of the present invention;

"FIG. 3 is a flowchart of a method for creating and storing dependencies between the Java.RTM. and non-Java.RTM. applications stored in the Java.RTM. and non-Java.RTM. containers, respectively, in accordance with an embodiment of the present invention;

"FIG. 4 is a flowchart of a method for deactivating those Java.RTM. applications in the Java.RTM. container that are dependent upon a non-Java.RTM. application within an unavailable non-Java.RTM. container of a hybrid application server in accordance with an embodiment of the present invention; and

"FIG. 5 is a flowchart of a method for providing high availability to a hybrid application server environment containing non-Java.RTM. containers in accordance with an embodiment of the present invention."

URL and more information on this patent application, see: Kashyap, Amith N.; Kelapure, Rohit D.; Venkitachalam, Hariharan N. Providing High Availability to a Hybrid Application Server Environment Containing Non-Java Containers. Filed July 27, 2012 and posted February 6, 2014. Patent URL: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.html&r=183&p=4&f=G&l=50&d=PG01&S1=20140130.PD.&OS=PD/20140130&RS=PD/20140130

Keywords for this news article include: International Business Machines Corporation.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Politics & Government Week


Story Tools