Misplaced Pages

IBM MQ

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

IBM MQ is a family of message-oriented middleware products that IBM launched in December 1993. It was originally called MQSeries , and was renamed WebSphere MQ in 2002 to join the suite of WebSphere products. In April 2014, it was renamed IBM MQ . The products that are included in the MQ family are IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ for z/OS, and IBM MQ on IBM Cloud. IBM MQ also has containerised deployment options.

#691308

74-461: MQ allows independent and potentially non-concurrent applications on a distributed system to securely communicate with each other, using messages. MQ is available on a large number of platforms (both IBM and non-IBM), including z/OS ( mainframe ), IBM i , Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux , and Microsoft Windows . The core components of MQ are: Programs integrated with IBM MQ use

148-553: A Binary Synchronous (Bisync) line. Many other operands specify unique characteristics of the attached terminals. A terminal list , specified by the DFTRMLST macro, identifies the terminals attached to the line. This macro specifies the line characteristics—start-stop, bisync, point-to-point, multipoint, leased line or dial — and the type of polling required— wrap around or open. The polling characters or telephone number used to identify each specific remote device on

222-401: A channel . Each queue manager uses one or more channels to send and receive data to other queue managers. A channel is uni-directional; a second channel is required to return data. In a TCP/IP based network, a channel sends or receives data on a specific port. Channel types: When a receiving channel receives a message, it is examined to see which queue manager and queue it is destined for. In

296-443: A solution for each instance. Instances are questions that we can ask, and solutions are desired answers to these questions. Theoretical computer science seeks to understand which computational problems can be solved by using a computer ( computability theory ) and how efficiently ( computational complexity theory ). Traditionally, it is said that a problem can be solved by using a computer if we can design an algorithm that produces

370-533: A BTAM line. The LOPEN macro can reinitialize a line that, for whatever reason, failed to open successfully. BTAM provides a large number of options for the READ and WRITE macros, depending on the line and terminal types and the current status. These are such operations as "read initial with reset", "read conversational", "read repeat", "write initial", "write break", and "write continue transparent". These are specified by codes, such as READ decbaddr,TI,... for

444-429: A CICS system or a CICS transaction can initiate work in another CICS or non-CICS system. IBM MQ now supports 80 different environments and has become the leading message assured delivery switching/routing product in the industry. IBM MQ can be used as a foundation for creating service-oriented architectures . Several additional product options exist to help convert legacy programs into functioning web services through

518-403: A client application to respond to the delivery of a message. IBM MQ offers a variety of solutions to cater for availability: Replicated Data Queue Manager (RDQM / 'Easy HA'- MQ Advanced on distributed only): Synchronous replication between three servers that all share a floating IP address. Queue Manager Clusters: Groups of two or more queue managers on one or more computers are defined to

592-415: A cluster, providing automatic interconnection, and allow queues to be shared among them for load balancing and redundancy. Queue Sharing Groups (z/OS only): In a Shared Queue environment, an application can connect to any of the queue managers within the queue-sharing group. Because all the queue managers in the queue-sharing group can access the same set of shared queues, the application does not depend on

666-474: A common goal for their work. The terms " concurrent computing ", " parallel computing ", and "distributed computing" have much overlap, and no clear distinction exists between them. The same system may be characterized both as "parallel" and "distributed"; the processors in a typical distributed system run concurrently in parallel. Parallel computing may be seen as a particularly tightly coupled form of distributed computing, and distributed computing may be seen as

740-471: A consistent application program interface (API) across all platforms. MQ supports point-to-point and publish–subscribe messaging. APIs directly supported by IBM include: Additional APIs (not officially supported) are also available via third parties, including: One-time delivery : MQ uses once and once only delivery. This quality of service typically prevents message loss or duplication. Asynchronous messaging : MQ provides application designers with

814-520: A correct solution for any given instance. Such an algorithm can be implemented as a computer program that runs on a general-purpose computer: the program reads a problem instance from input , performs some computation, and produces the solution as output . Formalisms such as random-access machines or universal Turing machines can be used as abstract models of a sequential general-purpose computer executing such an algorithm. The field of concurrent and distributed computing studies similar questions in

SECTION 10

#1732876108692

