Jeffrey A. Miller

jmiller6@calstatela.edu

Personal Statement

My research focuses on architecting large-scale and unreliable centralized and distributed systems, including wireless and mobile communication. Single architectures are not always suitable for an application, so I also focus on combining different architectures (both network and system architectures) to suit the needs of a specific application. Systems requiring mobile communication add more complexity
due to the unreliability of wireless links, including the changing signal strengths as the device moves. In a mobile environment, combining centralized and distributed architectures into a single system allow wireless devices to behave as thin and thick clients.


One application that benefits from this type of system design concerns intelligent transportation systems, which depend upon V2V (Vehicle-to-Vehicle) and V2R (Vehicle-to-Roadway) communication. This
requires transferring data over a highly-unreliable wireless link from mobile vehicles to other mobile vehicles or through roadway infrastructures to centralized servers. This type of computing mixes the centralized and distributed computing paradigms to allow certain tasks to be handled by the different architectures and interesting applications to be developed based on the data gathered from the vehicles.

 

Over the next few years, my research will continue to focus on architectures for large-scale systems with unreliable links.  I intend to develop criteria by which different architectures can be judged. Various architectural methodologies will be employed to determine a priori advantages for a purely distributed versus a purely centralized versus a hybrid architecture.  In addition I expect to develop specialized algorithms that optimize the performance of each of these architectures, given the specific application. My approach to a posteriori analysis relies upon the development of simulation models that realize the underlying architecture and are calibrated by whatever actual data is available. Typical questions I expect to address are bandwidth requirements, accuracy of the representation, historical tracking ability, processing power required by each device, and reliability under failure modes, among other factors. 

 

As for my teaching agenda, I would like to teach Computer Science classes involved in the software engineering or algorithm areas.  I have taught undergraduate Computer Science classes at California State
University, Los Angeles for over 5 years, with classes ranging from introductory programming classes to upper division algorithms, software engineering, and compilers.  I was presented an award for Professor of
the Year in 2003, which is voted on by the students to the faculty member who exhibits superior teaching performance and dedication to the students.  With my research being involved primarily with software
engineering, algorithms, and networking, those are the classes for which I feel I am most knowledgeable.  I have a genuine passion for teaching, and I thoroughly enjoy the interaction with students.

 

 

Education

Ph.D. in Computer Science, May 2007

University of Southern California

-          Successfully defended dissertation on April 27, 2007, with topic “Algorithms and Data Structures for the Real-Time Processing of Traffic Data” under the advisement of Professor Ellis Horowitz

 

Master of Science in Computer Science, December 2002

University of Southern California

-          Emphasis in Systems and Software Engineering

 

Bachelor of Science in Computer Engineering and Computer Science, May 2002

University of Southern California

-          Graduated cum laude


Refereed Conference Publications

Miller, Jeffrey. “Characterization of Data on the Gnutella Peer-to-Peer Network.” IEEE 1st Consumer Communication and Networking Conference, January 2004.

 

Miller, Jeffrey, Ellis Horowitz. “Algorithms for the Real-Time Processing of Traffic Data.” IEEE 9th Intelligent Transportation Systems Conference, September 2006.

 

Miller, Jeffrey, Ellis Horowitz. “FreeSim – A V2V and V2R Freeway Traffic Simulator.” IEEE 3rd International Workshop on Vehicle-to-Vehicle Communications in conjunction with IEEE Intelligent Vehicles Symposium 2007, June 2007.

 

Miller, Jeffrey, Ellis Horowitz. “FreeSim – A Free Real-Time Freeway Traffic Simulator.” Submitted to IEEE 10th Intelligent Transportation Systems Conference, September 2007.

 

 

Conferences Attended

IEEE 1st Consumer Communication and Networking Conference, Las Vegas, Nevada, USA, January 2004.

ITS America Conference, Phoenix, Arizona, USA, May 2005.

