# A generic term for either Subject or Service

**URL:** <https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182>\
**Category:** Development & Maintenance\
**Created:** [October 8, 2018, 6:48pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182 "2018-10-08T18:48:37Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 8, 2018, 6:48pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/1 "2018-10-08T18:48:37Z")

</div>

We have Subject ID, which defines the kind of information exchanged using messages, and we have Service ID, which defines the kind of information exchanged using RPC. We need a new term that can refer either or both to Subjects and Services. Initially, I thought that _Endpoint_ would be the way to go, but then I realized that it doesn’t work well if one were to view the network as a computational graph, where subjects are edges and nodes are, well, nodes, because the name implies that there is a point-to-point connection whereas the truth is that we can have a MIMO connection.

How do you describe the point where an edge is connected to a node? Anchor?

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 8, 2018, 6:51pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/2 "2018-10-08T18:51:30Z")

</div>

_Lateral_?

 ![image](https://forum.opencyphal.org/uploads/default/original/1X/5b87f02449de7c34e789f99558014c7975f78a9f.png)

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 9, 2018, 8:19am UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/3 "2018-10-09T08:19:32Z")

</div>

- Junction
- Tie
- Attachment
- Port (maps quite well to Berkeley sockets)

---

<div class="post-metadata">

**Author:** ![antoine.albertelli](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/antoine.albertelli/32/14_2.png) [@antoine.albertelli](https://forum.opencyphal.org/u/antoine.albertelli)\
**Post date:** [October 10, 2018, 11:51am UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/4 "2018-10-10T11:51:40Z")

</div>

What do you think of “flow” ?

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 10, 2018, 12:55pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/5 "2018-10-10T12:55:57Z")

</div>

Flow doesn’t work well with services. For now I decided to go with Port, pending further review.

---

<div class="post-metadata">

**Author:** ![uxvrob](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/u/8e7dd6/32.png) [@uxvrob](https://forum.opencyphal.org/u/uxvrob)\
**Post date:** [October 17, 2018, 7:34am UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/6 "2018-10-17T07:34:24Z")

</div>

For brainstorming purposes I’d add:

-Terminal  
-Wharf  
-Anchorage

Source: [https://www.thesaurus.com/browse/port](https://www.thesaurus.com/browse/port)

Port I like because from a computer science/networking perspective the term is intuitive.

Node 1 serviced Node 32 bound on ports 1223:3221 under service id 82.

Is this intuitive to understand?

Perhaps a Transaction, Procedure or Operation could define a service or subject.

---

<div class="post-metadata">

**Author:** ![kjetilkjeka](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kjetilkjeka/32/43_2.png) [@kjetilkjeka](https://forum.opencyphal.org/u/kjetilkjeka)\
**Post date:** [October 17, 2018, 12:24pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/7 "2018-10-17T12:24:18Z")

</div>

I like “Subject Port” and “Service Port”, it even sounds better than “Subject ID” and “Service ID”. If we choose port we could refrain from using ID in the specification. When we speak of a concrete number we could call it “Subject Port number” or “Port Number”.

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 17, 2018, 4:33pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/8 "2018-10-17T16:33:45Z")

</div>

Purely for _brainstorming purposes_ let me throw in this:

# MAILBOX

---

<div class="post-metadata">

**Author:** ![scottdixon](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/scottdixon/32/39_2.png) [@scottdixon](https://forum.opencyphal.org/u/scottdixon)\
**Post date:** [October 19, 2018, 4:15pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/9 "2018-10-19T16:15:45Z")

</div>

my preferences:

- **channel**
- **port**
- subject or service (i.e. no special term)

\<jokes\>

- **chunnel**
- **ATMSSBWBSSLTWCAOT** (Acronym That Means Subject or Service But We Bike-Shedded So Long That We Couldn’t Agree On a Term)
- **kl;fdgh** (some random charaters my cat typed when walking across my keyboard)

\</jokes\>

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 19, 2018, 5:59pm UTC](https://forum.opencyphal.org/t/a-generic-term-for-either-subject-or-service/182/10 "2018-10-19T17:59:42Z")

</div>

Let it be **PORT**.
