Difference between revisions of "Slicer/Features/Middleware"
From NAMIC Wiki
Line 17: | Line 17: | ||
* Socket IGSTK [Junichi Patrick] | * Socket IGSTK [Junichi Patrick] | ||
* Navitrack - phase out? | * Navitrack - phase out? | ||
+ | ** Hard to debug | ||
+ | ** Not modular (some modules can't be disabled) | ||
+ | ** No error handling - just halt | ||
+ | ** Not as simple and clean as just using the standard TCP/IP socket | ||
+ | ** Still problems with image transfer under Windows and possibly other OS (packet size is not based on the size allowed by OS) | ||
+ | ** Security: can be flooded with packets, no authentication | ||
==Requirements== | ==Requirements== |
Revision as of 16:52, 14 December 2007
Home < Slicer < Features < MiddlewareContents
Title
Middleware
Names
- session leader
- participants
Technology/Function description
Goal
- Slicer + IGSTK
Technologies
- Look at Publish subscribe ORB/ACE - DDS [Peter]
- Socket IGSTK [Junichi Patrick]
- Navitrack - phase out?
- Hard to debug
- Not modular (some modules can't be disabled)
- No error handling - just halt
- Not as simple and clean as just using the standard TCP/IP socket
- Still problems with image transfer under Windows and possibly other OS (packet size is not based on the size allowed by OS)
- Security: can be flooded with packets, no authentication
Requirements
- Reliable for command transfer (all data transferred, in order)
- Fast for tracking data transfer (only the latest coordinate is required, can lose data)
- Image transfer (500K or more)
- Data types (struct: string, integer, float)
- Data type checking (number is correctly formatted etc)
- Time out (device is down)
Would be nice to have
- Priority
- Point - multi-point data transfer
Questions
- UDP - fast, no delay due to ACK packages
- TCP/IP - reliable, easy
- Security
- malicious packets or sent by mistake
- CRC and auth.?
- pop up a dialog box before accepting data? (just one, to avoid flood)
- same issues with Slicer3:Slicer_Daemon
- Firewall?
See also
Potential application in IGT
- Tracker data transfer
- Image transfer from MRI
- Robot coordinate transfer
- Robot control
- Periferials: OpenTracker/Navitrack has 3D mouse driver etc.