1 Prepared by Konstantin Sinyuk LIS Distributed System Directed by Eli Shoshan Assistants: Oren...

22
1 Prepared by Konstantin Sinyuk LIS Distributed System Directed by Eli Shoshan Assistants: Oren Haggai Alex Birman
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    1

Transcript of 1 Prepared by Konstantin Sinyuk LIS Distributed System Directed by Eli Shoshan Assistants: Oren...

1

Prepared by Konstantin Sinyuk

LIS Distributed System

Directed by Eli Shoshan

Assistants: Oren Haggai

Alex Birman

2

What is LIS?

The Local Information System (LIS) will serve the Meyer Building, and provide information about the building and about EE department.

The system (actually the LAN Access Point) will be located at the main entrance to the building (3rd floor), aimed at people who enter the building, carrying handheld computer (based onCE embedded system) equipped with a Bluetooth link and appropriate software interface to contact the LIS (somewhere on the LAN).

3

System Block Diagram

Client 1

Client 1

Client 7

..

LAN Access Point (LAP)

Bluetooth Network

Administration

LIS ServerLIS Server

Database

LAN

4

System User Friendly Block Diagram

5

What is Bluetooth?

Bluetooth is a technology specification. Describes how various electronic products such as mobile phones,

computers, and personal digital assistants (PDAs) can interconnect with each other using a short-range wireless connection.

The wireless connection is established using a low-power radio link among the devices.

The primary benefit of this technology is the elimination of proprietary cables which are currently required to connect devices for information synchronization.

Examples: LAN connectionLAN connection, email downloading, Automatic house.

6

PiconetPiconet

A “mini-network” using radio freq’ (no cables)

Consist out of:• One master unit.• One to seven slaves units.

Slaves communicate only with the master unit.

Small coverage due to low powered high freq’ (2.45 GHz).

Using 1Mhz freq’-hop/time-division-duplex (each time slot 625s)

7

Bluetooth Layer Model

RF-Socket

8

RF-Socket Interface

RF-Socket interface provides the following methods: void SetVendor (enum vendor new_vendor) void SetVendor (enum vendor new_vendor) BOOL DeviceInit () BOOL DeviceShut () BOOL ClientAccept (BYTE* server_bd, DWORD timeout) BOOL ServerContact (DWORD timeout) BOOL ServerSearch () BOOL Disconnect (WORD handle) BOOL SendData (WORD handle, BYTE* buffer, WORD size, DWORD

timeout) BOOL ReceiveData (WORD handle, BYTE **buffer, WORD *size,

DWORD timeout)

9

Client/Server Socket Model

Application

Terminology:

IP Port

Socket

Threads

Client/Server Model:

Clientn2

Client1Server

Socket

Socket

Socket

Socket Ser

verS

ocke

t

10

Java Extension of RF-Socket

The main goal is to build the same client/server socket model for Bluetooth network.

RFSocket/RFServerSocket objects are analog of Socket/ServerSocket objects for Bluetooth network.

HCIImplementation object defines common functionality for RF-Socket methods.

The JNI(Java Native Interface) was used to wrap the RF-Socket interface. Win32SerialHCIImplementation object uses JNI to implement RF-Socket methods.

11

RFSocket Object

12

LAN Access Point(LAP)

LAP Application is server in Bluetooth network and client in LAN(The RFSocket/RFServerSocket objects implement Bluetooth connection and the Socket object LAN connection).

The LAP goal is to copy incoming packets from one network to another.

The LAP GUI

13

LIS Embedded Client(LEC)

The rfBrowser is simple GUI application for CE.

The client function is to display the incoming messages from LIS server and get client’s input according to message directions.

No input validation is performed on client.

The client can request previous screen and the main screen.

14

LIS Server Block Diagram

The Socket/ServerSocket mechanism is used to transmit data between client and server.

The server supports two types of clients: LIS Embedded Client and LIS Remote Control.

The main algorithm is implemented in Session object

The server uses wrappers to access to database structures .

15

LIS Server Wrappers

SRPeopleWrapper and SRCoursesWrapper objects are used to access database table People and Courses.

The SQL language request are sent via JDB:ODBC Bridge to database.

SRMailWrapper accessed the mailbox directory ,where for each person stored mbx file.

The mbx files contain the messages that was sent to user.

16

LIS Database Structures

Structure of mbx file

Structure of database

17

SRMenu/SRMenuItem Objects

On SRSession startup the client builds tree of menus that it can transmit to client.

The tree consists of single-nodes and multiple-nodes.

Multiple-node is implemented by SRMenu object.It presents the user the list of sub-menus and starts the selected sub-menu.

Single-node is implemented by SRMenuItem object. It performs the different actions, depending of subclass implementation.

18

LIS Menu Tree

19

LIS Server Application

LIS Server GUI provides some tools for local administration.

The properties panel lets the user to configure the system properties like server port, server language and other.

The LIS Server shutdown wizard is useful tool that allows safely shutdown the server.

The sessions are safely stopped by invoking sessionShutdown() method for each session.

20

LIS Remote Application

The LIS Remote Administration tool designed to remotely control LIS database and mailbox.

The main frame proposes the user to choose administrative category.

For now only “Bulletin board administration” category is available.

LIS Server manages the users.txt file, where all authorized user’s login/password information is stored.

21

Bulletin Board Administration

The “Bulletin board administration” category enables the user to add/delete bulletin topics and view/add/delete messages to the selected category.

The messages are sorted by date in each topic.

The new message can be created by selecting “New Message” category for current topic.

22

The End