https://github.com/cjhdev/pr6
An M2M Protocol
https://github.com/cjhdev/pr6
Last synced: 6 months ago
JSON representation
An M2M Protocol
- Host: GitHub
- URL: https://github.com/cjhdev/pr6
- Owner: cjhdev
- Created: 2016-05-14T17:23:20.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-08-03T12:50:57.000Z (over 9 years ago)
- Last Synced: 2025-01-21T03:42:34.579Z (over 1 year ago)
- Language: C
- Size: 459 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
PR6
===
[](https://travis-ci.org/cjhdev/pr6)
Protocol 6 is a machine-to-machine specification useful for building
connected applications between resource constrained devices.
The main features of PR6 are:
- Stateless
- Peer-To-Peer
- Peers interact by mechanism of Remote Method Invocation
- Objects represent application layer features
- Classes define the characteristics of Objects
- Peers interact with remote Objects by Methods
- messages transport Method arguments and return values
- Extensible by applications through definition of new Classes and Objects
- Compact canonical message encoding
- Multiple method invocations per message to reduce chatter
- Method arguments and return values are defined by Class
- Per Method role based access control
- End-to-end authenticated encryption with protection against replayed messages
- Confirmed and non-confirmed invocation modes
A PR6 Peer has the following characteristics:

PR6 messages are as follows:
[link](doc/asn1/pr6.asn1 "PR6 ASN.1")
# License
MIT license.
Cameron Harper (C) 2016