Date of Award


Degree Name

Doctor of Philosophy


Computer Science

First Advisor

Dr. Leszek T. Lilien

Second Advisor

Dr. Ala Al-Fuqaha

Third Advisor

Dr. Zijiang (James) Yang

Fourth Advisor

Dr. Ikhlas Abdel-Qader


Oppnet virtual machine, opportunistic resource utilization, application-level resource sharing, collaborative distribution systems, networks


Opportunistic resource utilization networks or oppnets are a paradigm for specialized ad hoc networks. The Oppnet Virtual Machine (OVM) is a collection of primitives designed to create a middleware for application-level resource acquisition by oppnets and oppnet-enabled systems and devices (where the latter are defined as the computational entities able to communicate with other oppnets or oppnet-enabled entities). Acquisition of communication resources is the foundation for acquisition of other resources.

The OVM primitives can be downloaded by any computational entity—making entity oppnet-enabled. OVM ensures that oppnet-enabled entities can communicate and acquire resources in an opportunistic and ad hoc manner. This OVM-based interaction between entities can support the following required oppnet characteristics, which together distinguish oppnets from other collaborative distributed systems: (i) support for the helper paradigm—as the basis for resource acquisition; (ii) universality—regardless of the system or device make or function, and through any communication technologies; (iii) lack of third-party mediators—since interactions among oppnet-enabled entities take place without (trusted) third parties; and (iv) ad hoc operation. We develop and validate the improved second version of the OVM primitives, capable of supporting a very broad and diverse set of applications. As a proof of feasibility, we use our set of OVM primitives to develop non-monolithic OVM-based oppnet middleware that implements a healthcare scenario. The features that distinguish our oppnet middleware from the previous oppnet work are: (i) implementation of the object-oriented OVM primitives in a non-monolithic fashion; (ii) utilization of a wider number of resources; and (iv) employment of more kinds of communication technologies. Our pseudocode is an objectoriented (OO) pseudocode based on the Java code syntax, which allows using some desirable OO capabilities in the pseudocode. To the best of our knowledge we are the first to use OO pseudocode.

We compare the performance of the monolithic oppnet middleware with the nonmonolithic OVM-based oppnet middleware by simulating both middleware for the above scenario. We apply analytical methods to evaluate and compare the performance for the two middleware. The evaluation criteria include, but are not limited to time overhead, resource usage and success rate for the scenario.

Access Setting

Dissertation-Open Access