IEEE 9th Intelligent Transportation Systems Conference, Toronto, Ontario, Canada, September 2006.

IEEE 29th International Conference on Software Engineering, Minneapolis, Minnesota, USA, May 2007.

IEEE Intelligent Vehicles Symposium 2007, Istanbul, Turkey, June 2007.

IEEE 10th Intelligent Transportation Systems Conference, Seattle, Washington, USA, September 2007.

 

Professional Affiliations

IEEE – member since 2002

ACM – member since 2002


Experience

Computer Science Lecturer

California State University, Los Angeles – Los Angeles, California, February 2002-present

-          Courses: Introduction to Web Site Development (CS120), Introduction to SQL and Databases (CS122), Introduction to Programming (CS201), Introduction to Object-Oriented Programming (CS202), Programming with Data Structures (CS203), C Programming (CS242), Computer Ethics in the Information Age (CS301), Algorithm Design and Analysis (CS312), Web and Internet Programming (CS320), Introduction to Automata Theory (CS386), Java for C++ Programmers (CS454 – Special Topics), Enterprise Architecture (CS454 – Special Topics, now CS420), Compilers (CS488), Undergraduate Computer Science Wrap-Up Course (CS490), Directed Study (CS499)

-          Led a team of undergraduate students in a directed research (CS499) in the design and implementation of a compiler project to be used for the programs in the compiler class

-          Voted 2002 Professor of the Year by the students in the Computer Science department – 1st lecturer ever to be given this award

-          Authored CS420 class on enterprise web architecture, covering RMI, CORBA, Web Services, and different MVC architectures, including Spring and Struts

 

Independent Consultant – May 2005-present

-          Performed small to mid-size programming tasks for different companies using predominantly Java, HTML, and Flash

-          Automated the drafting of legal documents for a law firm involved with estate planning, including creation of diagrams, flow charts, and Microsoft Word generation

-          Migrated a Microsoft Access application to a multi-user web-based application

-          Created a socket-based Flash chat application with multiple simultaneous users supporting multiple agents over a Java-based chat server

 

Founder / Chief Executive Officer

Imaginary Technology, LLC – Burbank, California, August 2005-April 2006

-          Started a company that created handheld and standalone point of sale systems for the restaurant industry

-          Worked with restaurant owners and potential clients to determine the requirements for the point of sale system

-          Managed a team of 5 developers to implement the requirements and install the system

-          Responsible for buying hardware, hiring personnel, obtaining investment money, selling the system, and working with owners to improve the system

 

Application Specialist – Technical Lead/Senior Architect

21st Century Insurance – Woodland Hills, California, February 2005-May 2005

-          Worked as a lead and architect on a team responsible for all online payments of insurance policy premiums, including eCheck and direct-debit payments

-          Coded in Java on a Websphere-based application using Struts

-          Wrote a J2EE tool to allow customer service representatives to see all of the billing history of a customer and all activity that has ever occurred on a customer’s policy

 

Director of Engineering

inQ, Inc.– Agoura Hills, California, July 2004-February 2005

-          Responsible for the personnel of the IT department and grew the development/QA team from 2 to 6 within the first 6 months

-          Managed a team of 4 programmers and 2 QA engineers on a multi-threaded chat and outbound call application to up-sell online customers of client web sites

-          Communicated with clients and partners on all technical issues related to interfacing our application with theirs

-          Implemented a complete software development process for use by all departments of the company to interact with the IT department for any requests

 

Technical Consultant

SBC – Smartpages.com – Pasadena, California, July 2003-July 2004

-          Managed a team of 12 programmers on an ongoing project to fix all issues with the production site and reported to the client weekly on the status of the issues

-          Responsible for improving and implementing technical processes for the development team

-          Created and initiated coding standards, then enforced the standards by performing code inspections on all modified code checked in to the version management software

-          Involved in design of documentation templates and other process improvement strategies to aid in increasing the CMM level of the team to CMM Level 3 by 4th quarter of 2005

