
Ajay Mohindra- PhD Computer Science
- IBM
Ajay Mohindra
- PhD Computer Science
- IBM
About
54
Publications
7,089
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
959
Citations
Current institution
Additional affiliations
June 1993 - present
Publications
Publications (54)
Healthcare enterprises are starting to adopt cloud computing due to its numerous advantages over traditional infrastructures. This has become a necessity because of the increased volume, velocity and variety of healthcare data, and the need to facilitate data correlation and large-scale analysis. Cloud computing infrastructures have the power to of...
There's a large push toward offering solutions and services in the cloud due to its numerous advantages. However, there are no clear guidelines for designing and deploying cloud solutions that can seamlessly operate to handle Web-scale traffic. The authors review industry best practices and identify principles for operating Web-scale cloud solution...
A key feature of Cloud computing is its agility and flexibility to support the scalability needs of business solutions. Currently, the agility is only limited to the scalability of the compute, memory and storage. To improve an application's agility, we need to monitor a measure solution level metrics and associate the performance of the metrics to...
A computer implemented method, a computer program product, and a computer distribute a virtual machine image. A request for a virtual machine image is received. Responsive to receiving the request or the virtual machine image, the authenticity of a virtual machine image catalog associated with the virtual machine image is identified. Responsive to...
A method for operating a sensor based application includes receiving a context hierarchy for the sensor based application, the context hierarchy comprising a plurality of contexts, wherein each of the contexts is assigned a level of interest and a priority, reading the context hierarchy and discovering at least one sensor associated with each of th...
A computer implemented method is provided to verify an integrity of a solution. The computer implemented method comprises hashing, by a computer, a set of virtual machine instances in a solution topology of the solution. The computer hashes a set of connections in the solution topology. The set of connections comprising a connection between ones of...
A computer-implemented process for privacy aware authenticated map-reduce processing receives data for a MapReduce operation to form received data, identifies a control point in a set of control points of the MapReduce operation to form an identified control point and identifies an applicable set of policies for the identified control point to form...
In a method for scaling up/down security (non-functional) components of an application, determine (a) types of interactions and a number of each type of interaction each non-security (functional) component has with security components for a plurality of requests. Determine, based on (a) and an expected number of incoming requests to the application...
A system and method for associating a state with a distributed system and transitioning component states with recovery to reverse transitioning attempts includes defining a global state representing an overall provisioning state of a plurality of components involved in a system wherein a set of global states are employed as provisioning checkpoints...
Outcome-based business (OBB) is a business model that directly links a service provider's revenue or fee to the business value delivered by enabled services to the client. Its financial construct allows for a shared risk and reward model. Using OBB model, the service provider earns its revenue upon meeting mutually agreed benchmarks that affect the...
A system for enabling communication between multiple cloud-based services operating on a common cloud infrastructure includes a cloud infrastructure providing cloud-based services. The cloud-based services include a first service of a first tenant and a second service of a second tenant. A live directory is located within the cloud infrastructure a...
A computer implemented method, data processing system, computer usable program code, and active repository are provided for management of a software service. A request is received to deploy the software service in a computer network. A dependency analysis is performed for the requested software service to determine component software services and p...
Techniques are disclosed for the dynamic introduction of new components to be used during provisioning of solutions in data processing system environments such as service delivery environments. For example, in a provisioning system that manages provisioning of components in a data processing system, an automated method of dynamically provisioning o...
Provisioning legacy simulation applications for Product Lifecycle Management (PLM) is very challenging. There are two key issues: (i) Hosting applications for simulation job executions. These legacy applications are developed in various platforms, usually monolithic, and may heavily consume system resources in the runtime. (ii) Input/output data st...
A method for assigning tenants of users to offering instances of an application or middleware includes representing a set of offerings as respective offering instances of the application or middleware available from a server, determining server resource capacity of the server, representing constraints associated with the tenants and the offering in...
Increasing popularity of cloud-based services has led to the emergence of cloud marketplaces where services from different providers are offered, usually in the form of a catalog. The customers' decision about buying offered services is based on idiosyncratic preferences regarding non-functional service attributes, e.g., price, provider reputation,...
Scalability and performance are key factors to the success of many enterprises involved in doing business on the web. Maintaining sufficient web resources just to meet performance during peak demands can be costly. Compute Cloud provides a powerful environment to allow dynamic scaling of web applications without the needs for user intervention. In...
In this paper we present our experience in building the Research Compute Cloud (RC2), a cloud computing platform for use by the worldwide IBM Research community. Within eleven months of its official release RC2 has reached a community of 631 users spanning 34 countries, and serves on average 350 active users and 1800 active VM instances per month....
Cloud Computing, with its on-demand provisioning capability on shared resources, has emerged as a new paradigm for reducing IT costs. In this paper, we present the architecture of a provisioning system that simplifies the deployment of complex application services on a Cloud infrastructure. We will introduce the concept of Composite Appliance and e...
Managing and containing runaway IT costs for solution deployment is one of the top priorities for enterprises. Cloud Computing, with its on-demand provisioning capability on shared resources, has emerged as a new paradigm for reducing IT costs. In this paper, we describe a solution-based provisioning mechanism to automate the deployment of complex...
Gaining visibility into their retail supply chain has become a top priority for the Consumer Product (CP) industry. However, taking a “do-it-yourself” approach to the problem is proving to be both expensive and complex. Cloud Computing, with its on-demand provisioning capability on shared resources, has emerged as a new paradigm to address the chal...
Containing runaway IT costs is one of the top priorities for enterprises. Cloud Computing, with its on-demand provisioning capability on shared resources, has emerged as a new paradigm for managing IT costs. In this paper, we describe a framework to simplify deployment of complex solutions on a Cloud infrastructure. We discuss the concept of a comp...
Scalability is critical to the success of many enterprises currently involved in doing business on the Web and in providing information that may vary drastically from one time to another. Maintaining sufficient resources just to meet peak requirements can be costly. Cloud computing provides a powerful computing model that allows users to access res...
This paper describes the architecture and the implementation of BlueStar, which uses a federation-based approach to design and build Internet-scale data centers. Instead of aggregating all of the compute, storage, and network resources in a single data center, our approach uses the concept of a federation in which different-size data centers partic...
Cost of customization, deployment and operation of a software application supporting multiple tenants can be lowered through
multi-tenancy in a new application business model called Software as a Service (SaaS). However, there are a number of technical
challenges that need to be tackled before these benefits can be realized. These challenges includ...
Automation of document tracking and lifecycle management using content management systems is getting more and more momentum as large enterprises attempt to streamline business processes and improve productivity. Traditionally, these systems are built as monolithic, stand-alone applications that lack the dynamicity support and are difficult to scale...
Today grid infrastructures are increasingly required to handle complex service requests requiring configuration and deployment of customized solutions. Existing tools and technologies are labor intensive and result in inefficient and wasteful use of both human and IT resources. In this paper, we describe Harmony II - an architecture for delivering...
An area of unique opportunity for SaaS is the mobile and ubiquitous computing space. The SaaS model has a number of advantages that are uniquely suited to a resource-constrained mobile computing environment. This short paper gives a high level overview of the SaaS which brings significant opportunities in this space and further presents the archite...
Today, system management services are implemented by dedicated subsystems, built using proprietary system management components. These subsystems are customized to automate their operations to the extent feasible. This model has been successful in dedicated enterprise environments, but there are opportunities to broaden the scope of these services...
Autonomic personal computing is personal computing on autonomic computing platforms. Its goals combine those of personal computing with those of autonomic computing. The challenge of personal autonomic computing is to simplify and enhance the end-user experience, delighting the user by anticipating his or her needs in the face of a complex, dynamic...
Subscription computing is a package of computer and networking hardware, system and selected application software, and support services necessary to build and maintain a basic computing platform. The package commonly includes a suite of personal-productivity applications, add-ins, and utilities. Some providers include a wide range of business servi...
Currently, hand-held and palmtop computers are widely used for
personal information management. In the near future, they will also be
used to access enterprise data. There are however, numerous technical
challenges in enabling an end-to-end system that provides enterprise
data access from mobile computers. The challenges include heterogeneity,
vari...
An important technical hurdle blocking the adoption of mobile
agent technology is the lack of reliability. Designing a reliable mobile
agent system is especially challenging since a mobile agent is
potentially affected by failure of any host that it visits, or failure
of any communication link that it needs to traverse. Previous work in
this domain...
A network-centric application developer faces a number of challenges, including distributed program design, e#cient remote object access, software reuse, and program deployment issues. This level of complexity hinders the developer's ability to focus on the application logic. NetPebbles removes this complexity from the developer through a network-c...
This paper introduces a thin-client programming model and then presents an object-oriented framework for developing applications using the model. The programming model and the framework have evolved from interactions with developers and users of commercial applications. The key aspects of the thin-client programming model are that the client downlo...
: This paper presents the design and implementation of the recovery scheme in Calypso. Calypso is a cluster-optimized, distributed file system for UNIX clusters. As in Sprite and AFS, Calypso servers are stateful and scale well to a large number of clients. The recovery scheme in Calypso is non-disruptive, meaning that open files remain open, clien...
The abstraction for supporting the notion of shared memory in a non-shared memory (distributed) architecture is referred to as distributed shared memory. We have implemented a set of mechanisms for maintaining the coherence of distributed shared memory. In this paper we show how distributed fault-tolerant transactions can be implemented elegantly u...
In the single system UNIX, successful completion of a write system
call implies a guarantee of adequate disk space for any new pages
created by the system call. To support such a guarantee in a distributed
file system designers need to solve the problems of accurately
estimating the space needed, communication overhead, and fault
tolerance. In the...
In this research the various issues that arise in the design and implementation of distributed shared memory (DSM) systems are examined. This work has been motivated by two observations: distributed systems will continue to become popular, and will be increasingly used for solving large computational problems; and shared memory paradigm is attracti...
A shared memory abstraction in distributed systems (DSM) provides ease of programming but could be costly to implement. Many protocols have been proposed recently that are based on different approaches for exploiting program semantics. We have implemented four different protocols that embody the different memory semantics and have evaluated them us...
Based on implementation experience and measurements, this paper presents an evaluation of design alternatives to a cluster file system. The file system is targeted for IBM cluster systems, Scalable POWERparallel and AIX HACMP/600. We considered a shared disk approach where serialized, multiple instances of a single-system file system directly acces...
This paper presents our experiments with dynamic insertion of object services, where dynamic insertion is defined as adding services to object instances at runtime. In contrast, the static approach is defined as adding services to objects at class definition time. Dynamic insertion allows class implementors to concentrate on the basic functionality...
This paper describes design and preliminary measurements of a file server recovery scheme that uses naturally replicated state among clients. This scheme, implemented in the Calypso file system, is truly transparent to the user and avoids the overhead of explicit replication. A three-phase protocol reconstructs the server state either on a backup n...
This paper presents the design and implementation of a distributed
token manager for a cluster-optimized, distributed Unix file system. In
this file system, tokens provide cache consistency and support for
single-system Unix semantics. The paper describes the token types used,
token arbitration protocol, deadlock-free implementation,
fault-toleranc...
This thesis examines the various system issues that arises in the design of distributed shared memory systems. ion : : : : : : : : : : : : : : : 2 2 Memnet Architecture : : : : : : : : : : : : : : : : : : : : : : : : : : 25 3 Cost associated with each subsystem in servicing a DSM page-fault. Total = 16.3 ms : : : : : : : : : : : : : : : : : : : : :...
While the duality between message-passing and shared memory for interprocess communication is well-known, the shared memory paradigm has drawn considerable attention in recent times even in distributed systems. Distributed Shared Memory (DSM) is the abstraction for supporting the notion of shared memory in a physically non-shared (distributed) arch...
The CLOUDS operating system supports a distributed environment consisting of compute servers, data servers and user workstations. The resulting environment logically simulates an integrated, centralized computing system. In addition, CLOUDS supports a programming paradigm that makes distributed programming simpler. Distributed programs can be writt...
Today, service delivery environments are increasingly re-quired to handle complex service requests requiring config-uration and deployment of customized solutions. Managing and delivering such services using grid based infrastructure has many attractions including flexible resource manage-ment framework, the ability to handle heterogeneous work-loa...
System management is a very human-centric process, frequently requiring a system administrator to intervene to complete tasks. This is because the knowledge about what steps to take and which software to use lies with the administrator. To reduce the human- centric nature of system management, we present a new rules-based approach to system managem...