I have received my M.Sc. in Information Technology Engineering specializing in Networking from Sharif University of Technology (2008).
I have received my B.Sc. in Computer Engineering specializing in Software from Tarbiat Moallem University of Tehran (2006).
As part of my MS thesis, I have worked on integrating Networks resources within Grids, to enhance Grid Capabilities. There has been tremendous amount of research and development in the Grid community in terms of grid services infrastructure and grid application development. However, there has been very little work done in the area of using Networks as a first-class Grid resource.
A first-class Grid resource can be accessed and fully controlled from the Grid middleware, tools or applications. CPUs, RAMs, NICs and also Bandwidth, Routers or other network resources may be first-class Grid resource. The problem particularly arises at the point that these network resources must be abstracted (virtualized) for them to be able to be incorporated into the Grid. This can therefore limit the range of resources that can be included. Can protocols such as routing and transport protocols be incorporated into a Grid or more virtual concepts such as bandwidth or QoS and thus how schedulers would react to these new resources.
I’m also concerned with the design and improvement of new and current protocols, to achieve better utilization. Also with the supervision of Dr. Beigy, I’m exploring the possibility of integrating Cellular networks within Grids. This is to abstract the possible services of a Celluar Network as a whole, and integrate them within the Grid. By this integration we set to solve some other related problems to Cellular Network Management. We have also set out to see whether this will be of any benefit to the concept of Mobile Grids or will they stay independent.
How data is stored on compact disks like CD-ROMs, CDRW, DVDs (layered technology), Blue-Ray and HD-DVD and a look at future data storage in 3 dimensions.
Research on the SQL query language and looking at how the SQL-Serer 2000 Query Optimizer works. I also looked at the different methods to design a database and its effects on the performance of certain queries, according to specific business requirements.
Generic Programming Methodology and Terminology. Its practical use within other OO programming languages. Comparing Generic Programming inside the .Net Framework with Java.
Instruction Level Parallelism. Differences with Pipelining and Multi-Processors, constraints concerning Data-Dependency, Super-Scalar processors and execution order (In-Order/Out-of-Order), Register Renaming, Very Long Instruction Words (VLIW), and techniques such as Software Pipelining and Loop Unrolling
Writing a compiler in the .Net Framework
Topics covered include:
- Exploring the requirements for writing a top-down .NET compiler.
- Generating the Lexical Analyzer using automated tools such as COCO\R.
- Inserting code for syntactical and also semantic analyzers into COCO\R.
- Analyzing the .NET environment, virtual machine and Meta-data.
- Analyzing code structures for implementing symbol tables and scope.
- Analyzing MSIL for code generation.
Microsoft .Net Framework.
Topics covered include:
- Vision and history
- New facilities in comparison to other frameworks
- Framework, Languages and Tools
- Compilation & Execution
- COM and its deficiencies
- Interoperability within the .NET framework
- MSIL
- Security in .NET
- Deployment and management
- .Net Framework Library
- Web and Mobile Application development using .NET
Clean-Room Software Engineering. Special characteristics of this type of software engineering, Examining the testing phase and comparing it to other methodologies, limitations and deficiencies, and
analyzing the productivity of real projects done with Clean-Room SE.
Wireless Application Protocol v2.0 (WAP).
Topics covered include:
- Problems regarding the use of mobile Internet, like device and bandwidth constraints
- Goals of the WAP forum architecture
- WWW Programming model
- WAP Programming model
- Proxies, Supporting Servers
- WAP network composition
- WAP Security model
- WAP Protocol Stack
- WAP Configuration examples
- XHTML and WML
- WAP Emulators
- WML Script
- Push Framework
- WAP content development
- WAP competitors
Service Oriented
Architecture with Web Services
Topics covered include:
- Today’s business requirements and IT infrastructures
- Current IT infrastructure deficiencies in creating extensible and expandable software
- The need for uniform systems and communicating with other business
- Examining limitations of ERP, Business Data Modeling and Enterprise Application Integration
- Service Oriented Architecture definition
- Service definition and its role in SOA
- Models of SOA
- Discussing procedures for implementing SOA within the current organization IT infrastructure
- Defining Web-Services and its protocol stack
- Comparing Web-Services with competing technologies like CORBA and JSB
Single Sign-On (SSO)
Topics covered include:
- Demands of current Enterprise IT for end users
- businesses and administrators
- Horizontal, Vertical and Hybrid SSO Models
- Authentication mechanisms
- Scenarios for SSO including Enterprise Single Sign-On (E-SSO)
- Web Single Sign-On (Web-SSO)
- Federation and Transactional Single Sign-On
- Authentication Protocols mainly Kerberos
- Peer to Peer SSO
- Distributed Authentication
- Multiple Machine SSO
- Risks of SSO
Sorting and Selection on Interconnection Network. A Survey of sorting and selection algorithms which exist for various interconnection networks.
Designing an SOA for implementation. We looked at different parameters that effect the design of a SOA within an Enterprise. We argued ESB as the most important concept within a SOA and analyzed its roles and functions. We also looked at the various software packages that are available for implementing an ESB.
A survey on Semantic Grid. In this paper we have surveyed some of the most important and active topics in regards to the Semantic Grid. The latest work on the Semantic Grid reference architectures and also a range of topics regarding the automation of the Grid. Issues such as resource annotation, discovery, selection, management, invocation and composition are covered. Several other topics including E-Learning, Operating Systems, Collaboration, and Ontologies are reviewed in the context of the Semantic Grid.
Computer simulated LED advertising board, with various animations, packaged in a neat GUI. (Pascal)
We designed a middleware to load balance the database requests from several clients in a hierarchical manner. This was to solve several issues regarding the high load of the servers at semester credit selection periods without effectively redesigning the backend databases. There has been a plethora of methods dealing with such situations and we decided to use a hybrid approach.
In this approach we partitioned the data into non-overlapping divisions and a middleware layer was designed based on this to handle the requests based on this. Part of the middleware was designed within the client and the requests were then made to the corresponding server application(s) and therefore load would be effectively distributed. By distributing the server applications physically around the campus in different departments, traffic would also diffuse and thus the whole system would be very scalable. We eventually implemented it throughout the summer using VC++ and MS SQL-SERVER 2000 as the backend database
A client-server framework for playing board games which use decision trees to implement artificial intelligence. Using that framework, I implemented two similar games, tic-tac-toe and also 3x3, 24 pin (stone) game. (Java)
An application to visualize how objects are inserted into a B+Tree and what happens when they are deleted. (C#)
Utilizaing the findings on the mapping techniques, I implemented a Forum with a hierarchical structure using C# (ASP.NET). I also solved some serious problems concerning the Persian language on the Internet. Problems regarding writing correctly in Persian and in the Unicode format and also writing Persian mixed with English. This was implemented with the help of JavaScript. Displaying right-to-left text and numbers (in Persian) correctly. I also implemented a Solar (Khayam- Shamsi) Calendar which is used as the national calendar in Iran for displaying message and thread dates.
A CD and folder collection organizer program. It may be used as a catalogue of CDs or folders or drives. After creating the catalogue it allows users to categorize folders and files and create virtual catalogues. It allows searching all the files indexed within the database. It stores the original and also the virtual catalogues in hierarchical form with in the RDBMS. This is done by mapping schemes that allow hierarchical structures to be mapped to table structures.
Ethernet Medium Access Simulator
Functionality:
- Simulating the protocols P-Persistent، Non-Persistent and One-Persistent for a single channel
- It can also simulate each of the above protocols using exponential-backoff
- The following parameters are variable to keep the simulation as open as possible: The type of simulation (P-Non-One), number of clients connected to the channel, Bandwidth, Quantum size (The simulation precision), Channel length, Speed of light, Max and min frame size, Sending probability, Idle times in bits, Inter frame gaps in bits, Burst size in bits, Activity percentage and Whether to use exponential-backoff.
A multi-layer Neural-Network package which uses back propagation for learning. I then created an application to use this package for predicting the distribution of 2 dimensional values with in a limited area. Displaying the learning process and also the results visually.
Using genetic algorithms to show how to solve a simple optimality problem.
We have a square sheet of paper and would like to create a box without a lid, so we would have to cut four equal small squares on each corner. What should be the size of the square for the volume of the box to be maximum?
This program visually, displays the chromosomes and the current optimal value while iterating.
Real-time scheduler simulator platform
A platform which different task schedulers and task generators can be written and created independently of each other and then simulated on uni or multi processors.
Task generators and schedulers are all plugins, written in the .Net framework. Visualizers and Analyzers can also be created and plugged into the system
It is designed for extensibility without compromising performance. Also because of the properties of .Net Framework, the creation process, especially the debugging of the plugins can be done very easily. It is possible to just derive from the base interfaces and run the main engine, all within the debugging session, by including the reference to the main engine namespace.

Department of Computer Engineering, Sharif University of Technology
Azadi Ave.
Tehran
shiravi@ce.sharif.edu
alishiravi@gmail.com
Previous Seminars
- Thesis Defence - 13/8/2008
Kharazmi Hall
Sharif University of Technology - Thesis Seminar - 3/2/2008
Kharazmi Hall
Sharif University of Technology - Virtualization - 19/12/2007
Computer Engineering Department
Tarbiat Moallem University of Tehran - Mobile Grids - 18/12/2007
Room 205, Khodro Building
Sharif University of Technology
news.google.com
Google News
www.reuters.com
Reuters
www.time.com
The Time Magazine
www.lumosity.com/blog
Lumosity Brain Health Blog
on10.net
Channel 10
www.downloadsquad.com
Downloadsquad
tech.blorge.com
Tech.Blorge
www.techcrunch.com
Techcrunch
www.theserverside.net
The Serverside.Net
zenhabits.net
Zen Habits
generatorblog.blogspot.com
The Generator Blog
![]() |
Introduction to Mobile Communications: Technology, Services, Markets |
![]() |
Advanced Cellular Network Planning and Optimisation: 2G-2.5G-3G...Evolution to 4G |
![]() |
Patterns in Network Architecture: A Return to Fundamentals |
![]() |
Distributed Systems and Networks |
![]() |
Grid Technologies: Emerging from Distributed Architectures to Virtual Organizations |
.
Knowledge itself does not distinguish us humans from the rest of the animal kingdom, as many animals have extraordinary knowledge of their surroundings hardwired into their brains.
In my opinion it is the process of acquiring knowledge that sets humans apart. It is the understanding of how to understand, that keeps science moving forward and it is the path to solving problems that have not yet been solved and explore concepts that have not yet been explored.

Persepolis was the ceremonial capital of the Persian Empire during the Achaemenid dynasty (550–330 BC). Persepolis is situated 70 km northeast of the modern city of Shiraz in the Fars Province of modern Iran. In contemporary Persian, the site is known as Takht-e Jamshid (Throne of Jamshid) and Parseh.
Archaeological evidence shows that the earliest remains of Persepolis date from around 515 BC. André Godard, the French archaeologist who excavated Persepolis in the early 1930s, believed that Cyrus the Great chose the site of Persepolis, but that Darius the Great built the terrace and the great palaces.
After invading Persia, Alexander the Great sent the main force of his army to Persepolis in the year 330 BC. By the Royal Road, Alexander stormed the Persian Gates (in the modern Zagros Mountains), then quickly captured Persepolis before its treasury could be looted. After several months Alexander allowed his troops to loot Persepolis. A fire broke out in the eastern palace of Xerxes and spread to the rest of the city. It is not clear if it had been a drunken accident, or a deliberate act of revenge for the burning of the Acropolis of Athens during the Second Hellenic-Persian War.
Updated 29-8-2008
|
XSLT was used to create this site by tranforming XML
data into HTML. For more information visit
XSL Transformations.
|
![]()
![]()
![]()