-          Led team in initiating unit testing (using JUnit) and customized exception handling to reduce the number of bugs and the severity of bugs discovered by the quality assurance team

 

Graduate Research Assistant

Information Sciences Institute (ISI) – Marina Del Rey, California, May 2002-July 2003

-          Used PHP4.0 running on Red Hat Linux 7.1 to create a tree structure for browsing the objects of a specified LDAP server

-          Created a Service Data Browser using Java Swing to display the service data returned as a web service SOAP message from different providers in different formats, including raw XML, a tree structure, and a status bar

-          Designed an interface to allow other programmers to create their own Visualizers to display the service data however they would like in the Service Data Browser

-          Created a web-based interface using JSP and JavaBeans to browse specific service data through the use of web services and display the data in a user-friendly tree-based format

 

Principal Software Engineer

Corticon Technologies, Inc. – Culver City, California, June 2001-May 2002

-          Worked as a technical lead on an 8-member project to design and develop an application to automate business rule generation

-          Researched augmented decision tables to design efficient algorithms for optimization of business rules, such as expand, collapse (based on an algorithm designed by Dr. Richard N. Shiffman of Yale University), ambiguity checking, and completeness checking

-          Helped to design a parser/compiler for creating Java files from business rule statements that could be used with any plug-in architecture

-          Technologies included Weblogic, ILOG, JUnit, Ant, and XML (W3C and JDOM)

 

Programming Consultant

Dacor – Pasadena, California, January 2001-June 2001

-          Developed B2B e-commerce site using JSPs, Servlets, JavaBeans, JDBC, and XML that allowed distributors and retailers to automate the ordering of their products – http://www.dacorworld.com

-          Created middleware application using Java to connect a SQL Server database to an existing Legacy system database

-          Requested software and database applications to purchase that would best suit the company’s growing needs

 

Systems Administrator / Programmer

Busybox.com – Century City, California, February 2000-January 2001

-          Designed and maintained www.busybox.com (corporate site) and promo.busybox.com (promotions site), using HTML, JavaScript, JSP, Servlets, JDBC, and JavaBeans

-          Installed necessary components for web applications, including servlet containers, video streaming software, and web servers on Windows NT Server 4.0

-          Installed, configured, and developed with IBM Websphere Application Server and Allaire JRun Application Server, using IBM VisualAge for Java and Websphere Studio

-          Completed IBM WebSphere Application Server 3.5 certification training and IBM Visual Age for Java certification training

 

Advanced Java Instructor / Teaching Assistant

Learning Tree University – Chatsworth, California, December 1999-March 2001

-          Taught beginning and advanced Java concepts to classes of corporate students that consisted of programmers and managers

-          Topics included: AWT, Swing, Networking, File I/O, Web Servers, Servlets, JSP, Reflection, Multi-threaded Applications, Design Patterns, JDBC, XML

 

 

Technical Skills

Operating Systems - Unix (Solaris, Linux), Microsoft Windows, DOS

Languages – Java (including J2EE), XML (W3C, JDOM, SOAP), XSL/XSLT, Flash, C, C++, C#, MFC, SQL, Perl, HTML, CSS, JavaScript, ASP, PHP, and Assembly for the M68000

Java Technologies - Servlets, JSP, JDBC, JavaBeans, EJB, Swing, AWT, JNI, JTA, JTS, JMS

MVC Frameworks - Spring, Struts

OR Mapping - Hibernate

Application Servers - Apache Tomcat, IBM Websphere, Adobe JRun, BEA Weblogic, Caucho Resin, ATG Dynamo, ILOG Inference Engine

IDEs - Borland JBuilder, IntelliJ, Eclipse, IBM VisualAge for Java, IBM Websphere Studio, Microsoft Visual Studio

Databases – Oracle 9i, IBM DB2, MySQL, Microsoft SQL Server