Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten Stephan Rupp Nachrichtentechnik www.dhbw-stuttgart.de.

Ähnliche Präsentationen


Präsentation zum Thema: "Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten Stephan Rupp Nachrichtentechnik www.dhbw-stuttgart.de."—  Präsentation transkript:

1 Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten
Stephan Rupp Nachrichtentechnik

2 Inhalt Anwendungen auf mobilen Geräten Intra-Prozess Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

3 Austausch von Nachrichten
Kommunikation Austausch von Nachrichten Anfrage Sender Empfänger System B System A Antwort Kommunikation durch Austausch von Nachrichten Zur Interpretation der Nachrichten: Kontext?

4 Kommunikation im System
Client-Thread Server-Thread Inter-Thread read/write Was ist der Kontext der Kommunikation? Anfrage Antwort Server Client Interface Benutzer Privilegien Nachricht Kernel Privilegien Kernel Executive Routine Kernel Beispiel: Symbian Service Framework

5 Beispiel: Aufruf von Server-Funktionen
Client Server x = f1(a,b,c) f1 a b c Anfrage Service (Message) Message.Complete (x) x Antwort Kontext: Nachrichtentyp für Funktionsaufrufe mit Datentypen der Übergabevariablen und des Rückgabewertes

6 Client und Server Klassen
Message Function() Complete() Read() Write() Server SessionBase CreateSession() SendReceive() Session Service() 1..n Kontext: Ist durch die Programmierumgebung festgelegt (Framework API) Legende: Kernel „hat“

7 Kommunikation zwischen Systemen
Client, User Agent Server, User Agent Systeme enthalten Software für verteilte Anwendungen wie z.B. Clients, Server bzw. User Agents. System A System B

8 Kommunikation und Kontext
Kommunikation innerhalb des Systems: Der Kontext ist festgelegt durch die Programmierumgebung. Kontext: Nachrichten mit Datentypen für die Übergabevariablen und Rückgabewerte, sowie weitere Abstraktionen (Klassen) für die Kommunikation mit Server-Bibliotheken. Kommunikation über Systemgrenzen hinaus: Eine Festlegung des Kontextes ist erforderlich, damit die Systeme sich verstehen, und kann z.B. durch eine Protokollspezifikation erfolgen. Außerdem ist die Lokalisierung der Serverschnittstelle über das Netz erforderlich, genauer eine Referenz auf das Server-Objekt. Beispiele: URL, IP-Socket (IP Adresse plus Port Nummer), Verbindung aus J2ME.

9 Abstraktion einer Verbindung
Beispiel: Java Generic Connection Framework (J2ME CLCD) Connection StreamConnectionNotifier InputConnection StreamConnection OutputConnection ContentConnection DatagramConnection 6. Semester, Nachrichtentechnik, 2012

10 Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

11 Anatomie eines Benutzer-Agenten
Angebot Angebot: • User Agent (UA) • UA Gruppe • Module • Inhalte • Endpunkte Inhalte Module: • Dienste • Anwendungen UA_ID Endpunkte der Kommunikation User Agent lokale Information über andere User Agents Für Vermittler: lokale Information über die Angebote anderer User Agents

12 Interaktionen und Beziehungen
Angebot beim Vermittlungsagenten publizieren (erlischt mit der Zeit, wenn nicht erneuert) Ang. Neues Angebot lokal ankündigen Local User Agent Beziehungen (Kenntnis der anderen, erlischt mit der Zeit, wenn nicht erneuert) Ang. lokales Angebot löschen

13 Kontakt aufnehmen Ang. 1. Angebot über Kommunikations- schnittstelle publizieren 2. Schnittstelle finden und Endpunkt anbinden out lokaler User Agent in entfernter User Agent 3. Nachrichten über die Verbindung austauschen

14 Angebot und Nachfrage im Netz
Organisation durch Verzeichnisdienste Werkzeuge und Methoden User Agent Web-Service Semantik-Verarbeitung Semantische Modelle (Was?) Meta- Information (Wo?) Betriebsmittel (CPU, Speicher)

15 Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

16 Bluetooth Service Discovery
Service Discovery Protokoll (SDP) Ang. UUID UUID UUID UUID Service Discovery Anwendung Client Anwendung Server Anwendung Service Record SDP Anfrage SDP: Service Discovery Protocol UUID: Universally Uniform Identifier (als Dienstattribut genutzt) SDP Client SDP Server SDP Antwort

17 Bluetooth Dienstverzeichniss
Service Record (Liste der Dienstattribute) ServiceRecordHandle ServiceClassIDList ServiceRecordState ServiceID ProtocolDescriptionList BrowseGroupList LanguageBasedAttributeIDList ServiceInfoTimeToLive ServiceAvailability BluetoothProfileDescriptorList DocumentationURL ClientExecutionURL IconURL ServiceName ServiceDescription ProviderName ID Value ... ... ... z.B. Wert = oder Wert = Liste von UUIDs UUID Dienstattribute sind als Wertepaare (ID, Wert) durch UUIDs (Wert) gekennzeichnet

18 Bluetooth Geräteprofile
Standardisierung der Dienste