888-570: A deadlock. This problem is PSPACE-complete , i.e., it is decidable, but not likely that there is an efficient (centralised, parallel or distributed) algorithm that solves the problem in the case of large networks. BTAM Basic Telecommunications Access Method ( BTAM ) is a low-level programming interface specified by IBM for use on the IBM System/360 for start-stop and binary synchronous telecommunications terminals. Later, IBM specified higher-level interfaces QTAM and TCAM . BTAM

962-500: A decision problem can be solved in polylogarithmic time by using a polynomial number of processors, then the problem is said to be in the class NC . The class NC can be defined equally well by using the PRAM formalism or Boolean circuits—PRAM machines can simulate Boolean circuits efficiently and vice versa. In the analysis of distributed algorithms, more attention is usually paid on communication operations than computational steps. Perhaps

1036-414: A failure occurs—"non-persistent" messages are lost. Non-persistent messages can be sent across a channel set to a fast mode, in which delivery is not assured in the event of a channel failure. MQ supports both circular and linear logging. Information can be retrieved from queues either by polling the queue to check for available data at suitable intervals, or alternatively MQ can trigger an event, allowing

1110-854: A front-end queued system and CICS having its Transient Data facility as the possible basis for message switching. CICS established itself as a popular transaction management system in the 1968-1971 timeframe. Those users who had adopted TCAM for its message handling capabilities now wanted a combined use of TCAM with CICS. In December 1971, IBM announced CICS support of TCAM as part of the CICS/OS-Standard product, to be delivered in December 1972. For interested customers, this enabled them to use TCAM for its message handling strengths and also have TCAM-connected terminals or computers interface with CICS online applications. In January 1973, TCAM continued to be supported by CICS/OS-Standard Version 2.3. However, TCAM support

1184-401: A loosely coupled form of parallel computing. Nevertheless, it is possible to roughly classify concurrent systems as "parallel" or "distributed" using the following criteria: The figure on the right illustrates the difference between distributed and parallel systems. Figure (a) is a schematic view of a typical distributed system; the system is represented as a network topology in which each node

1258-467: A mechanism to achieve non-time-dependent architecture. Messages can be sent from one application to another, regardless of whether the applications are running at the same time. If a message receiver application is not running when a sender sends it a message, the queue manager will hold the message until the receiver asks for it. Ordering of all messages is preserved, by default this is in FIFO order of receipt at

1332-408: A more advanced form of message switching or message routing. TCAM was widely accepted, especially in the financial and brokerage industries. It supported asynchronous messaging, as with the later MQ. TCAM 3.0 added in reusable disk message queues for recovery soon thereafter, as with MQ. A high-level PL/I program could be used to access TRANSIENT datasets (dynamic message queues). Reading a message from

1406-431: A much wider sense, even referring to autonomous processes that run on the same physical computer and interact with each other by message passing. While there is no single definition of a distributed system, the following defining properties are commonly used as: A distributed system may have a common goal, such as solving a large computational problem; the user then perceives the collection of autonomous processors as

1480-424: A problem is divided into many tasks, each of which is solved by one or more computers, which communicate with each other via message passing. The word distributed in terms such as "distributed system", "distributed programming", and " distributed algorithm " originally referred to computer networks where individual computers were physically distributed within some geographical area. The terms are nowadays used in

1554-654: A schematic architecture allowing for live environment relay. This enables distributed computing functions both within and beyond the parameters of a networked database. Reasons for using distributed systems and distributed computing may include: Examples of distributed systems and applications of distributed computing include the following: According to Reactive Manifesto, reactive distributed systems are responsive, resilient, elastic and message-driven. Subsequently, Reactive systems are more flexible, loosely-coupled and scalable. To make your systems reactive, you are advised to implement Reactive Principles. Reactive Principles are

SECTION 20

#1732876108692

1628-405: A sequential general-purpose computer? The discussion below focuses on the case of multiple computers, although many of the issues are the same for concurrent processes running on a single computer. Three viewpoints are commonly used: In the case of distributed algorithms, computational problems are typically related to graphs. Often the graph that describes the structure of the computer network

1702-457: A set of principles and patterns which help to make your cloud native application as well as edge native applications more reactive. Many tasks that we would like to automate by using a computer are of question–answer type: we would like to ask a question and the computer should produce an answer. In theoretical computer science , such tasks are called computational problems . Formally, a computational problem consists of instances together with

