Topic: broadcasting information
Topic: client-server model for distributed systems
Topic: communication protocols
Topic: communicating sequential processes
Topic: defining a process
Topic: I/O streams
Topic: input/output by accessing a variable
Topic: implementing distributed systems and applications
Topic: Internet
Topic: interprocess communication
Topic: message queues for communication
Topic: remote procedure call
Topic: routing electronic mailing
Topic: synchronous communication through a channel
Topic: Unix pipes
Topic: using an address as a name
| |
Summary
A communication port is an end point for communication between computers. It is typically identified by a port number and network address. A message may be sent to a port (e.g., UDP) or two ports may establish a channel (e.g., TCP). Ports may have several writers. Messages may be queued for delivery. Communication may be reliable or unreliable.
Well-known ports provide services using a standard protocol. Ports may provide administrative services.
In the process model, ports are interconnected by remote procedure calls, message queues, or dataflow. Data is usually typed. Ports may look like memory.
To establish communiction, ports need to be identified and assigned. Capabilities or a firewall may provide access control. Diagnostics requires port information. (cbb 8/06)
Subtopic: communication port
Quote: a port is a protected, communication channel. Ports are Mach's named, reference objects
| Quote: Mach ports represent services or data structures; e.g., a window of a bitmap display
| Quote: a funnel is a communication channel; links writers non-deterministically to readers [»huntJG1_1979]
| Quote: for communicating sequential processes either name source and destination or name the communication port [»hoarCA8_1978]
| Subtopic: read vs. write
Quote: Mach ports may have multiple senders but only one receiver [»acceM6_1986]
| Quote: ports are input or output; they are typed by what messages they can send or receive; only same type ports can communicate [»stroRE5_1985]
| Subtopic: port as a global name
Quote: Amoeba uses server ports (48 bits) to identify a server independently of its network address
| Quote: V has globally unique, entity ids for processes, process groups, and ports; now 32-bits, will be 64-bits [»cherDR3_1988]
| Subtopic: administrative ports
Quote: creating a task or thread returns a port for manipulating the task or thread
| Quote: an exception in a Mach thread suspends the thread and notifies an exception handler; access thread via exception port [»tevaA11_1989]
| Quote: in NIL, when a process terminates, it sends an obituary message to its owner on a specified port [»stroRE5_1985]
| Quote: Concurrent Pascal includes a 'port' data type for undoing actions; invoked in error recovery [»shriSK12_1979]
| Subtopic: port as message queue
Quote: on a full port, a task can suspend, error, or post one message for future transmission with acknowledgment [»acceM6_1986]
| Subtopic: port as dataflow
Quote: dataflow input to a port from another process, a device icon, a literal, or empty (an immediate end)
| Quote: given a name, SYNCRO gets a process and all its ports; can connect ports as desired in data flow, command drawing [»demaT3_1984]
| Subtopic: port as remote procedure call, process paradigm
Quote: remote procedure call by connecting a parameter list to a communication port; terminates with disconnect statement from other process [»maoTW3_1980]
| Quote: with communication ports, write to a master by sending a message and waiting for confirmation; read by sending a request and waiting for response [»maoTW3_1980]
| Quote: with communication ports, information is copied to in-parameters and returned through out-parameters [»maoTW3_1980]
| Quote: communication ports specify which processes can communicate and when processes are disconnected; remote procedure call [»maoTW10_1979]
| Quote: in process paradigm, a process calls another with an output port and a parameter list; message is passed from output port to an input port [»stroR10_1986]
| Quote: operate on a Mach object by sending a message to a port [»acceM6_1986]
| Quote: communication ports specify which processes can communicate and when processes are disconnected; remote procedure call [»maoTW10_1979]
| QuoteRef: lampBW_1974 ;;7 transfer primitive (minimal placing most work on the contexts involved). destination inport, a return outport, and an argument pointer- passed to these by global variables dest, link and args
| Subtopic: port as typed data
Quote: the process paradigm: ports carry interface type information, no inheritance, code associated with value of a port instead of type [»stroR10_1986]
| Quote: ports are input or output; they are typed by what messages they can send or receive; only same type ports can communicate [»stroRE5_1985]
| Quote: never identify the recipient of interprocess communication; instead identify the object type communicated [»stemDW11_1986]
| Subtopic: port as memory
Quote: make communication look like memory via ports (a queue of buffers), message screening or filtering, and logical addressing [»cherDR5_1986]
| Quote: a Boxer port is a parallel view of another structure for non-hierarchical relationships [»diseAA9_1986]
| Subtopic: creating a port
Quote: a communication port is set up when the slave process is suspended on the connect statement and the master enters the port statement [»maoTW3_1980]
| Quote: each communication port has a name, one master process (executes and disconnects), and multiple servant processes [»maoTW10_1979]
| Quote: a process can communicate with another only after receiving a connection to an input port [»stroR10_1986]
| Subtopic: selecting port to connect
Quote: if more than one connect statement is active at a port then one is selected nondeterministically [»maoTW3_1980]
| Quote: in NIL, a 'select' will wait until an input port has a true guard [»stroRE5_1985]
| Quote: in NIL, messages received from an output port in FIFO order; but messages from multiple ports are only fairly merged [»stroRE5_1985]
| Subtopic: port value
Quote: once communication funnels have names, they should be treated as values [»huntJG1_1979]
| Subtopic: capability access control
Quote: access to a port is granted by receiving a capability to send or receive to the port
| Quote: a message is a typed collection of data objects. They may contain an address space, pointers, and capabilities for ports
| Quote: Accent required that a process have a capability to a port; allowed automatic notification for port failures and prevented hidden communication [»rashRF11_1986]
| Quote: Amoeba assigns a 128- or 256-bit capability to every object; contains server port, object number, rights field, and check field [»taneAS12_1990]
| Subtopic: stunned process
Quote: a stunned process has not started, or under debugging or migration; gives system requirements, address space, thread state, client ports [»taneAS12_1990]
|
Related Topics
Topic: broadcasting information (18 items)
Topic: client-server model for distributed systems (25 items)
Topic: communication protocols (62 items)
Topic: communicating sequential processes (33 items)
Topic: defining a process (23 items)
Topic: I/O streams (17 items)
Topic: input/output by accessing a variable (8 items)
Topic: implementing distributed systems and applications (41 items)
Topic: Internet (16 items)
Topic: interprocess communication (29 items)
Topic: message queues for communication (36 items)
Topic: remote procedure call (44 items)
Topic: routing electronic mailing (12 items)
Topic: synchronous communication through a channel (28 items)
Topic: Unix pipes (10 items)
Topic: using an address as a name (22 items)
|