Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Reinhard Klemm is active.

Publication


Featured researches published by Reinhard Klemm.


Proceedings of the ACM 1999 conference on Java Grande | 1999

Practical guidelines for boosting Java server performance

Reinhard Klemm

As Java technology matures, an increasing number of applications that have traditionally been the domain of languages such as C++ are implemented in Java. Many of these applications such as Internet servers demand high execution speed. Currently, it is mostly the programmer’s responsibility to optimize Java code for speed. This paper presents several simple yet effective source code-level guidelines for accelerating Java programs. Among the performance enhancing rules described in the paper are object reuse, avoiding Java API methods with implicit object allocations, statically creating immutable objects, thread pooling, and avoiding dynamically expanding objects. All these rules aim at reducing the frequency of object allocations and objectto-object copy operations. Using examples, the paper demonstrates up to 15-fold accelerations by using these guidelines. When applied under the appropriate circumstances explained in the paper, none of the rules leads to performance penalties.


pervasive computing and communications | 2006

Hermes: a platform for context-aware enterprise communication

Ajita John; Reinhard Klemm; Ankur Mani; Doree Duncan Seligmann

This paper describes our vision for next-generation context-aware enterprise communications that achieves the integration of backend business processes with user communications. We envision a new class of enterprise applications in which communications between users in response to a variety of enterprise events will be driven by an automated process in which an appropriate group of users will be selected for communicating at an appropriate time on an appropriate media. To achieve this goal, the applications must exploit a variety of context information such as enterprise knowledge, user knowledge and application knowledge. This paper describes our platform Hermes that enables the creation and execution of such context-aware applications. It briefly presents experiences with Hermes in several demonstrations


ubiquitous computing systems | 2007

Enhancing Enterprise User Productivity with Embedded Context-Aware Voice Applications

Amogh Kavimandan; Reinhard Klemm; Aniruddha S. Gokhale; Doree Duncan Seligmann

The increasing amount of software and computational capabilities in voice endpoints, switches, and networks creates an opportunity for embedding advanced applications in voice communication paths. Particularly in an enterprise environment, such applications can alter the traditional behavior of voice communications from simply connecting two or more people to software-assisted connection establishment and enhanced on-call features. In this paper, we claim that embedding context-aware applications in communication paths can greatly increase the efficiency, effectiveness, and convenience of enterprise communications and thus the productivity of enterprise users. We identify the challenges associated with embedding context-aware applications in communication paths and exemplify our central claim by presenting a context-aware voice communications application CallerID++. CallerID++ aims at improving the aged concept of caller ID as the basis for a callee s decision to accept or reject an incoming call. Through a call acceptance negotiation between caller and callee prior to call establishment, CallerID++ allows the callee to assess the importance of an incoming call relative to the callees current activity. CallerID++ thus helps minimizing unwanted interruptions without rejecting important calls.


enterprise distributed object computing | 2008

Automated Context-Sensitive Dialog Synthesis for Enterprise Workflows Using Templatized Model Transformations

Amogh Kavimandan; Reinhard Klemm; Aniruddha S. Gokhale

In modern enterprises, workflows are essential to automating business processes. During their execution, workflows need to interact with users using a mechanism called dialogs to deliver information and collect input that is required for further decision-making in the workflows. Information delivery and input collection by enterprise workflows is often a time-sensitive matter. Thus, dialogs have to be communicated to users in a timely fashion, which necessitates sending dialogs to user communication endpoints that permit the recipients to quickly, effectively, and conveniently view the information and provide the requested feedback. The proliferation of communication devices and clients among enterprise users implies that the content and rendering of dialogs has to be tailored to a large number of endpoints and preferably by middleware. This customization poses several challenges to developing and maintaining a manageable, extensible, and flexible middleware mechanism for synthesizing dialogs from specific decision points in enterprise workflows. In this paper, we first describe the challenges associated with context-sensitive dialog synthesis. We discuss how we applied templatized model transformation techniques to automatically synthesize dialogs in enterprise workflows. We show how our templatized transformation approach supports the evolution of communication endpoints and system requirements with a minimum of downtime and invasive design changes. We demonstrate our approach in the context of a representative enterprise case study.