1776-688: A token ring network in which the token has been lost. Coordinator election algorithms are designed to be economical in terms of total bytes transmitted, and time. The algorithm suggested by Gallager, Humblet, and Spira for general undirected graphs has had a strong impact on the design of distributed algorithms in general, and won the Dijkstra Prize for an influential paper in distributed computing. Many other algorithms were suggested for different kinds of network graphs , such as undirected rings, unidirectional rings, complete graphs, grids, directed Euler graphs, and others. A general method that decouples

1850-476: A transient dataset resulted in that message being removed from the queue, as with a non-browse READ with MQ. In the late 1970s, transaction management systems came into being, each trying to achieve a leadership position in the industry. Within IBM, CICS and IMS were chosen as strategic products to address the need for transaction management. Within both CICS and IMS, each had its version of message switching, IMS being

1924-434: A unit. Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users. Other typical properties of distributed systems include the following: Here are common architectural patterns used for distributed computing: Distributed systems are groups of networked computers which share

1998-477: Is the problem instance. This is illustrated in the following example. Consider the computational problem of finding a coloring of a given graph G . Different fields might take the following approaches: While the field of parallel algorithms has a different focus than the field of distributed algorithms, there is much interaction between the two fields. For example, the Cole–Vishkin algorithm for graph coloring

2072-416: Is a computer and each line connecting the nodes is a communication link. Figure (b) shows the same distributed system in more detail: each computer has its own local memory, and information can be exchanged only by passing messages from one node to another by using the available communication links. Figure (c) shows a parallel system in which each processor has a direct access to a shared memory. The situation

2146-449: Is a field of computer science that studies distributed systems , defined as computer systems whose inter-communicating components are located on different networked computers . The components of a distributed system communicate and coordinate their actions by passing messages to one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining concurrency of components, overcoming

2220-403: Is also focused on understanding the asynchronous nature of distributed systems: Note that in distributed systems, latency should be measured through "99th percentile" because "median" and "average" can be misleading. Coordinator election (or leader election ) is the process of designating a single process as the organizer of some task distributed among several computers (nodes). Before

2294-413: Is an access method for interactively communicating with remote terminals, usually connected through a front end processor such as a 270x communications controller , although support for local channel-attached 3270 terminals is included. BTAM dynamically builds Channel command words (CCWs) for reading, writing and "polling" terminals and deals with specific responses from those terminals, according to

IBM MQ - Misplaced Pages Continue

2368-419: Is available in their local D-neighbourhood . Many distributed algorithms are known with the running time much smaller than D rounds, and understanding which problems can be solved by such algorithms is one of the central research questions of the field. Typically an algorithm which solves a problem in polylogarithmic time in the network size is considered efficient in this model. Another commonly used measure

2442-581: Is further complicated by the traditional uses of the terms parallel and distributed algorithm that do not quite match the above definitions of parallel and distributed systems (see below for more detailed discussion). Nevertheless, as a rule of thumb, high-performance parallel computation in a shared-memory multiprocessor uses parallel algorithms while the coordination of a large-scale distributed system uses distributed algorithms. The use of concurrent processes which communicate through message-passing has its roots in operating system architectures studied in

2516-478: Is necessary to interconnect processes running on those CPUs with some sort of communication system . Whether these CPUs share resources or not determines a first distinction between three types of architecture: Distributed programming typically falls into one of several basic architectures: client–server , three-tier , n -tier , or peer-to-peer ; or categories: loose coupling , or tight coupling . Another basic aspect of distributed computing architecture

2590-455: Is placed on a remote queue. The messages goes to a temporary storage transmission queue associated with a channel. On placing a message on a remote queue, the message is transmitted across the remote channel. If the transmission is successful, the message is removed from the transmit queue. On receiving a message, the receiving queue manager examines the message to determine whether the message is for itself or if must go to another queue manager. If

2664-492: Is the method of communicating and coordinating work among concurrent processes. Through various message passing protocols, processes may communicate directly with one another, typically in a main/sub relationship. Alternatively, a "database-centric" architecture can enable distributed computing to be done without any form of direct inter-process communication , by utilizing a shared database . Database-centric architecture in particular provides relational processing analytics in

