Putting the Pieces Together:
The Challenges of Distributed Computing

Faculty Profile: Paul Gray

February 2002

Paul Gray's research area is distributed computing, which basically means finding a way to have local computational resources mesh with computational resources at a distant site, such as another university or a national laboratory, to solve a problem. Such an arrangement can be made on an ad hoc basis or it may be ongoing, such as the Globus project in which researchers and supercomputing labs have resources that are available for distributed computing usage at all times.

With distributed computing, the devil is in the details. That's because a programmer is dealing with all sorts of different hardware and different networks that support the distribution of the data. Meshing all of these elements presents a significant challenge.

Gray has recently been involved with two distributed computing projects: HARNESS (Heterogeneous Adaptable Reconfigurable NEtwork SubSystems) and IceT (a "push-things-out-to-remote-sites" paradigm, as opposed to "Hot Java", a "bring-things-local" distributed computing model). The HARNESS project focuses on extending the breadth of computational resources and programs that researchers are able to utilize for computationally challenging applications. IceT focuses on distributed computing with the programming language Java and legacy codes, Fortran and C, and making sure all of these elements work together to support distributed computing.

Two graduate students, Anthony Betz and Rizwan Tahir, are assisting Gray with his research in two related areas: high performance networking aspects and wireless aspects of distributed computing. He and Betz are looking at the next generation of networking adapters and their capabilities. Gigabyte copper is one of those technologies that will be used to support distributed computing.

Gray and Tahir are working on wireless distributed computing. The most common image of distributed computing is probably an application being executed on many machines at the same time. However, another aspect of distributed computing deals with the mobility of the machines that are actually executing the code: what to do if those machines, for example, laptops or handhelds, come in and out of communication range with one another.

Without a network infrastructure, communication among mobile users must be configured so that each user can speak to another. As long as two users can see each other, they can talk and pass along messages to the users on the ends of the communication line, which are out of each other's range.

The dynamics of mobile users makes it a challenge, Gray pointed out, because a given routing pattern would change immediately if, for example, someone walked between two users and they could no longer pass messages. One way to lessen that challenge is through control of the antenna inside of the card in the wireless device. If a user can sense the signal strength of a fellow user, the user can preempt that person from walking out of range.

Gray's research with Tahir is part of a project, funded by the Iowa Space Grant Consortium, on human control of cooperative robots. Using some of UNI's 12 Rug Warrior Pro Robots, they are investigating how robotic swarms can explore and how their normal range of communication can be extended.

Gray recently spent the entire day at the elementary school in Preston, Iowa, where, class by class, the 400 students got to see firsthand what robots can do. As part of the demonstration, Gray had the robots make a sonar map of groups of students, and the students got to see themselves on a video monitor as the robots videotaped them with a wireless camera. The Preston Elementary School is the first of several Gray will take his robotics road show to.

The robots are useful for students at all levels. If students can understand how to get robots to work together without a wired network, they can understand a lot of the problems incurred with distributed computing.

Following is a selected list of Gray's publications related to the work discussed above as well as his e-mail address. More information is available on Dr. Gray's website.

Gray, P., & Chandramohan, S.  (2001).  A repository system with secure file access for collaborative environments.  Proceedings of Computational SciencbeICCS   2001, 1, 404-412.

Gray, P., Getov, V., & Sunderam, V.  (2000).  Aspects of portability and distributed execution for JNI-wrapped code.  Concurrency:  Practice and Experience [special issue on message-passing], 20 (11), 1039-1050.

Gray, P., & Pascoe, J.  (2001).  On group communications systems:  Insight, a primer, and a snapshot.  Proceedings of Computational SciencbeICCS 2001, 1, 307-315.

Gray, P., & Sunderam, V.  (In press).  Collaborative metacomputing with IceT.  Journal of Distributed Computing. .

Gray, P., & Sunderam, V.  (2001).  Certificate use for supporting merging and splitting of computational environments.  Proceedings of High Performance Computing and Networking, Europe, pp. 141-150.  [Also in Lecture Notes in Computer Science, Springer-Verlag, 2001].

Gray, P., & Sunderam, V.  (2000, August/September).  Building distributed applications using multiple heterogeneous environments. Springer Verlag Lecture Series in Computer Science 1900, pp. 709-717.


our original home, Wright Hall


About Us

Undergraduate Programs


Faculty & Staff



Advisory Board


Courses and Registration

Student Life

Information for Prospective Students

Other Resources

Department of
Computer Science
305 ITTC
(the old East Gym)
Cedar Falls, Iowa
ph. (319) 273-2618
fax (319) 273-7123


UNI CS on Facebook UNI CS on Twitter

University of Northern Iowa

Diversity Matters


Paul Gray

With distributed computing, the devil is in the details. That's because a programmer is dealing with all sorts of different hardware and networks. Meshing all of these elements presents a significant challenge that Paul Gray, associate professor of computer science, is leading the charge to solve... [more]

More Profiles


bootable cluster project


realtime systems lab


More Projects

Department of Computer Science