Subnetwork services provide applications with a standardized interface to network communication resources regardless of the underlying data link. These services provide applications with a single application programming interface (API) and determine the proper network protocol and data link to use. This is accomplished through parameters provided in the API calls and through configuration data provided to the services upon startup. The intent of the subnetwork services is to create a layer that abstracts applications from the communication infrastructure. Applications become more portable and reusable when they can operate across multiple data links.
JAS currently defines three subnetwork services for use by applications:
- Packet Service – provides a packet-based messaging resource for applications to communicate over a network;
- Memory Access Service – allows applications to remotely communicate with memory-based devices over a network;
- Synchronization Service – allows applications to distribute time or provide event synchronization over a network.
This profile provides an overview of each of these services. Details about these services can be found in the Communication Specification.
JAS subnetwork services are based on an implementation of the CCSDS SOIS subnetwork services. The intent of JAS is to create a simple layer of abstraction between applications and the communication infrastructure that is light-weight enough to be implemented in software or firmware (i.e., FPGA/VHDL).
For more information on the CCSDS SOIS standard regarding the subnetwork services, refer to section 2.9.5 and 4.0 of Spacecraft Onboard Interface Services, CCSDS 850.0-G-2, The Consultative Committee for Space Data Systems (CCSDS), December 2013