2738-410: Is the number of synchronous communication rounds required to complete the task. This complexity measure is closely related to the diameter of the network. Let D be the diameter of the network. On the one hand, any computable problem can be solved trivially in a synchronous distributed system in approximately 2 D communication rounds: simply gather all information in one location ( D rounds), solve

2812-502: Is the total number of bits transmitted in the network (cf. communication complexity ). The features of this concept are typically captured with the CONGEST(B) model, which is similarly defined as the LOCAL model, but where single messages can only contain B bits. Traditional computational problems take the perspective that the user asks a question, a computer (or a distributed system) processes

2886-659: The Java Message Service (JMS) standard API, and also has its own proprietary API, known as the Message Queuing Interface (MQI), which preceded the JMS several years in existence. As of version 8.0.0.4, MQ also supports the MQ Light API. Clustering : Multiple MQ implementations share the processing of messages, providing load balancing. Queue managers communicate with the outside world either through: This relies on

2960-584: The lack of a global clock , and managing the independent failure of components. When a component of one system fails, the entire system does not fail. Examples of distributed systems vary from SOA-based systems to microservices to massively multiplayer online games to peer-to-peer applications . Distributed systems cost significantly more than monolithic architectures, primarily due to increased needs for additional hardware, servers, gateways, firewalls, new subnets, proxies, and so on. Also, distributed systems are prone to fallacies of distributed computing . On

3034-399: The "coordinator" state. For that, they need some method in order to break the symmetry among them. For example, if each node has unique and comparable identities, then the nodes can compare their identities, and decide that the node with the highest identity is the coordinator. The definition of this problem is often attributed to LeLann, who formalized it as a method to create a new token in

IBM MQ - Misplaced Pages Continue

3108-513: The 1960s. The first widespread distributed systems were local-area networks such as Ethernet , which was invented in the 1970s. ARPANET , one of the predecessors of the Internet , was introduced in the late 1960s, and ARPANET e-mail was invented in the early 1970s. E-mail became the most successful application of ARPANET, and it is probably the earliest example of a large-scale distributed application . In addition to ARPANET (and its successor,

3182-854: The ACB support. CICS TCAM ACB support was discontinued as of the CICS/ESA Version 3 product in 1990. In 1992, IBM announced a new product called MQSeries. This brand name was later renamed to WebSphere MQ (however its official short name remained MQ) in 2002 to support the WebSphere family name and the product. In 2014, it was renamed IBM MQ. MQ was to be the extension of TCAM functionality from IBM-only systems to all other platforms. MQ has an architecture that enables heterogeneous systems to communicate with each other (e.g. IBM, HP, Sun, Tandem, etc.). MQ can be used with CICS systems to send and receive data to/from any other MQ-eligible system. MQ can be used to initiate work in

3256-461: The IBM MQ product family, called IBM App Connect Enterprise (formerly IBM Integration Bus / WebSphere Message Broker) enables a diverse and robust set of extensions to queue-based architectures. Using IBM Integration Bus, users can implement a WebServices front-end, complete with WSDL file support that can interact with any queue-based application. Distributed computing Distributed computing

3330-435: The active instance and the other instances become standbys. If the active instance fails, a standby instance running on a different computer automatically takes over. The following table applies to MQ software. The MQ Appliance has different lifecycle dates for both firmware and hardware than those in the table. With the advent of computers, IBM saw an opportunity to apply new technology to the need for message switching. In

3404-451: The availability of a particular queue manager. This gives greater availability if a queue manager stops because all the other queue managers in the queue-sharing group can continue processing the queue. Multi-Instance Queue Managers (available from v7.0.1): Instances of the same queue manager are configured on two or more computers with their queues and meta data residing on shared storage. By starting multiple instances, one instance becomes

3478-419: The case of either multiple computers, or a computer that executes a network of interacting processes: which computational problems can be solved in such a network and how efficiently? However, it is not at all obvious what is meant by "solving a problem" in the case of a concurrent or distributed system: for example, what is the task of the algorithm designer, and what is the concurrent or distributed equivalent of

3552-542: The early 1960s, IBM marketed the IBM 7740 Communication Control System and the IBM 7750 Programmed Transmission Control, which were programmable message switching systems. The IBM System/360 was announced in April 1964 and with it came communication access methods such as BTAM and QTAM (Basic and Queued Telecommunications Access Methods). In 1971, TCAM, the Telecommunications Access Method , offered its users

3626-439: The event of a communications failure, MQ can automatically re-establish a connection when the problem is resolved. The listener is the application's network interface to the queue manager. The listener detects connections from incoming channels, and manages the connection of the sending channels to the receiving channels. In a TCP/IP network, the listener will "listen" for connections on a specific port. Queue types: A message

3700-401: The focus has been on designing a distributed system that solves a given problem. A complementary research problem is studying the properties of a given distributed system. The halting problem is an analogous example from the field of centralised computation: we are given a computer program and the task is to decide whether it halts or runs forever. The halting problem is undecidable in

3774-452: The general case, and naturally understanding the behaviour of a computer network is at least as hard as understanding the behaviour of one computer. However, there are many interesting special cases that are decidable. In particular, it is possible to reason about the behaviour of a network of finite-state machines. One example is telling whether a given network of interacting (asynchronous and non-deterministic) finite-state machines can reach

SECTION 50

#1732876108692

3848-483: The global Internet), other early worldwide computer networks included Usenet and FidoNet from the 1980s, both of which were used to support distributed discussion systems. The study of distributed computing became its own branch of computer science in the late 1970s and early 1980s. The first conference in the field, Symposium on Principles of Distributed Computing (PODC), dates back to 1982, and its counterpart International Symposium on Distributed Computing (DISC)

