280 likes | 451 Views
מעבדה למערכות מבוזרות. סמסטר אביב, תשס"ט. אדמיניסטרציה. סגל הקורס: פרופ/ח' רועי פרידמן, טאוב 605, roy@cs אלכס קוגן, טאוב 315, sakogan@cs אתר הבית: http://webcourse.cs.technion.ac.il/236371. שלב ראשון: בחירת הפרויקט. 1-2 פרויקטים מועדפים + אנשי צוות - בדוא"ל לאלכס
E N D
מעבדה למערכות מבוזרות סמסטר אביב, תשס"ט
אדמיניסטרציה • סגל הקורס: • פרופ/ח' רועי פרידמן, טאוב 605, roy@cs • אלכס קוגן, טאוב 315, sakogan@cs • אתר הבית: http://webcourse.cs.technion.ac.il/236371
שלב ראשון: בחירת הפרויקט • 1-2 פרויקטים מועדפים + אנשי צוות - בדוא"ל לאלכס • תאריך יעד: שבוע מתחילת סמסטר • שיבוץ צוותים לפרויקטים לפי עדיפויות • על בסיס מקום פנוי
שלב שני: Functional Specification • כתיבת מסמך functional specification לפרויקט • איך הבנתם את דרישות הפרויקט? • אילו כלים דרושים למימושו? • על אילו פלטפורמות הוא יעבוד (התקן, מ"ה וכו')? • אורך המסמך - עמוד אחד • תאריך יעד: שבועיים מתחילת סמסטר
שלב שלישי: מסמך ארכיטקטורה • רשימת מודולים ויחסי גומלין ביניהם. לכל מודול: • האם מפותח מ-scratch או מבוסס על מימוש קיים? • מה הפונקציונאליות שלו? • על איזו פלטפורמה ירוץ? • תיאור Use-Case-ים נפוצים • תאור UI (אם קיים) • אורך המסמך -2 עמודים • תאריך יעד: 3 שבועות אחרי סיום שלב שני
שלב רביעי:קדם מצגת • הצגת גרסת alpha של המערכת • הדגמת יכולות בסיסיות • ללא טיפול במקרי קצה • המטרה: לקבל משוב לפני הגשה סופית • תאריך יעד: 3 שבועות לפני סוף סמסטר
שלב חמישי: הגשה סופית • הדגמת פרוייקט • מצגת קצרה • מדריך משתמש (Word / HTML) • מסמך ארכיטקטורה (Word / HTML) • מתוקן לפי המימוש הסופי • כל קוד הפרויקט (כולל כלים קיימים) • תאריך יעד: סוף סמסטר • נשתדל להיות גמישים ... מסודר בתוך אתר
דרישות כלליות • קוד קריא, מתועד היטב ... • שפת תכנות - לפי בחירת הצוות • מלבד פרויקטים בהם נדרש פיתוח בשפה מסוימת • דגש על מימוש power-aware • ניתוח מספר הודעות נשלחות • הימנעות מחישובים מיותרים • תצוגה מותאמת לסוג מכשיר • לא מצופה GUI מתוחכם, אך חשוב שיהיה נוח
מה אם נתקענו? • סגל הקורס זמין לשאלות לאורך כל הסמסטר • אתם מוזמנים להגיע ולדון בכל פרט הקשור לתכנון ומימוש הפרויקט • אל תחכו לרגע אחרון!!
1# : אפליקצית P2P ל-video streaming • פיתוח אפליקצית P2P להזרמת וידאו (streaming) בין מחשבים ניידים ברשת אלחוטית • כל מחשב יוכל להזרים ערוץ וידאו ו/או לקבל ערוצים המשודרים על ידי מחשבים אחרים • דוגמה לשימוש: מרצה בכיתה מציג סרטון לסטודנטים על גבי המחשבים שלהם • לצורך המימוש, נשתמש בשתי טכנולוגיות הבאות: • Bonjour - מימוש פשוט של מנגנון לגילוי שירותים (service discovery) של התקנים המחוברים לרשת • ספריית open source לעבודה עם וידאוVideoLan) )
1# : אפליקצית P2P ל-video streaming • צוות – עד 3 סטודנטים • מכשיר Asus לכל חברי צוות למשך כל הסמסטר • מיומנויות נרכשות: • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות • פיתוח תוכנה peer-to-peer שימושית • עבודה עם ספריית וידאו
2# : אפליקציתP2P להעברת קול • תוכנה פשוטה לביצוע שיחות voice בין אנשים עם מחשבים המחוברים ברשת אלחוטית (דוגמת Skype) • שימוש בשתי טכנולוגיות מתקדמות Bonjour ו-XMPP • Bonjour- מימוש פשוט של מנגנון לגילוי שירותים (service discovery) של התקנים המחוברים לרשת • XMPP (Extensible Messaging and Presence Protocol) - טכנולוגית client-server לניהול נוכחות ותקשורת בזמן אמת • סטנדרט פתוח, עם מספר מימושים עבור צד של שרת ועבור צד של לקוח • המפורסם שבהם - GoogleTalk • שימוש במימוש קיים של תוכנה המשתמשת ב-XMPP ו-Bonjourוהוספת יכולת לביצוע voice chat
2# : אפליקציתP2P להעברת קול • צוות – עד 3 סטודנטים • מכשיר Asus לכל חברי צוות למשך כל הסמסטר • מיומנויות נרכשות: • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות • פיתוח תוכנה peer-to-peer שימושית
3# : משחק P2P • פיתוח משחק P2P מרובה משתתפים ברשת אלחוטית • שימוש בטכנולוגיית Bonjour • מימוש פשוט של מנגנון לגילוי שירותים (service discovery) של התקנים המחוברים לרשת • הצוות יוכל לבחור את המשחק כרצונו • יש להיות מקוריים!
3# : משחק P2P • צוות – עד 3 סטודנטים • מכשיר Asus לכל חברי צוות למשך כל הסמסטר • מיומנויות נרכשות: • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות • פיתוח תוכנה peer-to-peer שימושית
4# : Wireless-to-Wired proxy • תכנון ומימוש מערכת לשיתוף חיבור אינטרנט קווי בין מחשבים ניידים עם כרטיס WiFi • המערכת הבסיסית המורכבת משני חלקים: • צד של שרת אשר ירוץ על מחשב אישיעם חיבור קווי לאינטרנט וישמש כ-proxyעבור מחשבים ניידים לצורך גישה לאינטרנט • צד של לקוח אשר ירוץ על מחשב נייד בעל כרטיס WiFi ויאפשר חיבור לשרת ה-proxy • המערכת תחליף את הצורך בנתב אלחוטי בכרטיס אלחוטי
4# : Wireless-to-Wired proxy • צוות – 2-4 סטודנטים • בהתאם למספר הסטודנטים בקבוצה, נבחר לממש גם: • תמיכה בחיבור multi-hop • חיבור ממחשב נייד לשרת שעובר דרך מספר מחשבים ניידים • תמיכה בתזוזה של מחשבים ניידים • ניתוב חבילות דרך מסלולים חלופיים • מכשיר Asus לכל חברי צוות למשך כל הסמסטר • מיומנויות נרכשות: • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות • פיתוח תוכנה peer-to-peer שימושית • מימוש אלגוריתם ניתוב ברשת ניידת
5# :Stocks Ticker • פיתוח תוכנה ל-Android למעקב בזמן אמת אחר רשימה של ניירות ערך שהמשתמש הגדיר • בעזרת חיבור אינטרנט לאתר פיננסי • התוכנה תרוץ ברקע ותתריע למשתמש על • שינויים קיצוניים במחיר נייר ערך • פרסום חדשות הקשורות לנייר
5# :Stocks Ticker • צוות - 2-3 סטודנטים • מיומנויות נרכשות: • פיתוח תוכנה לפלטפורמה ניידת עתידית • עבודה עם אמולטור מתקדם • הכרות תכנות GUI ב-Java
6# : יצירת ערוץ מאובטח עם XMPP • שימוש בפרוטוקול XMPP ליצירת ערוץ מאובטח בין שני מכשירי Android • בעזרת ערוץ זה, נייצר shell מרוחק - אפליקציה שבעזרתה נוכל להריץ פקודות על מכשיר מרוחק ולקבל תוצאות על מכשיר מקומי
6# : יצירת ערוץ מאובטח עם XMPP • צוות - 2 סטודנטים • מיומנויות נרכשות: • פיתוח תוכנה לפלטפורמה ניידת עתידית • עבודה עם אמולטור מתקדם • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות
7# : ערוץ "חודר Firewall" עם XMPP • בארגונים רבים, מדיניות אבטחה מונעת תוכנות רבות מלהתחבר לאינטרנט • לעתים, שימוש בפרוטוקול XMPP כן אפשרי • GoogleTalk עובד ... • ננסה להראות כי בעזרת XMPP ושימוש במחשב Proxy (שיכול להיות ממוקם בבית), ניתן להפעיל תוכנות "אסורות" בארגון • נעשה זאת ע"י יצירת tunnel בין שני מחשבים
7# : ערוץ "חודר Firewall" עם XMPP • צוות - 2 סטודנטים • מיומנויות נרכשות: • הכרת טכנולוגיות חדשות בעולם מערכות מבוזרות • ישום עקרונות ומושגים הנלמדים בקורס מערכות הפעלה, תקשורת נתונים ותכנות מקבילי ומבוזר
פרויקטים מחקריים • השנה מוצעים מספר פרויקטים מחקריים בעלי אופי תאורטי • אך משלבים לא מעט פיתוח! • השתתפות באחד הפרויקטים האלה עשויה לשמש נקודת התחלה מצוינת למחקר בתחום מערכות מבוזרות • על כן, מומלצת במיוחד לסטודנטים בשלבי סיום של לתואר ראשון או לסטודנטים מוסמכים • בונוס נוסף הוא האפשרות לפרסום תוצאות הפרויקט באחד הכנסים המובילים בתחום מערכות מבוזרות • לפרטים, נא לפנות לצוות הקורס