Glossary
Acknowledgment
A networking technique in which the receiver of a message is responsible for informing the sender that the message was received.
In AMPS:
Commands to the AMPS server from an application are asynchronous: AMPS responds with acknowledgment messages to indicate the results of the command.
An application acknowledges messages from an AMPS queue to indicate that the message has been fully processed, and AMPS can remove the message from the queue.
Authentication
The process of establishing a proven identity for a connection to AMPS.
Bookmark
Unique identifier for a message, formed from a combination of a number derived from the client name (which is used as the publisher session ID) and a sequence number managed by the client. Unlike a SOW Key (defined later), this identifier is unique to each individual message. That is, two updates to the same record have different bookmarks, even though they update the same key.
Conflated Topic
A copy of a SOW topic that conflates updates on a specified interval. This helps to conserve bandwidth and processing resources for subscribers to the conflated topic.
Conflation
The process of merging a group of messages into a single message. For example, when a particular record in the SOW is updated hundreds or thousands of times a second, conflation can enable an application to receive the most recent update every 300ms, reducing the network traffic to the application while still guaranteeing that the application has recent data.
Delta
A message that contains only the differences between the previous state of a stored message and the new state of the stored message. AMPS supports delta messaging for both publish (changing a subset of fields in a message) and subscribe (receiving only the fields of a message that have changed).
Entitlement
The process of assigning permissions to a connection based on the identity established for that connection.
Expression
A text string that produces a specific value. AMPS uses expressions in filters and when constructing fields for enrichment or projecting views.
Filter
A text string that is used to match a subset of messages from a larger set of messages. In AMPS, every filter is an AMPS expression that returns TRUE or FALSE.
Message Expiration
The process where the life span of records stored in a State-of-the-World topic or queue are limited.
Message Type
The data format used to encapsulate messages. Each message within AMPS has a single, defined message type. Each connection to AMPS uses a single, defined message type.
oof (out of focus)
Notification to a subscriber that a message which was previously a result of a SOW or a SOW subscribe filter result has either expired, been deleted from the SOW or has been updated such that it no longer matches the filter criteria.
Queue
A topic that provides competitive consumption with the goal of allowing an application to process a message once, regardless of the number of consumers. Notice that a queue is not necessary to provide reliable replay or consistent ordering -- the transaction log provides those properties.
Replication
The process of duplicating the messages stored into an AMPS instance to one or more additional AMPS instances. The instance that contains the messages pushes those messages to the instance that receives the messages over a transport designed for that purpose.
Replication Destination
An instance of AMPS that is receiving messages directly from another AMPS instance (the replication source).
Replication Source
An instance of AMPS which receives a message and then sends the message directly to one or more other AMPS instances (the replication destinations). The source is responsible for ensuring that the destination or destinations have received the messages.
Replication Transport
A transport used only for replication (amps-replication
transport), that allows the flow of incoming replication messages from another AMPS instance (the replication source).
Slow Client
A client that is being sent messages at a rate which is faster than it can consume, to the point where AMPS detects that the network buffer to the client has filled.
SOW (State of the World) Topic
A last value cache used to store the current state of messages belonging to a topic.
SOW Key
A value used to identify a unique record in an AMPS SOW topic. For a given topic, you can configure AMPS to generate the SOW key based on content in the message, provide the SOW key on each message published, or use a SOW key generator module to programmatically create the SOW key. Within a SOW topic, publishes to the same SOW key value are interpreted updates to the same record.
Topic
A label, which is affixed to every message by a publisher, which is used to aggregate and group messages. Messages within a topic all have the same message type, persistence, and delivery paradigm.
Transaction Log
A history of all messages published for a configurable set of topics which can be used to recreate an up to date state of all messages processed. Applications can query and replay messages from the transaction log. The transaction log preserves the order in which messages are processed by an instance of AMPS both within a topic and across topics.
Transport
The network protocol used to to transfer messages between AMPS subscribers, publishers and other instances of AMPS (via replication).
View
An in-memory topic constructed by AMPS from the contents of one or more SOW topics. A view can aggregate or transform the underlying topics, and can be of a different message format than the underlying topics. As the contents of the SOW topic change, the view is updated to reflect the current contents of the underlying topic or topics.
Last updated