|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
1980 =
6466
|
|
Home Page
|
Research Interests and Projects
Prof. Alan Kaminsky
Rochester Institute of Technology -- Department of Computer Science
Areas of Interest
Funding
Working With Me on a Capstone
Parallel Computing
Cryptography
Computational Science
Inactive Projects
My Students
Areas of Interest
Primary Areas of Interest
- Parallel computing
- Cryptography
- Computational science
I am willing to be the chair, reader, or observer
for a master's project or thesis
in my primary areas of interest.
Secondary Areas of Interest
- Distributed systems
- Ad hoc collaborative applications
- Security
- Small mobile wireless devices
- Wireless networking
- Ad hoc networking
I am willing to be the reader or observer
for a master's project or thesis
in my secondary areas of interest.
Funding
At this time I do not have any funding
for research or teaching assistantships.
The Computer Science Department offers graduate assistantships.
These are apportioned by the Graduate Coordinator,
Prof. Hans-Peter Bischof
(hpb@cs.rit.edu).
Please contact Prof. Bischof for further information.
Working With Me on a Capstone
If you are considering working with me as the chair
on your master's capstone (project or thesis)
in one of my primary areas of interest,
first take the time to investigate
the project and thesis topics listed below.
Read what's been published,
read previous students' capstone reports,
find out which courses you need to have taken,
become familiar with the topics.
Then come talk with me about choosing a topic.
While I'm especially keen on the topics listed below,
I'm also open to similar topics you might propose.
I consider the master's capstone
to be primarily a learning experience
where we work together one-to-one
rather than in a class with many students.
For a master's project,
you should learn as much as in one regular course;
for a master's thesis,
you should learn as much as in two regular courses.
(That's why the master's capstone carries course credit.)
This learning cannot take place
unless there is sustained direct contact between you and me.
Accordingly, my practice is to hold
a weekly, half-hour, face-to-face meeting with you
as long as you are working on your capstone.
During the meeting we review your progress,
resolve any questions or difficulties you might be having,
and plan your next steps.
If you are not willing to commit to a weekly face-to-face meeting
until your capstone is completely finished,
I am not willing to commit to chair your committee.
For a master's project,
your capstone must demonstrate mastery
of computer science in general
and of your chosen topic in particular.
For a master's thesis,
your capstone must demonstrate innovation
as well as mastery --
you must come up with a new idea or ideas,
something that could be published
in an academic research journal or conference.
For this reason,
a master's thesis must include
a comprehensive literature survey
to show what's been done in your topic area
and to show why your contribution is new.
A master's project should also include a literature survey,
but not necessarily to the same depth as a master's thesis.
Parallel Computing
My Projects
-
PJ -- Parallel Java Library
Parallel Java (PJ)
is an API and middleware
for object oriented parallel programming
in 100% Java
on shared memory multiprocessor (SMP) parallel computers,
cluster parallel computers,
and hybrid SMP cluster parallel computers.
Master's Capstone Topics
-
Parallel Java with CUDA kernels.
I have acquired a desktop supercomputer
with a massively multithreaded GPU coprocessor,
the NVIDIA Tesla C2075
(http://www.nvidia.com/object/personal-supercomputing.html).
The Tesla C2075 can only be programmed in C
using NVIDIA's CUDA API.
A CUDA program consists of one or more "kernels"
which run in parallel on the GPU,
coupled with a main program that runs on the CPU.
While the kernels have to be written in C/CUDA,
the main program can be written in any language,
such as Java.
Design and implement extensions to the PJ Library
to allow PJ programs
to run C/CUDA kernels on the GPU.
The extensions must work on a single node
and on a cluster of multiple nodes.
The extensions must work with one GPU on a node
and with multiple GPUs on a node.
Develop one or more demonstration applications
in Java (main program) plus C/CUDA (kernels);
measure the application's performance.
JCuda (http://www.jcuda.de/)
may be useful as a starting point.
Suitable for: Project.
Prerequisites:
4005-735, Parallel Computing I;
familiarity with Java, C, and CUDA.
Status: In progress, by Nidhin Pattaniyil.
-
GPU computing in 100% Java.
I would like to be able to program kernels
for the Tesla C2075 in 100% Java
(unlike the mixed Java-plus-C approach above).
One would write a Java class containing the GPU kernel,
probably with restrictions on the features of Java that could be used,
probably with Java annotations to specify where data is to be located, etc.;
compile the Java class using the standard Java compiler;
run the Java class file through a translator
to convert the bytecodes either to a CUDA program in C
or to a PTX program (Tesla assembly language);
compile the C or PTX program;
and run it on the GPU.
Design and implement such a Java GPU programming system;
develop a demonstration application in Java;
develop an equivalent application directly in C;
measure and compare the applications' performance.
Suitable for: Project.
Prerequisites:
4005-735, Parallel Computing I;
familiarity with Java, C, and CUDA;
familiarity with the Java Virtual Machine specification
and the Java class file format.
Status: Available.
My Students' Projects
-
Nidhin Pattaniyil.
"Parallel Java and CUDA."
RIT Computer Science M.S. project, in progress.
-
Nishad Patel.
"Parallel Animated Image File Generation."
RIT Computer Science M.S. project, in progress.
-
Asma'u Sani Mohammed.
"Benchmarking Parallel Java."
RIT Computer Science M.S. project, in progress.
-
Xi He.
"Improved Parallel Java Cluster Middleware."
RIT Computer Science M.S. project, June 2010.
http://www.cs.rit.edu/~ark/students/xxh2229/index.shtml
-
Omonbek Salaev.
"Parallel Datastore System for Parallel Java."
RIT Computer Science M.S. project, January 2010.
http://www.cs.rit.edu/~ark/students/obs8529/index.shtml
-
Sumit Daryani.
"Framework for Master-Worker Parallel Computation on Ad Hoc Networks Using JXTA."
RIT Computer Science M.S. project, May 2004.
Cryptography
My Projects
-
Parallel Crypto
I am investigating the application of parallel computing
to cryptographic problems, including:
- Parallel computation of cryptographic primitives
- Parallel attacks on cryptographic primitives
- Parallel statistical analysis of cryptographic primitives
The term "cryptographic primitive"
refers to a block cipher, stream cipher,
one-way hash function, message authentication code (MAC),
and so on.
-
SAT Assisted Generic Search
I am developing a parallel program called CryptoSat
that uses "SAT Assisted Generic Search" (SAGS)
to attack cryptographic primitives.
SAGS does a generic search,
similar to a brute force search,
to find, say, the secret key for a block cipher
or a collision in a hash function.
However, SAGS uses inference techniques
found in Boolean satisfiability solver programs (SAT solvers)
to prune the brute force search,
potentially finding the solution more quickly than brute force.
CryptoSat is a parallel SAGS program
that runs on a hybrid SMP cluster parallel computer.
Master's Capstone Topics
-
Parallel SAGS attacks.
Use CryptoSat (see above)
to carry out a SAGS attack on a cryptographic primitive.
Investigate the time required for the attack
as a function of the problem size
and the number of processors
for reduced versions of the cryptographic primitive;
e.g., partial key recovery for a cipher,
partial collisions for a hash function,
reduced-round variants, etc.
Also investigate the time required for a brute force attack
as a function of the problem size
and the number of processors
for reduced versions of the cryptographic primitive.
Extrapolate the data to larger problem sizes
to determine whether the SAGS attack
can break the cryptographic primitive
in less time than brute force.
Suitable for: Project or thesis.
Prerequisites:
4005-705, Cryptography;
4005-735, Parallel Computing I.
Status: Available.
-
Parallel cube attacks.
The cube attack is described in this paper:
The cube attack is highly parallelizable.
Design and implement, in Java using PJ,
a hybrid parallel program
to carry out a cube attack
on a cryptographic primitive.
Investigate the time required for the attack
as a function of the problem size
and the number of processors
for reduced versions of the cryptographic primitive;
e.g., partial key recovery for a cipher,
partial collisions for a hash function,
reduced-round variants, etc.
Also investigate the time required for a brute force attack
as a function of the problem size
and the number of processors
for reduced versions of the cryptographic primitive.
Extrapolate the data to larger problem sizes
to determine whether the cube attack
can break the cryptographic primitive
in less time than brute force.
Suitable for: Project.
Prerequisites:
4005-705, Cryptography;
4005-735, Parallel Computing I.
Status: Available.
-
Parallel cube attacks using the GPU.
Same as the previous project,
except design and implement a GPU parallel program
to run on the Tesla C2075 GPU supercomputer.
Suitable for: Project.
Prerequisites:
4005-705, Cryptography;
4005-735, Parallel Computing I;
familiarity with C and CUDA.
Status: Available.
-
Parallel statistical analysis using the GPU.
Cryptographic primitives are supposed to behave
as random functions.
Various statistical tests can be performed
to determine whether a cryptographic primitive
behaves as a random function.
Moreover, the statistical tests
can be performed in parallel.
I have developed an initial
GPU parallel statistical testing framework.
Extend the framework
to include additional statistical tests
and additional input sequences.
Use the framework to determine the statistical characteristics
of selected cryptographic primitives.
Suitable for: Project.
Prerequisites:
4005-705, Cryptography;
4005-735, Parallel Computing I;
familiarity with C and CUDA.
Status: Available.
My Students' Projects
-
David Webster.
"Versatile FPGA Architecture for Skein Hashing Algorithm."
RIT Computer Engineering M.S. thesis, June 2011.
-
David Wagner.
"Analysis of Symmetric Key Establishment Based on Reciprocal Channel Quantization."
RIT Electrical Engineering M.S. thesis, November 2010.
-
Philip Doughty.
"A Generic Attack on CubeHash, a SHA-3 Candidate."
RIT Computer Engineering M.S. thesis, August 2010.
-
Sudarshan Rao.
"Parallel Cube Testing on GPUs."
RIT Computer Science M.S. project, June 2010.
http://www.cs.rit.edu/~ark/students/sdr3491/index.shtml
-
Benjamin Bloom.
"SAT Solver Attacks on CubeHash."
RIT Computer Science M.S. project, May 2010.
http://www.cs.rit.edu/~ark/students/bwb1636/index.shtml
-
Aric Schorr.
"Performance Analysis of a Scalable Hardware FPGA Skein Implementation."
RIT Computer Engineering M.S. thesis, January 2010.
-
Joseph Testa.
"Investigations of Cellular Automata Based Stream Ciphers."
RIT Computer Security and Information Assurance M.S. thesis, May 2008.
http://www.cs.rit.edu:8080/ms/static/ark/2007/3/jst2912
-
Tigin Kaptanoglu.
"Performance Evaluation of eXtended Sparse Linearization in GF(2) and GF(28)."
RIT Computer Science M.S. thesis, March 2007.
http://www.cs.rit.edu:8080/ms/static/spr/2006/3/txk4406/index.html
-
Roderic Campbell.
"Efficient Encryption on Limited Devices."
RIT Computer Science M.S. project, July 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2005/4/rmc8917/index.html
-
Jisoo Kim.
"Group Key Agreement Protocols with Implicit Key Authentication."
RIT Computer Science M.S. project, July 2005.
http://www.cs.rit.edu:8080/ms/static/spr/2004/4/jsk4445/index.html
-
Kevin Ligozio.
"Jini Distributed Key Exchange and File Transfer Service with Digital Signatures."
RIT Computer Science M.S. thesis, November 2004.
http://www.cs.rit.edu:8080/ms/static/spr/2004/1/kml4510/index.html
Computational Science
My Projects
-
MRI Spin Relaxometry
MRI spin relaxometry is the process
of recovering the spin density spectrum
from the time samples of the spin signal
for each pixel of a magnetic resonance image.
Since healthy tissue exhibits different spin relaxation rates
from diseased tissue,
MRI spin relaxometry potentially has utility
for diagnosing disease.
However, recovering the spin relaxation rates
involves solving an inverse problem
which requires substantial computation.
The computation's running time can be reduced
by processing the pixels in parallel on a parallel computer.
-
Phylogenetic Tree Construction
A phylogenetic tree shows the evolutionary relationships
among a series of organisms,
as inferred by comparing the organisms'
DNA or protein sequences.
For further information,
see Michael Felsenstein, Inferring Phylogenies
(Sinauer Associates, 2004).
I developed a hybrid parallel phylogenetic tree construction program
using the maximum parsimony technique.
The program is in package
edu.rit.compbio.phyl
in the Parallel Java Library.
The program is described in detail in Chapter 38
of my textbook Building Parallel Programs.
Here is the output the program produced
when given the DNA sequences for a certain gene
in 11 iguana species:
iguana
Master's Capstone Topics
-
Computational science with PJ.
Design and implement,
in Java using PJ,
a parallel program
to solve some massive computing problem
in some domain,
such as computational astrophysics,
computational biology,
computational chemistry,
computational geology,
computational medicine,
and so on.
Measure the parallel program's performance
and compare to the performance of existing programs.
Suitable for: Project or thesis.
Prerequisites:
4005-735, Parallel Computing I.
Status: Available.
-
Computational science with the GPU.
Design and implement
a GPU parallel program
to solve some massive computing problem
in some domain,
such as computational astrophysics,
computational biology,
computational chemistry,
computational geology,
computational medicine,
and so on.
Measure the parallel program's performance
and compare to the performance of existing programs.
Suitable for: Project or thesis.
Prerequisites:
4005-735, Parallel Computing I.
Status: Available.
-
Automatic differentiation in Java.
Many numerical algorithms,
including solving systems of nonlinear equations
and finding minima of multidimensional functions,
require computing both the values
and the derivatives of a function.
Automatic differentiation is a technique
that takes the source code for computing a function
and automatically generates the source code
for computing the derivative of that function.
For further information, see
A. Griewank and A. Walther,
Evaluating Derivatives:
Principles and Techniques of Algorithmic Differentiation
(SIAM, 2008).
Existing automatic differentiation tools
(which support scientific programming languages like Fortran and C)
do source-to-source transformations,
must be run before the code is compiled,
and are rather awkward to use.
In Java, however,
an automatic differentiation tool
could take the compiled bytecodes for a function
and automatically generate the compiled bytecodes
for the derivative of that function;
furthermore, this could be done at run time
in a manner completely transparent to the programmer.
Design and implement a Java tool
that does automatic differentiation based on Java bytecodes
both at run time and at compile time;
use the tool to implement a numerical algorithm
that computes derivatives;
measure the performance of the tool-generated derivative code
versus hand-generated derivative code.
Suitable for: Project or thesis.
Prerequisites:
Familiarity with the Java Virtual Machine specification
and the Java class file format.
Status: Available.
My Students' Projects
Inactive Projects
My Projects
I am no longer actively working on these projects.
-
Tuple Board
The Tuple Board (TB) is a new distributed computing paradigm
for developing collaborative applications
running on ad hoc networks of mobile computing devices.
The Tuple Board Library is a tuple board API and middleware
written in 100% Java.
-
Many-to-Many Invocation (M2MI)
M2MI is similar to Java Remote Method Invocation (RMI),
except it is based on a broadcast communication medium
instead of point-to-point communication channels.
M2MI lets one device simultaneously invoke a method
on multiple target devices.
My Students' Projects
-
Wesley Belisle.
"Multicast Tuple Board Communication Layer."
RIT Computer Science M.S. project, November 2009.
http://www.cs.rit.edu/~ark/students/wbb2544/index.shtml
-
Travis Thomas.
"J2ME Version of Tuple Board."
RIT Computer Science M.S. project, May 2009.
http://www.cs.rit.edu/~ark/students/tmt0590/index.shtml
-
Corey Andalora.
"Monitoring Software Using Sun SPOTs."
RIT Computer Science graduate independent study project, February 2008.
http://www.cs.rit.edu/~ark/students/cja9200/index.shtml
-
Kyle Morse.
"Securing Tuple Space: Secure Ad Hoc Group Communication Using PKI."
RIT Computer Science M.S. project, July 2007.
http://www.cs.rit.edu:8080/ms/static/ark/2006/4/krm4686/index.html
-
Yutao Cheng.
"Ad Hoc Collaborative Photo Sharing With a Tuple Board."
RIT Computer Science M.S. project, August 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2005/4/yxc6939/index.html
-
Joel Varela Donado.
"M2MI Service Discovery Middleware Framework."
RIT Computer Science M.S. project, June 2005.
http://www.cs.rit.edu:8080/ms/static/hpb/2004/4/jxv0462/index.html
-
Chih-Yu Tang.
"A Generic Framework for the Personal Omni-Remote Controller Using M2MI."
RIT Computer Science M.S. thesis, April 2005.
http://www.cs.rit.edu:8080/ms/static/ark/2004/3/cxt6239/index.html
-
Robert Whitcomb.
"M2MIMud."
RIT Computer Science M.S. project, February 2005.
http://www.cs.rit.edu:8080/ms/static/ark/2004/3/rjw2183/index.html
-
Ravi Bhatia.
"MFS: M2MI File System."
RIT Computer Science M.S. project, April 2004.
http://www.cs.rit.edu:8080/ms/static/ark/2003/2/rnb1914/index.html
-
Chaithanya Bondada.
"Tuple Board: A New Distributed Computing Paradigm for Mobile Ad Hoc Networks."
RIT Computer Science M.S. project, January 2004.
http://www.cs.rit.edu:8080/ms/static/ark/2003/2/cxb3178/index.html
-
Jefferson Tuttle.
"Security in an Ad Hoc Network Using Many-to-Many Invocation."
RIT Computer Science M.S. project, May 2003.
http://www.cs.rit.edu:8080/ms/static/ark/2002/3/jst1734/index.html
My Students
In Progress
-
Nidhin Pattaniyil.
"Parallel Java and CUDA."
RIT Computer Science M.S. project, in progress.
-
Nishad Patel.
"Parallel Animated Image File Generation."
RIT Computer Science M.S. project, in progress.
-
Asma'u Sani Mohammed.
"Benchmarking Parallel Java."
RIT Computer Science M.S. project, in progress.
Completed
-
Bo Li.
"Energy-Aware Replica Selection for Data-Intensive Services in Cloud."
RIT Computer Science M.S. thesis, May 2012.
-
Andrew Darling.
"Parallel Implementation of Maximum Parsimony Search Algorithm on Multicore CPUs and Clusters."
RIT Bioinformatics M.S. thesis, November 2011.
-
David Webster.
"Versatile FPGA Architecture for Skein Hashing Algorithm."
RIT Computer Engineering M.S. thesis, June 2011.
-
David Wagner.
"Analysis of Symmetric Key Establishment Based on Reciprocal Channel Quantization."
RIT Electrical Engineering M.S. thesis, November 2010.
-
Jason Winnebeck.
"RealDB: Low-Overhead Database for Time-Sequenced Data Streams in Embedded Systems."
RIT Computer Science M.S. project, October 2010.
-
Philip Doughty.
"A Generic Attack on CubeHash, a SHA-3 Candidate."
RIT Computer Engineering M.S. thesis, August 2010.
-
Xi He.
"Improved Parallel Java Cluster Middleware."
RIT Computer Science M.S. project, June 2010.
http://www.cs.rit.edu/~ark/students/xxh2229/index.shtml
-
Yandong Wang.
"NVIDIA CUDA Architecture-Based Parallel Incomplete SAT Solver."
RIT Computer Science M.S. project, June 2010.
http://www.cs.rit.edu/~ark/students/yxw9319/index.shtml
-
Sudarshan Rao.
"Parallel Cube Testing on GPUs."
RIT Computer Science M.S. project, June 2010.
http://www.cs.rit.edu/~ark/students/sdr3491/index.shtml
-
Benjamin Bloom.
"SAT Solver Attacks on CubeHash."
RIT Computer Science M.S. project, May 2010.
http://www.cs.rit.edu/~ark/students/bwb1636/index.shtml
-
John Vellozzi.
"RMIP: An RMI-Specific Profiler."
RIT Computer Science M.S. project, May 2010.
-
Omonbek Salaev.
"Parallel Datastore System for Parallel Java."
RIT Computer Science M.S. project, January 2010.
http://www.cs.rit.edu/~ark/students/obs8529/index.shtml
-
Aric Schorr.
"Performance Analysis of a Scalable Hardware FPGA Skein Implementation."
RIT Computer Engineering M.S. thesis, January 2010.
-
Wesley Belisle.
"Multicast Tuple Board Communication Layer."
RIT Computer Science M.S. project, November 2009.
http://www.cs.rit.edu/~ark/students/wbb2544/index.shtml
-
Jacob Hays.
"Control of Self-Reconfigurable Robot Teams for Sensor Placement."
RIT Computer Science M.S. thesis, November 2009.
-
Travis Thomas.
"J2ME Version of Tuple Board."
RIT Computer Science M.S. project, May 2009.
http://www.cs.rit.edu/~ark/students/tmt0590/index.shtml
-
Bryan Woodard.
"Distributing Partially Connected Feed-Forward Neural Networks for Faster Recall."
RIT Computer Science M.S. project, May 2009.
-
Keith Needels.
"Detecting and Recovering from Overlay Routing Attacks in Peer-to-Peer Distributed Hash Tables."
RIT Computer Science M.S. thesis, March 2009.
-
Jeremy Espenshade and Michael Romero.
"VLSI Design Rule Checking in Parallel on the GPU."
RIT Computer Science graduate independent study project, November 2008.
http://www.cs.rit.edu/~ark/students/mrr2732/index.shtml
-
Joseph Testa.
"Investigations of Cellular Automata Based Stream Ciphers."
RIT Computer Security and Information Assurance M.S. thesis, May 2008.
http://www.cs.rit.edu:8080/ms/static/ark/2007/3/jst2912
-
Corey Andalora.
"Monitoring Software Using Sun SPOTs."
RIT Computer Science graduate independent study project, February 2008.
http://www.cs.rit.edu/~ark/students/cja9200/index.shtml
-
Mark Sanders.
"Simulator to Measure Low Probability of Detection for Neighbor Discovery Protocols."
RIT Computer Science M.S. project, December 2007.
http://www.cs.rit.edu:8080/ms/static/ark/2007/2/mas5729/index.html
-
Hardik Parikh.
"Solving an MRI Spin Relaxometry Problem Using Parallel Java."
RIT Computer Science M.S. project, October 2007.
http://www.cs.rit.edu:8080/ms/static/ark/2007/1/hjp0608/index.html
-
Kyle Morse.
"Securing Tuple Space: Secure Ad Hoc Group Communication Using PKI."
RIT Computer Science M.S. project, July 2007.
http://www.cs.rit.edu:8080/ms/static/ark/2006/4/krm4686/index.html
-
Tigin Kaptanoglu.
"Performance Evaluation of eXtended Sparse Linearization in GF(2) and GF(28)."
RIT Computer Science M.S. thesis, March 2007.
http://www.cs.rit.edu:8080/ms/static/spr/2006/3/txk4406/index.html
-
Aakash Chauhan.
"Routing in Anhinga."
RIT Computer Science M.S. project, October 2006.
http://www.cs.rit.edu:8080/ms/static/hpb/2006/1/adc4143/index.html
-
Almann Goo.
"JaCIL: A CLI to JVM Compiler."
RIT Computer Science M.S. project, September 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2006/1/atg2335/index.html
-
Terence O'Brien.
"Speedup of Parsimonious Phylogenetic Tree Evaluation via Parallel Branch and Bound."
RIT Computer Science M.S. project, September 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2006/1/two6384/index.html
-
Yutao Cheng.
"Ad Hoc Collaborative Photo Sharing With a Tuple Board."
RIT Computer Science M.S. project, August 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2005/4/yxc6939/index.html
-
Roderic Campbell.
"Efficient Encryption on Limited Devices."
RIT Computer Science M.S. project, July 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2005/4/rmc8917/index.html
-
Michael Stringer.
"HF-DSR: Dynamic Source Routing for High Frequency Radio Networks."
RIT Computer Science M.S. project, March 2006.
http://www.cs.rit.edu:8080/ms/static/ark/2005/3/mds1761/index.html
-
Greg Rowe.
"Myth -- An Extension to C."
RIT Computer Science M.S. project, November 2005.
http://www.cs.rit.edu:8080/ms/static/ats/2004/3/gjr3767/index.html
-
William Heinbockel.
"Peer-to-Peer Overlay Network Security Framework."
RIT Computer Science M.S. thesis, October 2005.
-
Jisoo Kim.
"Group Key Agreement Protocols with Implicit Key Authentication."
RIT Computer Science M.S. project, July 2005.
http://www.cs.rit.edu:8080/ms/static/spr/2004/4/jsk4445/index.html
-
Joel Varela Donado.
"M2MI Service Discovery Middleware Framework."
RIT Computer Science M.S. project, June 2005.
http://www.cs.rit.edu:8080/ms/static/hpb/2004/4/jxv0462/index.html
-
Chih-Yu Tang.
"A Generic Framework for the Personal Omni-Remote Controller Using M2MI."
RIT Computer Science M.S. thesis, April 2005.
http://www.cs.rit.edu:8080/ms/static/ark/2004/3/cxt6239/index.html
-
Romi Saluja.
"Framework for Throughput Analysis of Simple Reliable Multicast Protocol in a M2MP Network."
RIT Computer Science M.S. project, February 2005.
http://www.cs.rit.edu:8080/ms/static/hpb/2004/4/rxs1234/index.html
-
Robert Whitcomb.
"M2MIMud."
RIT Computer Science M.S. project, February 2005.
http://www.cs.rit.edu:8080/ms/static/ark/2004/3/rjw2183/index.html
-
Kevin Ligozio.
"Jini Distributed Key Exchange and File Transfer Service with Digital Signatures."
RIT Computer Science M.S. thesis, November 2004.
http://www.cs.rit.edu:8080/ms/static/spr/2004/1/kml4510/index.html
-
Sumit Daryani.
"Framework for Master-Worker Parallel Computation on Ad Hoc Networks Using JXTA."
RIT Computer Science M.S. project, May 2004.
-
Jaedo Kwak.
"Segmentation for Machine and Hand Printed Offline Korean Character Recognition."
RIT Computer Science M.S. project, May 2004.
http://www.cs.rit.edu:8080/ms/static/pga/2003/3/jdk5092/index.html
-
Prabhakaran Nagarajan.
"Master's Project Website Implementation: A Comparison of Several Server-Side Technologies."
RIT Computer Science M.S. project, May 2004.
http://www.cs.rit.edu:8080/ms/static/ats/2003/2/pxn4718/index.html
-
Ravi Bhatia.
"MFS: M2MI File System."
RIT Computer Science M.S. project, April 2004.
http://www.cs.rit.edu:8080/ms/static/ark/2003/2/rnb1914/index.html
-
Chaithanya Bondada.
"Tuple Board: A New Distributed Computing Paradigm for Mobile Ad Hoc Networks."
RIT Computer Science M.S. project, January 2004.
http://www.cs.rit.edu:8080/ms/static/ark/2003/2/cxb3178/index.html
-
Jeremy Dahlgren.
"Efficient Failure Detection Protocols for Point-to-Point Communication Networks."
RIT Computer Science M.S. thesis, November 2003.
http://www.cs.rit.edu:8080/ms/static/hpb/2003/3/jad0883/index.html
-
Farzana Sultan.
"Constraint Optimized Sequential Pattern Mining of Web Logs."
RIT Computer Science M.S. project, November 2003.
-
Jefferson Tuttle.
"Security in an Ad Hoc Network Using Many-to-Many Invocation."
RIT Computer Science M.S. project, May 2003.
http://www.cs.rit.edu:8080/ms/static/ark/2002/3/jst1734/index.html
-
Eric Olson.
"GKAVS: Group Key Agreement Visualization System."
RIT Computer Science M.S. project, March 2003.
-
Ravi Bhatia.
"Investigation of Peer-to-Peer Information Retrieval Systems."
RIT Computer Science graduate independent study project, December 2002.
-
Ravi Nareppa.
"Throughput Control for a Many-to-Many System."
RIT Computer Science M.S. thesis, December 2002.
-
Kiran Hegde.
"M2MP Over Ethernet."
RIT Computer Science M.S. project, August 2002.
-
Steve Button, Tom Chang, Frank Connover,
Jim Papapanu, Tri Phan, and Ken VanderVeer.
"Many-to-Many Invocation Applications and Toolkit."
RIT Software Engineering senior team project, June 2002.
-
Stephan Roorda.
"Jini Service Federation."
RIT Computer Science M.S. project, August 2001.
-
Matthew Mariani.
"Firewall Strategies Using Network Processors."
RIT Computer Engineering M.S. thesis, June 2001.
|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
1980 =
6466
|
|
Home Page
|
Copyright © 2012 by Alan Kaminsky. All rights reserved.
Last updated 23-May-2012.
Send comments to ark@cs.rit.edu.