ARD presentation Application for Clients in a Mobile-IP Environment Rinat, Guy, Oz and Vitaly

Preview:

Citation preview

ARD presentation

Application for Clients in a Mobile-IP Environment

Rinat, Guy, Oz and Vitaly

מוטורולה ישראל מבצעת פרויקט עבור אחד מכוחות •הביטחון.

כחלק מפרויקט זה, הקבוצה שלנו התבקשה לפתח •אפליקציית מיקום לקוח-שרת.

הלקוחות הניידים שולחים את מיקומיהם, אשר • שמותקן בכל סביבת GPS driverהתקבלו ע"י ה

לקוח, לשרת בחבילות-מיקום.

קצת רקע...

GPS - Global Positioning System

לוויינים בגובה 28 מבוססת על GPSמערכת ה-• ק"מ ששוגרו בידי משרד ההגנה 20,200

האמריקני, המתפעל את המערכת.

הלוויינים משדרים אות זמן בלבד, אותו קולט • לוויינים או יותר. על 4המקלט הקרקעי מ-

הקרקע מחושב המרחק בין המקלט והלוויינים, וכך הוא יודע את המיקום שלו בדיוק של עד

כמטרים ספורים.

החבילות מיקום שנשלחות הן חבילות נפרדות משאר •חבילות המידע אשר נשלחות בין הלקוחות לשרת.

בשרת נאסף המידע המיקומי על הלקוחות, וע"י •עיבוד הנתונים ניתן לקבל מידע מגוון כגון: מיקום

הלקוח כפונקציה של זמן, ריכוזי הלקוחות, מסלולם לאורך זמן...

קצת רקע...

המידע שנאסף אינו מוצג כראוי ואינו מעובד.1.אנו נעבד את המידע, נציג אותו על גבי מפה ובצורת

גרפים סטטיסטים המתארים מדדים של כל הלקוחות או של לקוח אחד מסוים.

חבילות המידע מעצם היותן נפרדות משאר 2.החבילות שנשלחות לשרת מהוות תקורה

(Overhead.אשר "מבזבזת" את רוחב הפס ,)אנו נוריד תקורה זאת בכך שנשלח את המידע המיקומי על גבי חבילות מידע היוצאות ממילא

לשרת, ובכך יתפסו מקום מזערי בתעבורה.

הבעיות שאנחנו הולכים לפתור

הארכיטקטורה

Mobile Client (Windows)

GPS

Mobile Client (Windows)

GPS

location data

Communication

locatio

n data

Communicatio

n

Web application

Motorola Server (GNU/Linux)

Locations DB

Location server

Home-Agent

אפליקציה היושבת על שרתים, אשר עליה לקבל •, UDP portהודעות מיקום מלקוחות מרובים דרך

ולהכניס את המידע לשרת חיצוני.

Locations DBloc

ation

data

locatio

n data

loca

tion

data

עליה לטפל בכמה סוגי הודעות: – בה הלקוח מודיע על התחברותו לשרת הודעת התקשרות•

ומוסיפים אותו לרשימת הלקוחות הרשומים.

– בה הלקוח מודיע על ניתוקו מהשרת הודעת התנתקות•ומסירים אותו מרשימת הלקוחות הרשומים.

– בה הלקוח שולח את המיקום ושומרים הודעת מיקום•.databaseמידע זה ב

– שבה מודיע הלקוח על enable/disableהודעת •הפסקת/חידוש שירות המיקום.

database עליה להגביל את מס' רשומות המיקום ב•.overflowע"י מחיקת מיקומים ישנים כדי לא ליצור

Locations DB

,DB ב log שקורה במערכת בerror עליה לתעד כל • כמו למשל לקוח שאינו רשום השולח חבילת מיקום.

Locations DB

לקוחות 10000עליה לעמוד בעומס גדול של כ •ששולחים הודעות מיקום בצורה אסינכרונית מדי דקה.

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

location data

הלקוח הינו חבילת תוכנה היושבת על תחנות עבודה ניידותכללי:ומשדרות חבילות מידע לשרת של המקושרות לרשת אלחוטית

החברה.

location data

location data

הלקוח שולח לשרת שלושה סוגי הודעות שדובר עליהן

התחברות , מיקום והתנתקות. קודם :

הודעת התחברות נשלחת עם הפעלת המערכת של

הלקוח לאחר טעינת קובץ קונפיגורציה ראשוני ומטרתה

לעדכן את השרת על התחברות הלקוח.

לאחר מכן המשתמש רשאי לבחור האם הוא מעוניין

המסופק . LOCATIONלהשתמש בשרות ה-

במידה והמשתמש מעוניין להתחיל להשתמש בשרות,

תוכנת הלקוח שולחת באופן מחזורי )ע"פ החלטת