3922-489: The infra cost must be considered. A computer program that runs within a distributed system is called a distributed program , and distributed programming is the process of writing such programs. There are many different types of implementations for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues . Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing ,

3996-456: The issue of the graph family from the design of the coordinator election algorithm was suggested by Korach, Kutten, and Moran. In order to perform coordination, distributed systems employ the concept of coordinators. The coordinator election problem is to choose a process from among a group of processes on different processors in a distributed system to act as the central coordinator. Several central coordinator election algorithms exist. So far

4070-475: The line are coded. The CHGNTRY macro can be used to modify information for a specific device in the list during execution. A wrap-around polling list will cause each device in the list to be polled sequentially by the channel until a response was received, This reduces the load on the CPU for continuous polling. The programmer can specify a buffer pool , a data structure used to hold messages transmitted to or from

4144-497: The local queue within priority of the message. Data transformation : e.g. Big Endian to Little Endian , or EBCDIC to ASCII . This is accomplished through the use of message data exits. Exits are compiled applications that run on the queue manager host, and are executed by the IBM MQ software at the time data transformation is needed. Message-driven architecture framework : IBM MQ allows receipt of messages to "trigger" other applications to run. Range of APIs : It implements

4218-430: The message or implement a handshaking mechanism via a return queue. In reality, ordering will be maintained in straightforward configurations. The other element of a queue manager is the log . As a message is placed on a queue or a configuration change is made, the data is also logged. In the event of a failure, the log is used to recreate damaged objects and recreate messages. Only persistent messages are recreated when

4292-401: The other hand, a well designed distributed system is more scalable, more durable, more changeable and more fine-tuned than a monolithic application deployed on a single machine. According to Marc Brooker: "a system is scalable in the range where marginal cost of additional workload is nearly constant." Serverless technologies fit this definition but the total cost of ownership, and not just

4366-408: The problem, and inform each node about the solution ( D rounds). On the other hand, if the running time of the algorithm is much smaller than D communication rounds, then the nodes in the network must produce their output without having the possibility to obtain information about distant parts of the network. In other words, the nodes must make globally consistent decisions based on information that

4440-471: The programmer needs to code REQBUF to obtain the number of buffers necessary to build the output message. In either case the RELBUF is used to free the buffers on completion of the read or write. Tha ASMTRTAB and TRNSLATE include translation tables and translate to and from non EBCDIC character codes. The standard OS/360 OPEN and CLOSE macros are used to initiate and terminate processing of

4514-629: The question, then produces an answer and stops. However, there are also problems where the system is required not to stop, including the dining philosophers problem and other similar mutual exclusion problems. In these problems, the distributed system is supposed to continuously coordinate the use of shared resources so that no conflicts or deadlocks occur. There are also fundamental challenges that are unique to distributed computing, for example those related to fault-tolerance . Examples of related problems include consensus problems , Byzantine fault tolerance , and self-stabilisation . Much research