19 Kanalsprungverfahren (Frequency Hopping)
Bluetooth Frequenzen Kanalsprungverfahren (Frequency Hopping) Quelle: Harald Orlamünder

20 Netzkonfigurationen Master organisiert die Sequenz der Kanäle (Hopping-Sequence)

21 Zeitliche Nutzung der Kanäle
Im Detail unterschiedliche Paketlängen Quelle: Harald Orlamünder

22 Bluetooth IP Stack Quelle: Harald Orlamünder

23 Bluetooth Paketformate
Quelle: Harald Orlamünder

24 Systemzustände Quelle: Harald Orlamünder

25 Internet Zugang per Bluetooth
Network Access Point Internet Zugang per Bluetooth Quelle: Harald Orlamünder

26 Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung Abstraktionen für Verbindungen Daten relational und objektorientiert Vorgehensweise mit UML

27 Beispiel: Socket Server API
RSocketServ <<active>> CSocketEngine RHostResolver RSocket CSocketWriter CSocketReader CSocketsAppView MTimeoutNotifier MEngineNotifier MUINotifier Beispiel: Symbian Service Framework

28 Socket Verbindung aufbauen
:CSocketEngine :CTimeOutTimer :CSocketReader :RSocket ENotConnected :Framework 1. ConnectL(TUint32 aAddr) 2. Open() 3. Connect() 4. ChangeStatus() EConnecting 5. After() 6. SetActive() 7. RunL() 8. Cancel() 9. ChangeStatus() EConnected 10. Read() 11. Start()

29 Beispiel: Bluetooth Message Server
Realisierung über Sockets RSocketServ RSocket CMessageServerAdvertiser RBTMan CBTPointToPointAppUI RBTSecuritySettings TBTServiceSecurity RSdp RSdpDatabase CMessageServer

30 Bluetooth Verbindung aufsetzen
:CBTPointToPointAppUI :CMessageServiceAdvertiser :CListeningSocket :Framework EWaitingForConnect 1. HandleCommandL() :CMessageServer :CAcceptedSocket 2. StartL() 3. StartAdvertising() 4. Open() 5. RunL() EWaitingForMessage 6. RequestData() 7. RecvOneOrMore() 8. RunL() 9. RequestData() 10. RecvOneOrMore() User starts Receiver Sender requests a connection Receiver is receiving a message Configure settings for entries in the service data records

31 Dienstverzeichnis (Service Record)
Zur Verbindung Service Record (Bluetooth Punkt-zu-Punkt Verbindung) ServiceClassIDList ProtocolDescriptionList ServiceName ServiceDescription Service Availability Serial Port Services Class UUID L2CAP UUID RFCOMM UUID Channel Number “Serial Port” “Simple P-T-P Data Tranfer” True

32 Nachrichten Server Messaging Framework Data Format of Messages
UI Data MTM Application UI User Interface MTM Client Side MTM Message Server Server Side MTM Transport of Messages Session

33 Speichern von Nachrichten
Index Liste Index Body Anlagen Nachricht Attachment Flag Complete Flag Connected Flag Deleted Flag Description Details: sender/receiver name of attachment name of folder name of service Identifier within Index MTM associated New Flag (new Msg.) Owner Flag (is parent) Parent ID of index entry Priority Read Flag (Msg. read) Related folder Sending State Service (Transport Service) Size Standard Folder Flag Time Type ID Visibility Flag

34 Datenhaltung Relationale oder objektorientierte Darstellung sind
transformierbar Anwendung DBMS RDBMS ODBMS Objekte persistente Relationen Object Transfer Transformation DBMS: Datenbank Management System RDBMS: Relationales DBMS ODBMS: Objekzorientiertes DBMS .

35 Mobiltelefon als Fernbedienung
Beispielanwendung Mobiltelefon als Fernbedienung IP-Netz PPV System Select movie Mobiltelefon Pay movie Broadcast Netz Play movie TV & Set-Top-Box PPV: Pay per View

36 Anwendungsfälle und Komponenten
PPV-Control Media Control Centre Select movie <<include>> Authenticate user Pay movie User <<include>> Update user account Play movie <<actor>> Media-Gateway <<actor>> AAA-Server

37 Aktivitäten User Media Control Centre Log in check user identity
User object: identity and privileges Log in check user identity [user log in not successful] Movie object in selected state [user log in successful] Generate selection of movies Selection Select movie Pay movie Prepare for play out User object: entry in user account Start Media- Controller User object: media channel Select media format Start media player

38 Benutzerschnittstelle
<<control>> C_Channel <<boundary>> B_Channel title 1 B_Text C_Channel(c:Channel) C_Channel() start() close() B_Channel(c:Channel) check() start() play 1 B_Radio_Button stop B_Radio_Button mute B_Radio_Button ... <<instantiate>> <<instantiate>> process administers 1 <<control>> MediaControlCenter <<entity>> Channel 1 Status Channel() store() delete() ...

39 Rechnerkommunikation und Vernetzung
ENDE Teil 6 – Anwendungen auf mobilen Geräten


Herunterladen ppt "Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten Stephan Rupp Nachrichtentechnik www.dhbw-stuttgart.de."

Ähnliche Präsentationen


Google-Anzeigen