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 co-leads:

* Ashlesh Gawande  <https://www.linkedin.com/in/agawande>
* Nicholas Gordon  <nmgordon@memphis.edu>

## Past project leads:

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

## 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      <https://www.linkedin.com/in/agawande>
    * Minsheng Zhang       <https://www.linkedin.com/in/minsheng-zhang-032023a1>
    * Syed Obaid Amin      <http://obaidamin.weebly.com/>
    * Vince Lehman         <http://vslehman.com>
    * Muktadir R Chowdhury <mrchwdhr@memphis.edu>
    * Nicholas Gordon      <nmgordon@memphis.edu>
    * Laqin Fan            <lfan1@memphis.edu>
    * Damian Coomes        <dmcoomes@memphis.edu>

* 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          <https://www.linkedin.com/in/jiewentan>

* University of Arizona

    * Junxiao Shi         <https://www.linkedin.com/in/shijunxiao>

* University Pierre & Marie Curie, Sorbonne University

    * Davide Pesavento    <https://www.linkedin.com/in/davidepesavento>

## Queries about NLSR

Any question related to NLSR should be directed to Ashlesh Gawande (agawande@memphis.edu),
Muktadir R Chowdhury (mrchwdhr@memphis.edu), and Nicholas Gordon (nmgordon@memphis.edu).