המשתמש( את מיקומה הגיאוגרפי של התחנה הניידת

אל השרת באמצעות הודעות מיקום:

Location

המשתמש יכול לבקש להפסיק את שרות

, ולהפעילו מחדש כרצונו.LOCATIONה-

עם סגירת תוכנת הלקוח נשלחת הודעת התנתקות אל

השרת.

שליחת הודעות המיקום כפי שתיארנו יוצרת רקע:

( הכרוך ביצירת ערוץ OVER HEADתקורה גבוהה )

תקשורת נוסף.

מכיוון שקיימים ערוצי תקשורת נוספים בין הלקוח

לשרת אשר אינם בתלויים באפליקציית המיקום, נחסוך

יצירת ערוץ תקשורת נוסף ע"י הוספת נתוני המיקום

לחבילות הנשלחות ממילא.

למעשה מה שיתבצע זה כתיבת פרוטוקול תקשורת

בצד הלקוח driverחדש וע"מ לתמוך בו גם והשרת.

Udp/Tcp/Ip packet

Location/ip packet

אל Ipחבילת תקשורת מגיעה משכבת ה- הדרייבר

בצורה אסינכרונית, והדרייבר מעדכן אותה ומשנה

אותה ע"י הוספת נתוני המיקום אל החבילה ועדכון

.headersהולם של ה-

בצד של השרת מתרחשת הפעולה ההפוכה כאשר

שם הדרייבר מוציא את פרטי המיקום ומחזיר את

החבילה למצבה המקורי.

User space

2אפליקציה 1אפליקציה

User space

2אפליקציה 1אפליקציה

TCP/IP STACK

Filter driver

NDIS

TCP/IP STACK

Filter driver

NDIS

packet

New packet

New packet

packet

packet

New packet

packet

תוכנת הלקוח תספק למשתמש ממשק גרפי שדרכו UDPיתאפשר עדכון הגדרות של אפליקציה )מס'

port-או כתובת היעד( וכן ניהול התנהגות ה driver )ביטול פעילותו, שינוי זמני שליחה וכד'(

האפליקציה תרוץ על דפדפן אינטרנט ותאפשר •למשתמש לקבל ראיה רחבה על הלקוחות ברשת

אלחוטית. לשם כך היא תשתמש במידע המאוחסן Motorolaבמסד הנתונים על שרת

המערכת תורכב ממספר מודולים פונקציונאליים•

המסכים שיוצגו:מסך עם מידע כללי על כל הלקוחות.•עבור כל לקוח יוצג:

שם–IPכתובת –מיקום –סטאטוס–

מסך עם מידע מפורט על לקוח מסוים:• שם–IP כתובת – מיקום בקורדינאטות ומיקום גיאוגרפי– סטאטוס– זמן שידור אחרון וזמן שידור מצופה הבא– שעות פעילות –המסלול שעבר–

המערכת תאפשר למשתמש לבחור זמן שעבר עבור הצגת המסלול.

מסך בו מוצגת מפת •ישראל ועליה נקודות

שמייצגות את הלקוחות. על יד כל נקודה יצוין

שם הלקוח. מיקום הנקודות על המפה הוא בהתאם למיקום הפיסי

של הלקוחות. המשתמש יוכל לעשות

"in/out zoom ולזוז על "המפה בכל כיוון אפשרי.

מסך סטטיסטיקות ובו המידע הבא:• מספר הלקוחות המחוברים– מס' הלקוחות הרשומים במאגר המידע– ממוצע של מספר ההודעות שהתקבלו בשרת –

בדקה שעות עומס ו"בטלה" על השרת מבחינת קבלת –

הודעות אזורים מחוסרי קליטה.–

מסך עבור אדמיניסטראטור המאפשר לו לבצע •פעולות שונות:

לבחור את האזור הפיסי של המפות )במקרה –שלנו ישראל(

לבחור את קצב "התרעננות" המסכים – לבצע פעולות אדמיניסטרטיביות הנוגעות למסד –

הנתונים.

דרישות לא פונקציונאליות:JBoss יהיה מסוג Web Serverה- – JSP\Javaהאפליקציה תכתב בשפת –

ותרוץ על כל דפדפן J2EEבטכנולוגיית .Javaשתומך ב-

Location ServerLocation Client

Web Application

•Location Serverהשרת אמור לעמוד בעומסים גבוהים ולעבוד בזמן אמת––Driver בצד השרת אמור להיכתב בשכבת kernel של

Linux כאשר כתיבה לגרעין משולה להכנסת יד לתוך בטן הדרקון

•Location ClientWinDDK במסגרת Driverוכן בצד הלקוח נדרשת כתיבת–

•Web application והיא אינה ידוע לנוJ2EEהטכנולוגיה שנשתמש בה היא –אופן מימוש מודול המפות גם הוא אינו מוכר–

קיים שתומך במנגנוני toolkitקיימת עבורנו הזדמנות לרכישת •המפות, אך נצטרך לעמוד במגבלות תקציב

Recommended