You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Enhancements for Device Services

  • Implement dynamic discovery using Provision Watchers
  • Provide clean API for query parameters
    • Currently passing entire query string as an extra Attribute
  • Make more configuration dynamic (ideally, all of it)
    • Including the driver-specific configuration
  • Implement command chaining (deviceCommand contains other deviceCommands)
  • Allow driver to manage device operational state
  • Implement minimum/maximum restrictions on actuation parameters

Testing

  • Build-out of blackbox test suite
  • Define process for self-certification of device services

Enhancements for Core EdgeX

  • Remove legacy fields in metadata
    • ProvisionWatcher: OperatingState
    • PropertyValue: Precision, Size
    • ResourceOperation: Resource, Object
    • ProfileProperty: Units becomes String
  • Reduce boilerplate in coreCommands
    • All it really needs for each command is the name and whether it's get, set, or both?
  • Add field in Event to store query parameters that were used when it was generated

Other discussion topics (for Phoenix F2F)

Load Management in Device Services

Sources of demand
  1. Device producing data autonomously
  2. REST 'device' endpoint
  3. AutoEvents
Shedding demand

For autonomous and REST-driven data, we can feed back errors to the caller, eg 503 unavailable.

For AutoEvents we could apply a scaling factor to the intervals?

Load monitoring

Monitor the number of simultaneous calls to get/put handlers?

Serialize Event submission and monitor the queue length?

Compare time taken to process an AutoEvent with its specified interval?



  • No labels