I am a software engineer at Google, Inc. My colleagues and I design systems to eliminate bad ads (alchohol, porn, gambling, drugs, ...) and protect our users by providing family-safe ads to them.
Education :
B.Sc. : 1994 - 1998, Hardware
Engineering, University of Tehran, Avg 17.2 / 20 (first rank)
M.Sc. : 1998 - 2001, Software Engineering, Sharif university of
technology, Avg 17.53 / 20
Rank in national M.Sc. entrance exam : 3'rd in the country
Ph.D. : 2004-2009, Computer Architecture (Wireless Networks), Sharif
University of Technology, Avg: 19.62 / 20
Taught Courses:
University of Tehran:
- Internet engineering
Tarbiat Modares University
- Architecture and Programing of Web-based Systems (grad. course)
Islamic Azad University of Qazvin
(past) :
- Internet engineering
- Introduction to internet
- Design of algorithms
- Discrete mathematics
- System analysis and design
- Computer science basics
- Software engineering
- Advanced programming
- Programming in C
- Advanced topics: Java
- Advanced topics: Web design
- Documentation of information systems
Islamic Azad University of
Takestan (past):
- Programming
- Computer basics
Payam-e Noor University of Qazvin
(past):
- Data structures
- Advanced programming
Work Experience :
-Google, Inc. as a Software
Engineer 2011-now
-Initiating the project of ERP system development for RIPI (SYP) and
leading the 12 people team, 2004-2011
-Development of a comprehensive network simulator (Xmulator), 2005-2009
-Development of a commercial chat software (Glassroom), 2000-2004
-Development of an ECG software for Davinsa company (Tapesh Negar),
1995-2000
-Initiating the "New technologies in education and research" office of
IAUQ, 2003
-Coach of the first ACM programming contest team of Islamic Azad Uni.
Of Qazvin, 2002-2003
-Initiating the RIPI engineering software development team, 2009
-Initiating the RIPI high performance computing office, 2009
-Webmaster of Islamic Azad Uni. Of Qazvin. Starting the first website
of the univ., 2000-2003
-Internship at LMTS laboratory of EPFL University, Switzerland (2
months), 2008
-Research visit at KTH University (6 months), 2008
-Manager of technical committee of the first Iranian Mechatronics
Conference, 2003
-Renovating the website of Research Institute of Petroleum Industry
(RIPI), 2004
Interests and experienced
fields:
- Software design
- Digital signal processing
- Voice and sound processing
- Java programming
- Internet and web programming
- Web design
- Programming to control hardware
- Network systems
- Software architecture
- System analysis and design
- RUP software development process / UML
- Enterprise applications
- O/R Mapping
- Hibernate, NHibernate, Log4j, Log4net, Nant
- Developing multilayer distributed enterprise applications in C#.NET
environment
Programming languages and
software environments:
- Java ( more than 40,000 lines
of code before joining Google )
- Visual C++ ( more than 30,000 lines of code )
- C and C++ ( more than 20,000 lines of code )
- C# ( more than 80,000 lines of code )
- PHP
- JSP
- HTML, and Javascript
- ASP
- J2EE
- ASP.NET
- X86 and 68K assembly language
Workshops:
- “An Introduction to the Service
Lifecycle in Information Technology Infrastructure Library (ITIL)”,
RIPI, Iran, Aug. 2010.
- “Neighbor Discovery in Mobile
Networks”, Iran Telecom. Research Center (ITRC), Feb. 2009.
- "Beaconing in Wireless Mobile
Networks", EuroNF workshop on wireless and mobility, Stockholm, Sweden,
October 23-24 2008.
- “Simulation of
Interconnection Networks”, IPM, Iran, Jun. 2007
Technical Reports :
- Abbas Nayebi
and Gunnar Karlsson, “Neighbor Discovery in Mobile Wireless Networks,”
Technical Report #TRITA-EE_2008_066, Royal Institute of Technology
(KTH), Sweden, 2008.
- A. Nayebi, A.
Dehesh, A. Khosravi, and H. Sarbazi-Azad, "An Introduction to Mobility
in Wireless Sensor Networks and Wireless Ad hoc Networks", Technical
report #HPCAN-TC-07-101, HPCAN lab., Sharif Uni. of Tech., Iran, 2007.
- A. Nayebi and
H. Sarbazi-Azad, "Fault-Tolerant Routing in Interconnection Networks
,"Gozaresh Computer Mag., Issue 168, pp 18-29, 2006.
Published Papers :
•
M. Zolghadr, K. Mirhosseini, S. Gorgin, A. Nayebi, “GPU-based NoC
simulator,” In Proc. of 9th IEEE/ACM International Conference on Formal
Methods and Models for Codesign (MEMOCODE), pp. 83-88, July 2011.
•
Abbas Nayebi, Amin Dehesh, H. Sarbazi-Azad, “Providing Mobile Internet
Service Using MOnetary Wireless Networking (MOWNET),” In Proc. of The
36th IEEE Conference on Local Computer Networks (LCN), Bonn, Germany,
Oct. 2011.
•
Hamideh Sadat Cheraghchi, Abas Nayebi, “Human Society Inspired Routing
For Wireless Sensor Network,” In Proc. of The 36th IEEE Conference on
Local Computer Networks (LCN), Bonn, Germany, Oct. 2011.
• Abbas Nayebi, Hamid
Sarbazi-Azad, "Analysis of k-Neigh Topology Control Protocol for Mobile
Wireless Networks," Computer Networks, Vol 53, Issue 5, pp. 613-633,
doi: 10.1016/j.comnet.2008.10.024, Elsevier, 2009. PDF
• Hamid Shokrzadeh, A. T.
Haghighat, Abbas Nayebi, "New routing framework base on rumor routing
in wireless sensor networks," Computer Communications, Vol. 32, Issue
1, pp. 86-93, doi: 10.1016/j.comcom.2008.09.027, Elsevier, 2009.
• A. Nayebi, Hamid Sarbazi-Azad,
and Gunnar Karlsson, “Performance Analysis of Opportunistic Broadcast
for Delay-Tolerant Wireless Sensor Networks,” Journal of Systems and
Software, Vol. 83, Issue 8, pp. 1310-1317, Elsevier, Aug. 2010.PDF
• R. Moraveji, H. Sarbazi-Azad, A.
Nayebi, K. Navi, “Modeling the Effects of Hot-spot Traffic Load on the
Performance of Wormhole-Switched Hypermeshes,” To be appeared in
Computers & Electrical Engineering, Elsevier.
• A. Nayebi, Gunnar Karlsson,
Hamid Sarbazi-Azad, “Neighbor Discovery in Mobile Wireless Networks,”
to be appeared in to Ad hoc Networks, Elsevier. PDF
• A.Nayebi, "Improving Dynamic
Spectrogram using Inverse Color Method and Base-band Representation,"
In Proc. of ICEE 2005, 2005.
• A. Khonsari, M. Ould-Khaoua, A.
Nayebi, H. Sarbazi-Azad, "The impact of timing constraints on virtual
channels multiplexing in interconnection networks," Proceedings of 25th
IEEE International Performance Computing and Communications Conference
(IPCCC’06), March 28-30, 2006, Phoenix, Arizona, USA.
• A. Nayebi, M. Rahimi, H.
Sarbazi-Azad, "Time-based Random Waypoint Mobility Model for Wireless
Mobile Networks," Proceedings of The Australian Telecommunication
Networks and Applications Conference (ATNAC2006), Dec. 4-6, 2006,
Melbourne, Australia. PDF
• A. Nayebi, M. Rahimi, H.
Sarbazi-Azad, “Analysis of time based random waypoint mobility model
for wireless mobile networks,” Proceedings of International Conference
on Information Technology- New Generations (ITNG2007), IEEE Press,
April 2-4, 2007, Las Vegas, USA.
• A. Nayebi, A. Khosravi, H.
Sarbazi-Azad, "On the Link Excess Life in Mobile Wireless Networks,"
Proceedings of International Conference on Computing:Theory and
Applications ICCTA, IEEE Press, India, 2007. PDF
• A. Nayebi, A. Khosravi, H.
Sarbazi-Azad, "The impact of stationary nodes on the performance of
wireless mobile networks," Third International Conference on Wireless
and Mobile Communications (ICWMC2007), IEEE Computer Society Press,
March 4-9, 2007, Guadeloupe, French Caribbean.
• S. Meraji, A. Nayebi, H.
Sarbazi-Azad, "Empirical Performance Evaluation of Adaptive Routing in
Necklace Hypercubes: A Comparative Study," Proceedings of International
Conference on Computing:Theory and Applications ICCTA, IEEE Press,
India, 2007.
• A. Nayebi, S. Meraji, A.
Shamaei, H. Sarbazi-Azad, "Xmulator: A listener-based integrated
simulation platform for interconnection networks," Proceedings of Asian
Modelling Symposium (AMS2007), IEEE Press, Thailand, 2007. PDF
• A. Nayebi, A. Shamaei, S.G.
Miremadi, "Traffic Analysis of f-cube Fault-Tolerant Routing Algorithm
in Mesh Interconnection Networks", In Proc. of CSICC, Iran, 2007.
• A.Shamaei, A. Nayebi, H.
Sarbazi-Azad, "Performance Evaluation of Fault-Tolerant Routing in Mesh
Interconnection Networks", In Proc. of CSICC, Iran, 2007.
• A. Nayebi, A. Shamaei, H.
Sarbazi-Azad, "Improving of f-cube fault-tolerant routing algorithm
based on detailed traffic analysis," In proc. of HPCC 2007, Houston
USA, LNCS 4782, pp. 766-775, Springer, 2007.
• R. Moraveji, H. Sarbazi-Azad, A.
Nayebi, K. Navi, "Performance Modeling of Wormhole Hypermeshes under
Hotspot Traffic," LNCS 4649, Computer Sceience-Theory and Applications,
Springer, Sep. 2007.
• S. Meraji, A. Nayebi, and H.
Sarbazi-Azad, "Simulation-Based Performance Evaluation of Deterministic
Routing in Necklace Hypercubes," In proc. of AICCSA 2007, Jordan, IEEE
Press, 2007.
• A. Nayebi, H. Sarbazi-Azad, and
K. Alishahi, “Analysis of k-Neigh Topology Control Protocol for
Wireless Networks,” In Proc. of HWISE-2008 workshop (AINA), 2008.
• H. Shokrzadeh, A. T. Haghighat,
A. Nayebi, F. Tashtarian, “Directional Rumor Routing in Wireless Sensor
Networks,” In Proc. of ICI 2007, IEEE Press, Tashkent, Uzbekistan, 2007.
• ** A. Nayebi and H.
Sarbazi-Azad, “Lifetime Analysis of the Logical Topology Constructed by
Homogeneous Topology Control in Wireless Mobile Networks,” In Proc. of
13th International Conference on Parallel and Distributed Systems
(ICPADS2007), IEEE Press, Hsinchu, Taiwan, 2007.
• A. Nayebi, H. Sarbazi-Azad,
"Analysis of the Effect of Nodes’ Mobility on the Performance of
Wireless Networks," (in Persian) In Proc. of The First International
E-city Conference, Tehran, Iran,2008.
• Arash Shamaei, Abbas Nayebi,
Hamid Sarbazi-Azad, “Fault-tolerance improvement of planar adaptive
routing based on detailed traffic analysis,” In proc. of 22nd
international symposium on Computer and information sciences (ISCIS),
IEEE Press,2007.
• H. Shokrzadeh, M. Mashaiekhi, A.
Nayebi, “Improving Directional Rumor Routing in Wireless Sensor
Networks,” In Proc. of The 4th International Conference on Innovations
in Information Technology, IEEE Press, November 18 – 20, UAE, 2007.
• Mohammad Mirza-Aghatabar, Arash
Tavakkol, Hamid Sarbazi-Azad, Abbas Nayebi, "An Adaptive Software-Based
Deadlock Recovery Technique," In Proc. of AINA, pp. 514-519, IEEE
Press, Japan, 2008.
• Arash Shamaei, Abbas Nayebi,
Hamid Sarbazi-Azad, "A Simple and Efficient Fault-Tolerant Adaptive
Routing Algorithm for Meshes," LNCS 5022, Algorithms and Architectures
for Parallel Processing, pp. 54-57, Springer, 2008.
• Abbas Nayebi, Gunnar Karlsson,
“Beaconing in Wireless Mobile Networks,” In Proc. of IEEE Wireless
Communications and Networking Conference (WCNC), Budapest, 2009.
• Abbas Nayebi, Hamid
Sarbazi-Azad, and Gunnar Karlsson, “Routing, Data Gathering, and
Neighbor Discovery in Delay-Tolerant Wireless Sensor Networks,” In
Proc. of IEEE International Parallel & Distributed Processing
Symposium (IPDPS), Rome, 2009.
Academic Projects :
BSc. Project :
Design and implementation of a 30
channels audio card in Iran's Telecommunications Research Center.
In this project, an ISA card was designed to capture 30 voice channels
concurrently and to play a voice channel as well. Incoming signals were
multiplexed (TDM) and then sampled with a 12 bits flash A2D and sent to
computer memory through DMA channels. Since, capturing of 30 channels
needs a lot of bandwidth and buffer memories, interrupts and DMA were
extensively used in this project and all the buffer on the board was
eliminated. For this purpose, the main memory of computer was used
instead of limited and expensive buffers on board.
MSc. Thesis :
Sound visualization using human
auditory model.
Signal processing researchers need a tool to help them realize
characteristics of audio signals. One of these tools can be a sound
visualizer. A sound visualizer is the means for converting an audio
signal into a static picture or a movie, illustrating the
time-frequency properties of sound. Other application of this tool can
be in: aid for the deaf, music training, etc.
Different methods for sound visualization have been proposed. Among
them are traditional spectrogram, cochleagram, correlogram, and dynamic
spectrogram. In this thesis two new ideas were proposed to improve
dynamic spectrogram, the first was the base-band representation of
filter outputs and the second was inverse color mapping. A software
tool was also developed for testing the efficiency of different methods
and some experiments were carried out using this tool.
The software was developed in VC++ environment and voice signal was
captured from microphone or a wave file and an AVI movie for dynamic
spectrogram was made.
An IP-based RPC system (Hejran) :
In this project, an IP-based RPC
system was developed for LANs. This system included a service
registration, a network interface, and a user interface sub-systems.
Software and Projects :
I started my experience in
electronics when I was just 10 year old. My brother taught me the
basics of electronics in a simple language. I was trying to build some
interesting devices like radio transmitters and receivers, amplifiers,
alarm systems, and many other ones.
After some years, I started the computer science by my first computer:
A Commodore 64 , a simple home computer with 64KB of memory and a tape
device to store programs. I wrote many little programs in BASIC and
Pascal using this computer and after few years I switched to an Amiga
500 and after a while to an Amiga 1200. It was a more serious device and I could
write programs in 68000 assembly and C. Amiga systems had many
advantages in OS design, indeed, Amiga was a very well designed system
in those days. I don't write programs for Amiga anymore, but Amiga has
made my foundations of thinking and designing, indeed, I learned how to
design and develop robust, stable, and scalable software and systems.
I wrote many programs for Amiga, most of them were a mixture of
assembly and C code to execute faster. I wrote a 3D viewer system with
polygon graphics with my little knowledge in that field.
I also participated in a computer graphic team to make TV ads. I made
some ads and learned many useful things about graphical concepts that I used many
years later to design web sites.
Here, I list some of projects I've already developed. It's only a part
of what I have done. Actually, I spent a considerable part of my life on my
computer 's console. One of my friends has made a joke about me that I
earn energy from monitor rather than food :)
Amiga-Negar :
This was a software package I
published nationwide. The purpose of this software was to
change Amiga's environment to support Farsi language. As you know, Farsi
language is written from right to left which made things difficult in early computers.
This system was my first experience in commercial software and thought
me many things about business of software and commercial software.
This system was developed in C and assembly.
Farsi-English dictionary :
This was a Farsi to English and
English to Farsi dictionary developed for Amiga and published
nationwide.
Seda-Negar :
This is a tool to generate
dynamic and static spectrogram. This software is developed in VC++.
Seda-Negar Tester :
A software tool to execute an
automatic graded test from subjects and storing the results. This
software is specially designed to help audio researches to get fair
tests from subjects.
Tapesh Negar, A stress test and
ECG software:
This project started at 1995 in
Davinsa medical equipments company. The goal of project was to control
treadmill system and executing stress test protocols like Bruce,
modified Bruce, and Corner and gathering ECG signal at the same time
and storing the signal in an internal database. The input ECG signal
has a lot of noise and the program must eliminate all of them by
applying special digital filters. There is a filter to suppress DC
changes caused by movements of patient at extremely low frequencies in
range of 0.2 to 0.5 Hertz. There is another notch filter to suppress
the 50 Hz power line noise and a filter to suppress high frequency
noises.
Although the first version of the program was written in MS-DOS
environment but it had a smart GUI. After 2 years the project upgraded
to Windows 95 in Visual C++ environment.
This software is currently used in more than 70 medical centers and
hospitals in Iran.
Some of the features of the software are :
-High performance: It's a real-time system that must perform many tasks like
gathering signals, filtering, scrolling the signal on monitor, storing
data, interacting with user, controlling the treadmill, and executing
the protocols in a non-real-time operating system.
-Reliability: Any bug in this software is dangerous and may lead to
death of patient. The software has shown a high level of
reliability.
-Multitasking ( specially in MS-DOS )
-Well designed to have a long life time: Core piece of the software has not been
re-designed after these many changes.
Bi-lingual conferencing and chat
software :
This project started at 2000 in
Sazman-e Hamyari-e Shahrdarihay-e Qazvin ( a semi-private organization
). The goal of project was to create a voice chat software that support
Farsi and English languages. This software had two parts : Client
(applet) and a Server both in Java. Duration of this project was 1 year.
Atigana conferencing and chat
software :
After success in the previous
project, I decided to build a more powerful chat system with more
features and more users. I signed a contract with one of the most
famous Iranian websites with a lot of visitors, and the result was a
leading chat software.
GlassRoom(R) chat software :
Having obtained experience of the
two last projects, I decided to build a commercial package. Hence, I started a new project
focusing on these features:
- A high performance, highly stable, and reliable server
- A nice looking, flexible, and stable client ( a java applet )
- An ActiveX component to capture and play voice
- An installer built by InstallShield environment
- Perl and shell scripts to execute the software in Linux
- A VC++ program to start the program as an NT service.
- A control panel base on Java Servlets
I learned many things from this project:
- World-wide software marketing issues
- Promotion
- Targeted advertisement
- Remote debugging and administration of software
- E-management
- Establishing work groups through internet.
I must confess that was very hard !
SuperGlass:
A remote management system to
create and manage chat hosts in windows and Linux servers (All in JSP).
GlassHelp:
An online support and online help
system.
InterAcc:
A Windows based RADIUS server
(accomplished to module design stage).
Textile puncher project:
This was a project to control a
mechanical puncher used in textile companies.
Re-designing www.RIPI.ir website
and related sub-sites :
In this minor project all the web
pages of RIPI website were reviewed and major changes made in graphical
design and structure of website. More over, former system of library
was analyzed and a sub-system for magazines was added to the
system. This software was developed in .Net Environment.
RIPI E-Voting software :
This is a web-based software
developed in .Net environment to hold an electronic election in RIPI.
This package exposes some features like :
-Voter management
-Candidate management
-Email-based voting
-Candidates' personal profile editor, ...
This software was developed in about two weeks and was my first
practical project in .Net environment.
Developing an enterprise
architecture framework for RIPI total system (VONAS)
This framework consists of the
following parts:
- O/R Mapping: In this part,
NHibernate is used as a well known package in this field. NHibernate is
fully studied, tested, and modified to accompany with system
requirements.
- Transactions: An open source package for handling transactions and
defining transactional contexts is used. This package is totally
modified to support NHibernate sessions.
- Code security: All the business facade methods are protected by
role-based security attributes.
- Authentication: ASP.Net form-based authentication is used.
A piece of code is added to support code security concepts.
- Authorization: Roles are stored in an XML file. Two levels of roles
are considered: super-roles and normal roles. A Principal class is
developed to accommodate role-based security. Some parts of Microsoft
Application Block for Authentication and Authorization is used.
- Configuration: A flexible, XML-XSD based, visually configurable
framework is developed to store and retrieve configuration for each
application and for the framework from XML files. System is sensitive
to changes of XML files made everywhere.
-UI Security: A special package is developed to support UI security
issues. Some attributes are defined as extensions to the standard HTML
tags to support role-based permissions in UI web-controls.
RIPI total system (VONAS)
This project is defined in RIPI to
provide an integrated system for 17 areas in 2004. RUP software
development process is used. A minor project is defined to develop a
minor part of the system for the first phase. A three-tire structure
with a suitable layering and flexible distribution framework make a
unique architecture for the software. Service oriented concepts are
considered in designing the system.
Sensor Network for Space
Applications (SENSA) :
During the internship in the EPFL
University, Switzerland (2008 Feb.-Mar.), I proposed a framework for a
special category of sensor networks targeted for space born
applications.
Xmulator (an event-based
simulation framework) :
It is a general object-oriented
event-based simulation software, which is mainly developed to simulate
Interconnection Networks and Wireless Networks. The package is used and
extended by more than 20 students for their own research projects. The
software is developed on a multi-layer architecture in C# language. Xmulator
Project
Gmail and Google logos are trademarks of Google, Inc.