NLSR Authors
===========

NLSR is an open source project includes contributions from the members of the
[NDN project team](http://named-data.net/project/participants/).

## Project lead:

* Vince Lehman <http://vslehman.com>

## Past project leads:

* A K M Mahmudul Hoque <https://sites.google.com/site/akmhoque/home>

## Technical advisors:

* Lan Wang            <http://www.cs.memphis.edu/~lanwang/>
* Beichuan Zhang      <http://www.cs.arizona.edu/~bzhang/>
* Lixia Zhang         <http://www.cs.ucla.edu/~lixia/>


## All project authors, contributors and their affiliations:

* The University of Memphis

    * A K M Mahmudul Hoque <https://sites.google.com/site/akmhoque/home>
    * Ashlesh Gawande      <agawande@memphis.edu>
    * Minsheng Zhang       <mzhang4@memphis.edu>
    * Syed Obaid Amin      <http://obaidamin.weebly.com/>
    * Vince Lehman         <http://vslehman.com>

* University of California, Los Angeles

    * Yingdi Yu           <http://irl.cs.ucla.edu/~yingdi/web/index.html>
    * Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
    * Spyridon Mastorakis <http://cs.ucla.edu/~mastorakis/>
    * Jiewen Tan          <alanwake@ucla.edu>


## Queries about NLSR

Any general question related to NLSR should be directed to Vince Lehman
(vslehman@memphis.edu) and security related question should be directed to
Yingdi Yu (yingdi@cs.ucla.edu)