Software - Practice and Experience | 2001

Enhancing Java server availability with JAS

Reinhard Klemm; Navjot Singh

The Java programming language is increasingly used in the implementation of servers with stringent availability, reliability, and performance requirements. Our Java Application Supervisor (JAS) software system is an attachment to a Java runtime environment that enhances the availability of a target Java program. To this end, JAS automatically detects and resolves certain reliability and performance problems during the execution of the target program. JAS does not require any source or byte code modifications in the target program. Instead, JAS is configured for a target program by supplying simple policies that determine how JAS reacts to problems during the target program execution. JAS typically imposes little execution time and memory overhead on the target program. We describe an experiment with a Web proxy that exhibits reliability and performance problems under heavy load. In this experiment, running the proxy in conjunction with JAS increased the rate of successful requests to the proxy by 33% and decreased the averagerequest processing time by 22%. JAS was also used successfully in two Java servers at Bell Labs to monitor server reliability and performance and ensure long‐term availability. Copyright


world conference on information systems and technologies | 2016

A Platform Approach to Personalizing Web Applications with Social Network User Profiles

Reinhard Klemm

Application personalization holds the promise of enhancing the effectiveness of software, facilitating its use, and creating a stronger emotional bond with its users, thus contributing to a user-centered application experience. Traditionally, the development of personalized applications and the acquisition of quality user data as the basis for personalization have posed significant challenges. This article presents a novel experimental development and execution platform that enables a simple, general, systematic, and consistent approach to developing personalized Web applications according to long-term user characteristics. The platform leverages social network user profiles as a source of user characteristics. We describe the key conceptual and technical goals as well as the platform design challenges in detail. An example demonstrates the programming methodology and its benefits.


international conference on engineering of complex computer systems | 2006

Efficient dynamic multikeys in Enterprise JavaBeans

Reinhard Klemm

The J2EE platform allows the rapid development of a large class of complex and robust server-side applications. However, some J2EE constraints pose serious challenges to the development of J2EE applications that interact with legacy systems outside the originally targeted J2EE domain. One such constraint is the static nature of identities of entity Enterprise JavaBeans (EJBs). We present a case study that motivates the introduction of dynamic sets of identities of entity EJBs, which we call dynamic multikeys, and describe five different ways of implementing dynamic multikeys based on static EJB identities. We compare the characteristics of our dynamic multikey solutions and demonstrate through performance tests that one of them is superior from a performance point of view. However, each one of the slower solutions offers distinct advantages that may make it attractive to some developers and for applications where the performance of dynamic multikeys is not a critical factor.


international symposium on software reliability engineering | 2002

Automatic failure detection, logging, and recovery for high-availability Java servers

Reinhard Klemm; Navjot Singh

Many systems and techniques exist for detecting application failures. However, previously known generic failure detection solutions are only of limited use for Java applications because they do not take into consideration the specifics of the Java language and the Java execution environment. In this article, we present the application-independent Java Application Supervisor (JAS). JAS can automatically detect, log, and resolve a variety of execution problems and failures in Java applications. In most cases, JAS requires neither modifications nor access to the source code of the supervised application. A set of simple user-specified policies guides the failure detection, logging, and recovery process in JAS. A JAS configuration manager automatically generates default policies from the bytecode of an application. The user can modify these default policies as needed. Our experimental studies show that JAS typically incurs little execution time and memory overhead for the target application. We describe an experiment with a Web proxy that exhibits reliability and performance problems under heavy load and demonstrate an increase in the rate of successful requests to the server by almost 33% and a decrease in the average request processing time by approximately 22% when using JAS.


Archive | 2002

Automatic failure detection and recovery of applications

Reinhard Klemm; Navjot Singh


Archive | 2004

Method and apparatus for providing a virtual assistant to a communication participant

Ajita John; Reinhard Klemm; Doree Duncan Seligmann

Collaboration


Dive into the Reinhard Klemm's collaboration.

Researchain Logo
Decentralizing Knowledge