@@ -85,7 +85,8 @@ NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
8585described in BCP 14 [RFC2119] [RFC8174] when, and only when,
8686they appear in all capitals, as shown here.
8787
88- # # Functions
88+ We define the following concepts, with some non-normative references to
89+ related concepts from OAuth [RFC6749] and elsewhere :
8990
9091* __Resource__ - The piece of data or interaction to which access is
9192 being granted, including but not limited to : a file or folder, a video
@@ -269,6 +270,48 @@ characters.
269270* __WAYF Page__ - A Where-Are-You-From page is a discovery service used
270271 to identify the OCM Server of an Invite Receiver.
271272
273+ # # Functions
274+
275+ Open Cloud Mesh defines distinct functions. It is not necessary for an
276+ implementation to provide all of them. In fact, it may be useful to
277+ have separate implementations for different functions.
278+
279+ # ## OCM Provider
280+
281+ An OCM Provider is an entity that can take on the two _roles_ of a
282+ _Sending Server_ and a _Receiving Server_. An OCM Provider MUST be a
283+ _Discoverable Server_ and SHOULD be able to receive _Notifications_.
284+
285+ # ## OCM Directory Service
286+
287+ An OCM Directory Service is an entity that exposes information about a
288+ _Federation_ of OCM Providers.
289+
290+ # # Roles
291+
292+ Open Cloud Mesh defines two distinct roles that an OCM Provider MUST
293+ take on : the _Sending Server_ role and the _Receiving Server_ role.
294+
295+ # ## Sending Server
296+
297+ A Sending Server is an OCM Provider that holds Resources and exposes
298+ APIs to allow access to them. It allows its users to create _Shares_
299+ to give other users access to those Resources. A Sending Server MAY
300+ provide its users with the ability to generate _Invites_ to establish
301+ contact with other users on other OCM Providers. When doing so it MAY
302+ provide a _WAYF Page_ to facilitate the Invite Flow. The WAYF page MAY
303+ be limited to a set of trusted OCM Providers, for instance those in the
304+ same _Federation_.
305+
306+
307+ # ## Receiving Server
308+
309+ A Receiving Server is an OCM Provider that receives _Share_ Creation
310+ Notifications from Sending Servers, notifies its users about incoming
311+ _Shares_, and acts as an API client to allow its users to access Remote
312+ Resources. It MAY provide its users with an _Address Book_ of
313+ _Contacts_ and the ability to accept _Invites_.
314+
272315In Appendix D, an object model is presented as a non-normative guide for
273316implementers to understand the relationships between these terms.
274317
0 commit comments