21
WebPad Management WebPad Management Protocol Protocol D87526013 林林林 B87506017 林林林

WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Embed Size (px)

Citation preview

Page 1: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

WebPad Management ProtocolWebPad Management Protocol

D87526013 林瑞文B87506017 黃振修

Page 2: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

MotivationMotivation

Homework :-PManagement issues for mobile or

wide-spread devices

Page 3: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Working EnvironmentWorking Environment

Server side:– Central controlling Server on Win32– Monitor all the client directly

Client Side:– A client app running on mobile WebPad– Browser on WebPad must co-operate with the

client app– Browser ask the client app for access/deny list

Page 4: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Design CriteriaDesign Criteria

Feasible for mobile/low-power devices Not depending on other mechanisms Really help for MIS team Easy to implement & maintain Combining existing/popular applications

helping for management

Page 5: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Why Not SNMP?Why Not SNMP?

Not really simple ASN.1 Database (MIB) required Security issues

Page 6: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

For MIS’ Point of ViewFor MIS’ Point of View

Collecting information from thin-client machines

Maintaining consistency and availability among clients

Offering online/real-time communication with users

Page 7: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

DemandsDemands

Status reportShell commandsAccess list for Web BrowserMessage alertOnline update ICA/VNC serverResetSecurity

Page 8: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Protocol DesignProtocol Design

Manager v.s. Agent TCP/UDP: port 6147– Current implementation based on UDP.

Session continuation Packet formats– Readable Text/ Easy debugging

Page 9: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Commands & ResponsesCommands & Responses

Commands format– AGENT <agentid> [command] [paramater...]– MANAGER <managerid> [command]

[paramater...]– keyword FOLLOWING indicates line continuation

Responses format– <reply code> [reply string]– reply code is a 3 digit number, while reply string

contains information for advanced parsing

Page 10: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

NegotiationNegotiation

Registration User login Communication security

– Server force client to UNREG or LOGOUT– Server migration due to failure– Directly give command to client by MIS for special

case ... Timeout policy

– 3 rounds of push & 1 round of polling– re-register while command failed with return code 510

Access list

Page 11: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

AuthenticationAuthentication

Scheme NegotiationCurrently defined scheme– Listed clients– Password– Public Key– SSLv3

Page 12: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Requests 1/2Requests 1/2

Manager Side–ManagerMigration– RefreshAccessList– StatusReportPolling– StatusReportPush– DisplayMessageAlert– AgentReset– HardwareReset

Page 13: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Requests (2/2)Requests (2/2)

Manager Side– UpdateFirmware– LaunchApplication– ForceLogout

Agent Side– GetAccessList– OnlineHelp

Page 14: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Status ReportStatus Report

MIME format Polling or Push mode Report Items– ActivePage– StorageUtil– MemoryUtil– NetworkUtil– TotalUtil– UserStatics

Page 15: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Sample ConversationSample Conversation A: AGENT 0 REG pc1 ntucsie M: 200 Accepted. ManagerId=C7200AE7 AgentId=S4432768

M: MANAGER C7200AE7 AUTH SSLv3 A: 500 not supported currently.

M: MANAGER C7200AE7 RQST StatusReportPush 300000 A: 200 Sending status report every 5 minutes.

M: MANAGER C7200AE7 RQST RefreshAccessList FOLLOWING deny all . A: 200 Access list accepted.

.... 17 minutes later A: AGENT S4432768 LOGIN kevin M: 200 User kevin added to online list.

Page 16: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Sample ConversationSample Conversation M: MANAGER C7200AE7 RQST RefreshAccessList FOLLOWING allow all deny www.geocities.com . A: 200 Access list updated.

..... five minutes later A: AGENT S4432768 REPO FOLLOWING ActivePage: http://www.hinet.net/index.html MemoryUtil: 75 UserOnline: kevin . M: 200 Report received. Good boy. :)

.... 3 hours later A: UNREG C7200AE7 M: 200 Agent pc1/ntucsie quit.

Page 17: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Implementation Issues for AgentsImplementation Issues for Agents

iCava Webpads– Linux kernel & proprietary window system– Full TCP/IP implementation– Complete SDK & Windows Emulator

Threads– 2 threads for listening & sending reports– commands & responses parsing

Page 18: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Implementation Issues for AgentsImplementation Issues for Agents

Access List– Client side receive the access list from

server– Browser on WebPad deny or allow

some pages viewed by userSSLv3

Page 19: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Implementation Issues for Implementation Issues for Managers (1/2)Managers (1/2)

Manager is written by BCB.Why Java ?– Java can run on everywhere.– Java’s java.net.* package is simple and

ease to use.– BUT, I’m not familiar with Java AWT. So

GUI design is difficult.

Page 20: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Implementation Issues for Implementation Issues for Managers (2/2)Managers (2/2)

Why BCB ?– BCB’s RAD environment is convenient– BCB’s VCL component is also easy to

program.– Deed not to care about the thread detail (the

event driven do this for you)

Possible improvement– Port the Manager to Java, so it can run on

anywhere, even server side is also a mobile device or embedded system

Page 21: WebPad Management Protocol D87526013 林瑞文 B87506017 黃振修

Conclusion & Future WorksConclusion & Future Works

Meets our requirementIncomplete Implementation– Authentication– Security issue

Load balancingGrouping– Group management policy