SECTION 60

#1732876108692

4588-439: The receipt in the local queue, not the committing of the message from the sender. Messages can be prioritized, and by default, the queue is prioritized in order of arrival. Queues will only be in sequence of addition if the message is added locally. Message grouping can be used to ensure a set of messages are in a specific order, aside from that, if sequence is critical, it is the application's responsibility to place sequence data in

4662-416: The receiving queue manager, the required queue will be checked, and if it exists, the message is placed on this queue. If not, the message is placed on the dead letter queue . MQ has features to manage efficient transmission of data across a variety of communication media. For example, messages can be batched together until a queue reaches a particular depth. Although the queue is FIFO, it is ordered based on

4736-403: The same place as the boundary between parallel and distributed systems (shared memory vs. message passing). In parallel algorithms, yet another resource in addition to time and space is the number of computers. Indeed, often there is a trade-off between the running time and the number of computers: the problem can be solved faster if there are more computers running in parallel (see speedup ). If

4810-402: The same transaction processing system. Material in this section taken from IBM System/360 Operating System Basic Telecommunications Access Method; GC30-2004-6 . BTAM programming requires detailed knowledge of the characteristics of the specific terminals to be used. THE DCB macro is used to define a communications line group: dcbname DCB DSORG=CX... DEVD=BS can be coded to specify

4884-423: The simplest model of distributed computing is a synchronous system where all nodes operate in a lockstep fashion. This model is commonly known as the LOCAL model. During each communication round , all nodes in parallel (1) receive the latest messages from their neighbours, (2) perform arbitrary local computation, and (3) send new messages to their neighbors. In such systems, a central complexity measure

4958-418: The success or failure of the communication channel. BTAM was a key component in IBM's early transaction processing systems such as MTCS , CICS and IMS and underpinned the rise of online transaction processing for many large commercial banks and insurance companies. It was not unusual for BTAM and later developed access methods (such as VTAM) to co-exist, supporting different devices simultaneously under

5032-432: The task is begun, all network nodes are either unaware which node will serve as the "coordinator" (or leader) of the task, or unable to communicate with the current coordinator. After a coordinator election algorithm has been run, however, each node throughout the network recognizes a particular, unique node as the task coordinator. The network nodes communicate among themselves in order to decide which of them will get into

5106-463: The terminals. BTAM can construct the pool automatically or the programmer can construct the pool in various ways. The BUILD macro will format the pool in static or dynamic storage previously acquired, or the GETPOOL macro will acquire and format storage automatically. For read operations BTAM will automatically obtain one or more buffers from the pool and store the received message. For a write operation

5180-466: The use of MQ. Larger, heterogeneous enterprises often appear as a federation of somewhat autonomous domains based on lines of business, functional or governance areas. In such environments, some services may be shared or reused only within a single domain, while others may be shared or reused throughout the enterprise. IBM MQ provides the means by which communication exists between lines-of-business or otherwise separate business domains. A related product in

5254-526: Was first held in Ottawa in 1985 as the International Workshop on Distributed Algorithms on Graphs. Various hardware and software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely coupled devices and cables. At a higher level, it

5328-669: Was omitted from the initial release of CICS/VS, announced in February 1973 and delivered in June 1974. Needless to say, many CICS-TCAM customers were not happy with that product direction. With considerable pressure from CICS-TCAM customers, the CICS support of TCAM was reinstated in the CICS/VS 1.1 product, as of September 1974. In addition to the previous DCB support, with this reinstatement of TCAM support, CICS began to support TCAM access via VTAM, also known as

5402-423: Was originally presented as a parallel algorithm, but the same technique can also be used directly as a distributed algorithm. Moreover, a parallel algorithm can be implemented either in a parallel system (using shared memory) or in a distributed system (using message passing). The traditional boundary between parallel and distributed algorithms (choose a suitable network vs. run in any given network) does not lie in

5476-448: Was superseded by VTAM for Systems Network Architecture (SNA) devices. BTAM continued to be supported in later iterations of the system architecture, and IBM finally withdrew support in 2000. BTAM requires the application program or transaction processing system to handle almost every detail of the protocol. This is harder than using a higher-layer protocol, but it permits interfacing to non-standard devices in non-standard ways. BTAM

#691308