This paper discusses Java Bytecode Obfuscation techniques that make the reverse engineering task more difficult. This paper is structured as follows: Java virtual machine and Java language specifications are discussed first. Then the paper talks about different techniques for protecting software and then details one promising approach named Obfuscation. The...
The WEPP (Water Erosion Prediction Project) application computes soil loss and sediment yield from a field based on the data on crops, management practices, and operations. In order to make WEPP, which is a Windows-based application, easily accessible, Web WEPP (Web-based WEPP) was developed by our research group.
Web WEPP...
Recent advances in computing, communication, and artificial intelligence (AI) technologies have made our world more interconnected and data-rich than ever with the proliferation of smart devices and sensors. As a result, we are increasingly dependent on electronic devices and sensors to automate away life’s mundane parts. For example, in business...
As the number of nodes in high-performance computing (HPC) systems continues to grow, it becomes increasingly important to design scalable interconnection network topologies. Prior work has shown promise in adding random shortcuts on top of an existing topology to reduce average hop count and network diameter, but has been limited...
Autonomous vehicles bring great societal benefits but also potential impact and disruption to road safety, traffic congestion, and driving behaviors. One important technology that is indispensable to the success of such systems is vehicular networks. Vehicular networks provide the backbone for ensuring communication and connectivity among vehicles, all crucial to...
Routerless networks on chip (NoCs) were recently introduced as an alternative to traditional mesh-based scalable networks, promising improved performance and scalability with a large decrease in power and area usage by the elimination of routing on in-flight packets. Without mitigation, most network designs, including routerless, are susceptible to loss of...
Correctness and efficiency are important properties of programs. However, to support maintenance and debugging, the programs should also be understandable. Program explanations also play a vital role in educational settings, enhancing the understanding of programs among students.
Proof trees provide a sound basis for generating dynamic explanations of programs. But...
Network flows in Real-Time (RT) systems need to meet stringent end-to-end deadlines in order for such systems to operate safely and reliably. Today, such systems use custom or domain specific network system designs to meet end-to-end deadlines and other constraints of real-time flows. In this work we explore the design...
There are five main contributions of this dissertation. The first contribution is new closed-form expressions for channel capacity of a new class of channel matrices. The second contribution is the discovery of the structure for optimal binary quantizer and the associated methods for finding an optimal quantizer that maximizes mutual...
Throughput-oriented processors, such as graphics processing units (GPUs), have been increasingly used to accelerate general purpose computing, including machine learning models that are being utilized in numerous disciplines. Thousands of concurrently running threads in a GPU demand a highly efficient memory subsystem for data supply in GPUs. In this dissertation,...
RF-based signal identification and classification has received growing attention during recent years due to its potential use in many application domains. Of particular interest is Automatic Modulation Classification (AMC), which has been useful in addressing various spectrum related challenges such as signal jamming, policy enforcement, and spectrum sharing. Adopting AMC...
High Performance Computing can find ubiquitous applications in the industry. HPC-applications are specifically designed to take advantage of the parallel nature of the computing systems which is often enabled by Multi-core/Many-core architectures. With this advent of Multi-processors in the mainstream systems, inter-core communication has been one of the major challenges...
This dissertation proposes the use of advanced time-varying approaches for modeling the dynamics of the multipath channel in wireless communication networks. These advanced time-varying approaches include linear Kalman innovation models in observable block companion form, and neural network-based models. The e˙ectiveness of these type of models is evaluated through three...
The ubiquity of high quality video and proliferation of mobile devices has contributed to an unprecedented rise in video consumption. HTTP, in conjunction with adaptive streaming, has become the de facto mechanism for delivering the vast majority of video as it readily caters to heterogeneous networks and devices. This dissertation...
In this dissertation, we explored multiple coding techniques to reduce energy consumption, improve performance, and secure wireless sensor networks specifically and ad-hoc networks in general. With the introduction of Internet of Things (IoT) and 5G technologies, wireless sensor networks are quickly emerging as an important and key technology in the...
This thesis deals with target localization using multiple-input multiple-output (MIMO) radars. In the field of communications, navigation, radar, and sensing networks, one of the common and most sophisticated problems is target localization. We develop a target localization scheme in distributed MIMO radar systems using bistatic range measurements. The localization approach...
Traditional approaches to streaming H.264 video over a network typically rely on a single method of transport (i.e., reliable or unreliable) and/or use static values for parameters that can have a significant negative impact on the perceptual quality of the received video. This dissertation presents a dynamic method for wireless...
Tree-like patterns are ubiquitous in nature. Botanical trees, river networks, and blood systems are the most well-known examples of complex hierarchical systems met in observations. Interestingly, many of such systems exhibit statistical self-similarity. There are two main types of self-similarity: Horton self-similarity and Tokunaga self-similarity. Although there is an increased...
Modern sensor network applications are often implemented wirelessly in order to lessen installation costs and reduce deployment times. Unfortunately, these wireless sensor network (WSN) nodes must often rely on batteries or energy harvesting techniques in order to sustain their operation and supply the power needed to maintain communication within the...
There are generally two types of multiview video:(1) 3D Multiview Video (“3D MVV” also called “2D plus delta” or “stereo” multi-view video): 3D MVV is widely deployed in cinemas and in the TV industry. 3D MVV typically entails capturing video of an object using two cameras with differing view angles...
Energy consumption has become a great deal for cloud service providers due to financial as well as environmental concerns. Studies show that cloud servers operate, most of the time, at only between 10% and 50% of their maximal utilizations. These same studies also show that servers that are kept ON...
It has been estimated that data traffic from the different mobile devices that range from smartphones to machine-to-machine (M2M) devices will exceed 15.9 exabyte per month by the year 2018. With this immense data growth, the current wireless communication systems suffer from the scarcity of the radio spectrum and eventually...
Software Defined Storage is a term for data storage software to manage policy-based provisioning and management of heterogeneous data storage system abstracting underlying hardware. CoprHD is a software defined storage controller and API platform which enables policy-based management and cloud automation of storage resources for block, object and file storage...
CoprHD is an open source software defined storage controller platform. It holds an inventory of all storage devices in the data center and understands their connectivity. It is an operating system for a storage cloud. It is designed with two key goals in mind:
• Make an enterprise or a...
As the price of broadband access service becomes more affordable, the number of homes with WiFi and public WiFi hotspots in the US are projected to increase significantly in the next few years. However, limited capacity of existing WiFi networks fail to provide adequate bandwidth for densely populated areas. Therefore,...
In this work, we study network coding technique, its relation to random matrices, and their applications to communication systems. The dissertation consists of three main contributions. First, we propose efficient algorithms for data synchronization via a broadcast channel using random network coding. Second, we study the resiliency of network coding...
The widespread use of wireless devices that we have recently been witnessing, such as smartphones, tablets, laptops, and wirelessly accessible devices in general, is causing an unprecedented growth in the required amount of the wireless radio spectrum. On the other hand, the spectrum resource has, for the last several decades,...
As screen resolution and video decoding capability have increased, high-definition (HD) video in resolutions as high as 1920 x 1080 is rapidly becoming the standard. Ad-hoc streaming of HD video over 802.11 wireless networks, e.g., streaming from a mobile device to a television, is convenient for users, but is hampered...
IO transactions within a computer system have evolved along with other system components (i.e., CPU, memory, video) from programmed IO (PIO). In current mainstream systems (spanning from HPC to mobile) the IO transactions are CPU-centric descriptor-based DMA transactions. The key benefit is that slower IO devices can DMA write system...
The communication in MLS cross-domain environments faces many challenges. The three most important challenges are efficient key management, privacy preserving and covert channel. We propose an Efficient, Secure and Covert Channel Capacity Bounded Protocol which has three algorithms that addresses these challenges: The Efficient Attribute-based Fine-Grained Authentication (EAFA) algorithm, Anonymous...
Network coding, as the next generation of data routing protocols, enables each intermediate node in a network to process and encode its received data before forwarding it to the next nodes. Hence, the core idea in network coding is to allow a network to encode the data that is being...
Markov Decision Process (MDP) is a well-known framework for devising the optimal decision making strategies under uncertainty. Typically, the decision maker assumes a stationary environment which is characterized by a time-invariant transition probability matrix. However, in many real-world scenarios, this assumption is not justified, thus the optimal strategy might not...
In wireless sensor networks (WSNs) nodes are battery powered. Therefore, the available
energy resources of sensor nodes should be managed efficiently in order to increase
the network lifetime. As a result, researchers have proposed routing schemes in order to
maximize network lifetime. Even though these schemes increase the network lifetime,...
We develop efficient coordination techniques that support inelastic traffic in large-scale distributed dynamic spectrum access DSA networks. By means of any learning algorithm, the proposed techniques enable DSA users to locate and exploit spectrum opportunities effectively, thereby increasing their achieved throughput (or "rewards" to be more general). Basically, learning algorithms...
Worst-case analysis is often meaningless in practice. Some problems never reach the anticipated worst-case complexity. Other solutions get bogged down with impractical constants during implementation, despite having favorable asymptotic running times. In this thesis, we investigate these contrasts in the context of finding maximum flows in planar digraphs. We suggest...
The increasing need to share and synchronize personal information, such as schedules, tasks and events, amongst users has lead to the development of inter-personal information management software like ChandlerTM. Chandler is being developed in Python at the Open Source Applications Foundation, San Francisco. Before I started working on the project...
Efficient routing of information packets in dynamically changing communication networks requires routing policies that adapt to changes in load levels, traffic patterns and network topologies. Reinforcement Learning (RL) is an area of artificial intelligence that studies algorithms that dynamically optimize their performance based on experience in an environment. RL, thus,...
This project aims to study the performance of Secure Sockets Layer (SSL) Protocol implemented in JAVA for web applications. Secure Sockets Layer protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. In particular, this project focuses on an implementation of...
Researchers/engineers in the field of software testing have valued coverage as a testing metric for decades now. There have been various empirical results that have shown that as coverage increases the ability of the test program to detect a fault also increases. As a result numerous coverage techniques have been...
MANETs are known to be useful in situations where mobile nodes need to communicate and coordinate in dynamic environments with no access to fixed network infrastructure. However, connectivity problems can occur when sub-groups within a MANET move out of communication range from one another. The increasingly prolific use of UAVs...
The appropriate separation of concerns is a fundamental engineering principle. A concern, for software developers, is that which must be represented by code in a program; by extension, separation of concerns is the ability to represent a single concern in a single appropriate programming language construct. Advanced separation of concerns...
The Advanced Encryption Standard (AES) is the new standard for cryptography and has gained wide support as a means to secure digital data. Hence, it is beneficial to develop an implementation of AES that has a high throughput. SIMD technology is very effective in increasing the performance of some cryptographic...
A distributed system is a network of multiple autonomous computational nodes designed primarily for performance scalability and robustness. The performance of a distributed system depends critically on how tasks and resources are distributed among the nodes. Thus, a main thrust in distributed system research is to design schemes for distributing...
Peer-to-Peer (P2P) based distributed storage systems have gain much popularity in recent years. These systems rely greatly on the data redundancy to be robust under network dynamics, i.e., the dynamics of peer entering and departing the network. Hence, it is important to implement mechanisms for maintaining a certain level of...
In networked control systems (NCS) information or packets usually flow from a
sensor or a set of sensors to a remotely located controller. Then the controller
processes the received information and sends a series of control commands to the
actuators through a communication network which could be either wireless or...
We investigate a number of techniques for increasing throughput and quality of media applications over wireless networks. A typical media communication application such as video streaming imposes strict requirements on the delay and throughout of its packets, which unfortunately, cannot be guaranteed by the underlying wireless network due inherently to...
Error correction codes (ECCs) have been widely used in communication systems and storage devices. Nowadays, the rapid development of integrated circuit technologies makes feasible the implementation of powerful ECCs such as turbo code and low-density parity-check (LDPC) code. However, these high-performance codes require complex decoding algorithms, resulting in large hardware...
This paper provides a measurement-based performance evaluation of the Optimized Link State Routing (OLSR) protocol. Two versions of OLSR, OLSR-ETX and OLSR-ETT, are implemented and evaluated on a mesh network that we built from off-the-shelf commercial components. OLSR-ETX uses the Expected Transmission Count (ETX) metric whereas, OLSR-ETT uses the Expected...
Linear transformation for dimension reduction is a well established problem in the field of machine learning. Due to the numerous observability of parameters and data, processing of the data in its raw form is computationally complex and difficult to visualize. Dimension reduction by means of feature extraction offers a strong...
Hardwood lumber is a major forest product, and board grading is an important part of its manufacturing and marketing. Computer grading programs have been used to train graders and to grade lumber for board data banks, but they have not been used to machine-grade boards in an industrial environment because...