Technical Reports: |
Challenges
and Solutions in Peer-to-peer Live Video Streaming [English]
Peer-to-peer networks have attracted considerable attention from
researchers both in academia and in industry as an infrastructure for
distributed computing and multimedia broadcasting. In recent years,
many protocols have been proposed which use P2P networks in order to
implement a video multicast application. In this paper, we present a
problem-based viewpoint to survey the challenges in designing P2P live
video streaming applications through a comprehensive analysis of
negative and positive points of their solutions. We categorized these
points in an innovative hierarchical structure based on four
categories: topology, send/receive data mechanisms, incentive, and
group management.
|
Spring 2009 |
مروری بر چالش ها و راه
حل های جریان سازی ویدیوی زنده در شبکه های نظیر به نظیر |
|
A Survey on Multicast
Structures in Peer-to-Peer Networks [Farsi] |
Fall 2008 |
مروری
بر ساختارهای چندپخشی در شبکه های نظیر به نظیر
با پیشرفت فناوری اینترنت بسیاری از شرکتهای
تلویزیونی به پخش ویدوی روی این شبکه پرداختند. با این وجود چندپخشی ویدیو
در شبکه اینترنت با چالشهای فراوانی همراه است. در این گزارش ابتدا
راهحلهای مختلف استفاده شده برای چندپخشی بررسی میگردند. سپس به بررسی
ساختارهای موجود در شبکههای نظیر به نظیر و کاربرد آنها در چندپخشی ویدیو
پرداخته میشود. در ادامه شبکههای ناساختیافته و توپولوژیهای مربوطه
بررسی میگردند. و سپس راهحلهای موجود در ادبیّات این حوزه برای حلّ
چالشهای ذکر شده معرّفی میگردند. در پایان نیز معیارهای اندازهگیری و
مقایسه پروتکلهای مختلف چندپخشی ویدیو لیست شدهاند.
|
|
A
Survey on Ontology Applications in Ubiquitous Networks [Farsi]
Nowadays,
technology pursues to make our environment more intelligent. This means
that technology will serve us in every part of our environment in an
embedded manner. This services could not be implemented without close
communication among different entities, combining their services, and
recognizing the context. To realize ubiquitous computing systems needs
many challenges including discovering and integrating entities,
interaction between two entities, and context recognition to be solved.
Ontology is the key to enable different entities to communicate with
each other and the environment. There have been proposed many
frameworks in order to concretize the usage of ontologies in this
field. This report surveys the challenges ubiquitous computing systems
which ontology could solve and introduces different frameworks for
implementing the solutions in the real world.
|
Spring 2008 |
مروری
بر کاربردهای آنتولوژی در شبکه های فراگیر
امروزه فناوری به سمت هوشمند کردن محیط اطراف انسان
میرود. در واقع فناوری در همه اجزای محیط پیرامون ما به شکلی نهفته خدمت
خواهد داد. این خدمت نتیجه ارتباطی نزدیک بین اجزای مختلف، ترکیب خدمات
اجزا و درک زمینه خدمت جهت ایجاد محیط محاسبات فراگیر است. در این راستا
چالشهای مختلفی از جمله کشف و همسانسازی نهادها، تعامل بین نهادهای
مختلف و آگاهی از زمینه وجود دارد که با استفاده از آنتولوژی میتوان هر
یک از آنها را حل کرد. آنتولوژی امکان تعامل بهتر عاملهای درگیر در محیط
و درک بهتر از زمینه را فراهم میکند. در راستای تحقّق این ایده
چارچوبهای عملی مختلفی در این حوزه ارائه شده است.
در این گزارش ضمن بررسی این چالشها در حوزه محاسبات فراگیر، به چگونگی
حلّ آنها با بکارگیری آنتولوژی پرداخته میشود. در پایان نیز خلاصهای از
چارچوبها و محیطهای مختلف مطرح در این حوزه گردآوری شده است.
|
|
A
Survey on Web Design Patterns [Farsi]A pattern is an
appropriate solution for a particular problem in a specific context.
Software patterns help us reuse these solutions and establish a
language to communicate with other developers. There are also many
proposed patterns in the web context. In this report, we have
investigated over than 200 patterns from various pattern collections
and proposed a new structure to categorize these patterns. While we
considered the goals and results of each pattern, we tried to extract a
consistent collection from these pattern collections. |
Spring 2008 |
مروری
بر الگوهای طرّاحی وب
الگو یک راهحل مناسب برای یک مسئله خاص در یک
زمینه مشخّص ارائه میکند. الگوهای نرمافزاری امکان استفاده مجدّد از
راهحلهای ارائه شده در یک زمینه را میسّر میکنند. در زمینه وب نیز
مجموعه الگوهای مختلف از دیدگاههای مختلفی ارائه شده است. در این گزارش
علاوه بر بررسی بیش از 200 الگو از مجموعههای مختلف یک ساختار جدید برای
دستهبندی این الگوها ارائه شده است. در این دسته بندی سعی شده تا اهداف و
نتایج هر الگو در نظر گرفته شده و اجماعی بین مجموعه الگوهای مختلف ایجاد
شود
|
|
An
Introduction to Pattern Languages and Comparison of Pattern Templates [Farsi] A pattern is an
appropriate solution for a particular problem in a specific context.
Besides the introduction of a well-formed solution for a problem,
patterns are used to name a solution and create a taxonomy among
experts in the area. In other words, they introduce a language as a
communication media; even some people believe that its latter function
has more importance. Pattern template has a great role in the quality
of this communication.
There are many templates to define a pattern each of which has its own
specific goal. They try to answer the most important questions about a
pattern. However, it is important that the template makes a reasonable
structure for defining it and help the user to reach the goal better.
When there is no template for patterns, everyone could name his
solution a pattern, and it is hard to figure out the elements of it or
even understand the solution.
A pattern language is a collection of relevant patterns, which are
defined in a consistent specific template. Relations among patterns
help a designer navigate between patterns and find the appropriate
collection of patterns for his problem. |
Spring 2008 |
مقدّمه
ای بر زبان های الگو و مقایسه قالب های الگوی موجود
به یک راهحل مناسب برای یک مسئله در یک زمینه خاص
الگو گفته میشود. راهحلّی که الگوها ارائه میکنند معمولاً مجرّد بوده و
برای مسائل متداول در یک حوزه (زمینه) خاص بهکار میروند. علاوهبر
معرّفی یک راهحل مناسب برای یک مسئله، الگو برای نامدهی راهحل و ساخت
یک واژهنامه بین متخصّصان آن حوزه نیز استفاده میشود. در واقع مجموعه
الگوها یک رسانه ارتباطی نیز هست. و حتّی بعضی، کارکرد دوّم را اصلیترین
وظیفه الگوها میدانند. لذا به غیر از نام الگو که مانند مسئله، راهحل و
زمینه جزء اصلی الگو است، قالب توصیف آن نیز نقش به سزایی در کیفیّت این
ارتباط دارد.
الگوها قالبهای مختلفی دارند، هریک از این قالبها میتواند هدف خاصّی
داشته باشد. در قالب الگو سعی میشود سؤالات مهم در مورد هر الگو پاسخ
داده شود. مهم آنست که این قالب ساختاری منطقی به الگوها داده و مخاطب را
در رسیدن به آن هدف یاری دهد. بدون یک قالب هر کسی میتواند هر نوشتهای
را یک الگو بنامد و نمیتوان فهمید چه چیزی الگو است و چه چیزی الگو نیست.
یک زبان الگو مجموعهای از الگوهای به هم مرتبط است که در آن الگوها طبق
یک قالب یکسان و مشخّص توصیف میشوند. رابطه الگوها به طراح کمک میکند تا
به راحتی از الگویی به الگوی دیگر رفته و الگو یا الگوهای مناسب را انتخاب
کند.
|
|
Analysis
of Refactoring Patterns [Farsi]
Refactoring patterns help us to change our code to be more
object-oriented and more maintainable. In this report, I tried to
investigate the characteristics of these patterns in order to propose a
classification for them. Then, their association with GRASP patterns
has been analyzed to know the goal of each pattern better. At last, a
sequence for applying these patterns has been proposed based on the
investigated characteristics and associations
|
Spring 2008 |
تحلیل
الگوهای Refactoring
الگوهای Refactoring الگوهایی هستند که برای بهبود
کد جهت رسیدن به برنامهای هرچه شیءگراتر و قابل نگداری تر استفاده
میشوند. هدف از این گزارش ابتدا دستهبندی الگوهای Refactoring و الگوهای
Reengineering دستههای Redistribute Responsibilities و Transform
Conditionals است. سپس رابطهی الگوهای بررسی شده را با الگوهای GRASP
بررسی میکنیم. هدف از این بخش شناخت بیشتر اهداف و مزایای اجرای هر الگو
است. در آخر نیز ترتیبی پیشنهادی برای اِعمال این الگوها ارائه میگردد.
|
|
A Summary
on GoF Design Patterns and Extending Them by Composition [Farsi] |
Spring 2008 |
مقدّمهای بر الگوهای GoF و بهبود آنها با استفاده از ترکیب
الگوهای راهحلّی برای حلّ یک مسئله تکراری در زمینه
خاص هستند. یکی از معروفترین مجموعههای الگوهای طرّاحی الگوهای GoF
هستند. همچنین این کتاب الگوها را بر حسب حوزه و هدف دستهبندی کرده است.
این الگوها خود مزایا و معایبی دارند، که میتوان معایب آنها را با ترکیب
الگوها با یکدیگر پوشاند. در این گزارش سعی شده است پس از معرّفی مختصر هر
الگو راهحلهای جدیدی برای ترکیب این الگوها ارائه شود. بدین منظور
الگوها در قالبی جدید ارائه توصیف گشتهاند. همچنین دستهبندیهای جدیدی
برای آنها معرّفی شده است.
|
|
Introduction
to Web Service and Web Service Security [Farsi]
Nowadays,
intra-organization and inter-organization interaction between online
applications is increasing. Therefore, it is necessary to establish a
flexible, extendible, and open-source standard for this communication.
Web-Service is a de facto standard for machine-to-machine interaction
over a network. It is based on three technologies, SOAP, WSDL, and
UDDI, which use an XML document as their basis. As in some services, it
is consequential to secure the service. Web Service Security, as a
framework, proposed to preserve the security of a service using other
technologies such as XML cryptography and XML digital signature. This
is necessary to note that this technology does not define any algorithm
to secure a document, but only defines a consistent way to use the
predefined security algorithms. In this report, I studied XML, Web
Service, Web Service Security, and its related protocols and languages
such as SAML, XKMS, and XACML. Moreover, I have gathered the code
samples for using these protocols in this document and implemented a
working sample using AXIS framework in Java.
|
Spring 2008 |
مقدّمه
ای بر وب سرویس و امنیّت آن
در دنیای جدید ارتباطات درون سازمانی و بین سازمانی
بین برنامههای تحت شبکه بسیار افزایش یافته است و در نتیجه نیاز به یک
استاندارد انعطافپذیر، گسترشپذیر، و متن باز در این حوزه حس میشود. وب
سرویس از جمله این استانداردها است. این استاندارد مبتنی بر سه زبان SOAP،
WSDL و UDDI بوده که هر سه با استفاده از ساختار XML توصیف میشوند. در این
بین باید امکان محافظت و برقراری سرویسهای مختلف امنیّتی در مورد وب
سرویسها نیز ممکن گردد. استاندارد امنیّتی وب سرویس، چارچوبی کلّی برای
حفظ امنیّت سرویس ارائه کرده و از استانداردهایی نظیر رمزنگاری XML، و
امضای دیجیتال XML سود میبرد. این استاندارد در کنار مجموعهای از
استانداردهای مرتبط یک بسته کامل جهت ارائه خدمات امنیّتی وب ارائه
میکنند. در این گزارش علاوه بر بررسی XML، Web Service، Web Service
Security، پروتکلهای مرتبطی نظیر XKMS، SAML، و XACML را نیز بررسی کرده
و در نهایت نمونه کدهای لازم جهت استفاده از این پروتکلها را ارائه
خواهیم کرد.
|
|
A
Survey on Application of Defect Tolerance in Computer Nanoarchitectures
[Farsi]
By
continuance of the trend of miniaturizing the computing features,
increasing their density on chips and approaching the nanoscale
dimensions, quantum effects become a rule rather than the exception and
results in various problems. Although some nanodevices created in
limited scales, but despite the high defect ratio of these devices,
providing an effective architecture for nanocomputers is a big
difficult step. One of the most promising solutions is using fault and
defect tolerance techniques in these architectures. Teramac is the
world's first truly defect tolerant computer. It uses processes to
locate and route around defects, and using a software interface, shield
the user from the additional complexity that arises due to defect
tolerance.
In this technical report we first study current technology limitations,
and next propose a list of nanocomputer architecture candidates. As a
promising alternative we discussed on reconfigurable and defect
tolerant systems and their best classical example, The Teramac.
|
Fall 2007 |
کاربرد تکنیک های تحمّل پذیری اشکال و خرابی در
معماری نانوکامپیوترها
با ادامه روند کوچک سازی اجزای محاسباتی و افزایش
تراکم آنها برروی تراشه ها و نزدیک شدن به ابعاد نانو، پدیده های کوانتومی
تأثیر خود را بیشتر نشان داده و باعث بروز مشکلات مختلفی می شوند. گرچه
تاکنون ابزارهای نانویی در حدّ محدودی ساخته شده اند ولی با وجود مسائلی
نظیر نرخ خرابی بالای این ابزارها ارائه یک معماری کارا برای
نانوکامپیوترها گامی بزرگ و بسیار مشکل خواهد بود. از جمله امیدوار کننده
ترین راه حل های ممکن استفاده از تکنیک های تحمّل پذیری خرابی و اشکال در
این گونه معماری ها است. تراماک اوّلین کامپیوتر تحمّل پذیر خرابی است که
به شکلی کارا و قابل استفاده آسان ساخته شده است. این کامپیوتر از
فرآیندهایی برای مکان یابی خرابی ها و دور زدن آنها استفاده می کند و
کاربران را با استفاده از یک واسط نرم افزاری مناسب از نحوه مقابله اش با
خرابی ها منتزع می کند
|
|
Design
and implementation of mobility model simulator and mobility analyzer
software for mobile ad-hoc networks [Farsi]
A
Mobile Ad hoc Network (MANET) is a collection of wireless mobile nodes
forming a self-configuring network without using any existing
infrastructure. Since MANETs are not currently deployed on a large
scale, research in this area is mostly simulation based. Among other
simulation parameters, the mobility model plays a very important role
in determining the protocol performance in MANET. Thus, it is essential
to study and analyze various mobility models and their effect on MANET
protocols. In this project we introduce a new framework for simulation
of mobility models in mobile Ad-Hoc networks. This simulator can
generate mobility traces in various mobility models. The mobility
traces can be customized for different network simulators using XML and
text output formats. User friendly graphical interface and batch
processing ability makes our simulator one of the most efficient and
useful mobility simulators in this field of research. We also propose
some new features and parameters in mobility models to make the
behavior of our simulator supported mobility models more similar to
real world mobile node motions and fix some problems in last proposed
methods to generate mobility models.
On the other hand, if we can recognize the mobility pattern of motion
of mobile nodes in our environment we can customize our network
protocols to deal with that existing mobility model. We introduce a new
method for classification and pattern recognition of mobility traces
into mobility models in mobile Ad-hoc networks. This method uses a
simple learning based classification method to recognize the existing
mobility model in raw mobility traces which was collected from real
motion of mobile Ad-hoc nodes or mobility traces generated by mobility
simulators. Our simulation results prove ability of our proposed method
to accurately classify given unknown mobility traces into various
mobility models.
|
Spring 2007 |
طراحی و پیاده سازی شبیه ساز مدل های حرکتی و نرم
افزار تحلیل حرکت در شبکه های موردی سیار
شبکه موردی سیّار مجموعه ای از گره های متحرّک سیّار
است که بدون بهره گیری از زیرساختی از پیش آماده شبکه ای خود تنظیم را
برپا می کنند. از آنجاییکه شبکه های موردی سیّار هم اکنون در مقیاس وسیعی
پیاده سازی نشده اند، تحقیقات در این زمینه بیشتر مبتنی بر شبیه سازی است.
در بین پارامترهای مختلف شبیه سازی، مدل حرکتی نقش مهمی در بررسی بهره وری
پروتکل در این شبکه ها بازی می کند. بنابراین نیاز به مطالعه و تحلیل مدل
های حرکتی مختلف و تأثیر آنها روی پروتکل های این شبکه ها داریم. در این
پروژه چارچوبی جدید جهت شبیه سازی مدل های حرکتی در شبکه های موردی سیّار
ارائه کرده ایم. به شکلی که ردّپاهای حرکتی به شکل متن یا XML قابل تولید
برای شبیه سازهای مختلف شبکه بوده و با واسط کاربری مناسب و پردازش دسته
ایِ سناریوهای شبیه سازی بتواند بستری برای گام های بعدی تحقیق در این
زمینه باشد. همچنین جهت واقعی تر شدن و اصلاح بعضی مدل ها، ویژگی ها و
پارامترهای جدیدی در بعضی از آنها اضافه شده است.
از طرف دیگر اگر بتوانیم مدل حرکتی گره های یک شبکه موردی سیّار را نیز
تشخیص دهیم می توانیم پروتکل های شبکه را بسته به مدل حرکتی انتخاب کرده
یا تغییر دهیم. لذا در این پروژه روشی جدید جهت دسته بندی و تشخیص الگوی
ردّپاها در مدل های حرکتی شبکه های موردی ارائه می کنیم. این روش از یک
الگوریتم ساده یادگیری مبتنی بر دسته بندی جهت تشخیص مدل های حرکتی موجود
در یک فایل ردّپای خام که در دنیای واقعی یا شبیه ساز مذکور تولید شده
استفاده می کند. شبیه سازی های انجام شده توانایی روش پیشنهادی در دسته
بندی دقیق ردّپاهای حرکتی در مدل های حرکتی مختلف را نشان می دهد
|
|
Application of Adobe Flash in Presentation Layer of Web Applications [Farsi] |
Spring 2007 |
کاربرد فلش
در لایه نمایش برنامه های وبی
تاکنون تولید کنندگان برنامه های وب از قدرت فلش
برای ساخت انیمیشن های پیچیده یا بارگذاری سریع فیلم ها استفاده می کردند،
امّا نسخه های اخیر فلش به تولیدکنندگان قابلیت های بیشتری می دهد. آنها
با استفاده از فلش، می توانند برنامه های وب را با قدرت و مزایای بیشتری
نسبت به برنامه های کاربر-کارگزار معمول بسازند.
در این مقاله سعی شده است با معرّفی قابلیت های این فناوری به طور کل،
توانایی های خاص آن در کنار دیگر نرم افزارهای جانبی در لایه نمایش برنامه
های وب توصیف گردند. و در پایان خلاصه ای از توانایی ها، و نقاط ضعف آن
ارائه گردد.
|
|
Database
Designning Using UML2 [Farsi] |
Fall 2006 |
طراحی
پایگاه داده با استفاده از UML2
استفاده از زبان عمومی مدلسازی موجب ایجاد یک زبان
مشترک میان گروه های مختلف تولید نرم افزار شده و در نتیجه گروه های مختلف
می توانند از آغاز تولید سیستم همراه با تعریف مسئله با دیگر تیم ها همراه
بوده و هماهنگی بیشتری با دیگر گروه های درگیر در فرآیند تولید داشته
باشند.
همچنین این زبان با ارائه مدل های مختلفی از سیستم که هرکدام از دیدی خاص
به سیستم می نگرند، دیدی فراگیر و کامل را در اختیار طراحان پایگاه داده
می گذارد تا قادر به طراحی بهتر از لحاظ درک بهتر نیازمندی ها، هماهنگی با
دیگر تیم ها در طراحی و پیاده سازی و انتقال بهینه پایگاه داده باشند. این
قابلیت ها همه درکنار هم قابلیت نگهداری سیستم و تغییر آن را نیز بهبود می
بخشند.
|
|
Analyzing Orbitz Site [Farsi] |
Spring 2006 |
تحلیل و
بررسی مدل های کاری در سایت Orbitz
با به وجود آمدن فناوري Online Reservtion، قدرت
ميان آژانس هاي هوائي سنتي و خطوط هوائي به تعادل رسيد و آژانس هاي
مسافرتي Online پا به عرصه صنعت هوائي نهادند. با حضور آژانس هاي مسافرتي
Online، چه مشتريان شخصي و چه مشتريان گروهي، به سبب سهولت در دستيابي به
اطلاعات، قدرت بيشتري پيدا کرده اند. يکي از اين شرکت هاي مسافرتي Online،
Orbitz مي باشد. در سال ٢۰۰۰، Orbitz با ٥ خط هوائي شروع به کار نمود و در
سال ٢۰۰١، Orbitz.com متولد شد. اين شرکت با ٤٥٥ خط هوائي، ١۰ ها هزار
اتاق براي اجاره در نقاط مختلف و ٢٢ شرکت کرايه ماشين ارتباط دارد که با
استفاده از بسته هاي مخصوص، امکان استفاده ساده آنها را براي مشتريانش
فراهم کرده است. خدماتي که Orbitz در اختيار کاربران خود ارائه مي دهد
عبارتند از: خريد بليط هواپيما و کشتي، رزرو هتل، اجاره ي ماشين، و خدمات
خاص پشتيباني از مشتريان. بهره گيري از امکاناتي مانند موتور جستجوي منحصر
به فرد، تکنولوژي SuprLink، استفاده از کامپيوترهاي سرور به جاي Mainframe
ها و پردازش توزيع شده باعث شده است تا Orbitz گوي سبقت را از رقيبان خود
ربوده و برترين سايت مسافرتي Online باشد. در این گزارش به تفصيل به بيان
خدمات Orbitz، رقباي آن، مشکلات قانوني که در کار با آنها مواجه است، مدل
کاري Orbitz.com و تحليل SWOT مي پردازيم.
|
|
E-content, E-University and Educational
Portals [Farsi] |
Fall 2005 |
محتوای
الکترونیکی، دانشگاه الکترونیکی و پرتال های آموزشی |
|
Lecture
Review on IT Master Plan [Farsi] |
Spring 2005 |
مروری بر ساختار برنامه راهبردی فناوری اطلاعات و
نحوه تولید آن
امروزه با گسترش نفوذ فناوري اطلاعات در سازمان ها
وجود آن در سازمان مزيت رقابتي محسوب نمي شود، بلکه مهم آنست که چگونه اين
فناوري در سازمان به کارگرفته شود و تا چه حد موجب انطباق جريان اطلاعات
بر روي جريان کار در سازمان شده باشد. يکي از ابزار اين کار برنامه ريزي
راهبردي است که در اين مقاله سعي شده جنبه هايي از آن توضيح داده
شود.برنامه ريزي راهبردي شامل سه بخش اساسي تحليل وضعيت موجود، تدوين وضع
مطلوب و برنامه گذار براي رسيدن از وضع موجود به وضع مطلوب است. در تهيه
آن بر روي افق ها، و ماموريت هاي سازمان تاکيد مي شود، چنانکه هدف نهايي
برنامه راهبردي ياري رساندن به سازمان در تحقق اين ماموريت ها و نزديک شدن
به آن افق نهايي است
|
|
Application of XML in E-Business
[Farsi] |
Spring 2005 |
کاربرد XML
در کسب و کار الکترونیک
XML
يکي از زبان هاي نشانه ايست که مزايايي نسبت به زبان هاي هم رده خود دارد.
و در انتقال اطلاعات در تجارت الکترونيکي از EDI پيشي گرفته است. در شبکه
هاي امروزي استاندارد هاي مختلفي بر پايه اين زبان نوشته شده است که بعضي
عمومي و بعضي ديگر مختص حوزه تجارت الکترونيک هستند.
|