HP JetSend

Design Specification: HP JetSend Network Architecture
This package includes the HP JetSend Network Architecture design specifications together with two documents that describe HP JetSend as a whole. Those two documents are included to provide background and context for the network specifications.

Context: HP JetSend Getting Started Guide
HP JetSend technology is software that enables devices to communicate in a simple, flexible and direct manner. HP JetSend technology is designed to be operating system-independent, transport independent, server-independent, application- independent, and can be built into any information appliance. It uses a singular driver to communicate with all JetSendenabled appliances, and offers you guaranteed viewability. HP JetSend treats all communicating appliances, such as your PC, scanner and printer, as equal citizens. HP JetSend gives people a way of communicating without having to know anything about the other communicating device besides its address.

This is an overview of HP JetSend as a whole that places its into network portions into context.

Context: HP JetSend Development Kit Guide
HP JetSend utilizes protocol stacks to exchange information surfaces encoded as electronic material (e-material). The protocol allows appliances to negotiate the form of the e-material. This ADK guides the Developer in joining the layers of the protocol stack with the existing native device. These protocol layers are inserted between existing information handling routines such as image capture, manipulation, or rendering, and existing network I/O, such as UDP/IP, TCP/IP, SPX/IPX, and any other communication technologies.

The negotiation services layers form the HP JetSend core of the HP JetSend product. The architecture includes a thin transport layer and the ADK described in this document includes a reference implementation that matches the Transport-Independent API (TIAPI) with Berkeley sockets. The ADK also includes a reference implementation of Reliable Message Transport Protocol (RMTP). RMTP gives an unreliable mechanism such as UDP/IP reliability without robbing it of its other connectionless characteristics.

This is the Application Development Kit overview that provides additional context and technical detail to what is provided in the HP JetSend Getting Started Guide (JetSend.CTX.WhatIs.pdf) that is provided above.

Network Architecture
This is the Architecture Reference Specification for HP JetSend's network architecture. It describes all the network components as an integrated whole. Details about the interface (APIs, required system services etc.) to any of the components may be found in the Specification that corresponds to that component.

HP JetSend Session Protocol (OSP)
HP JetSend's session protocol is provided by OSP. The session layer is the fifth layer in the OSI Reference Model, sitting just atop the transport layer which is implemented as TCP, or UDP, or SPX, or RMTP, or any one of many others. As we proceed up the OSI layer stack from the bottom, the session layer is the first one where pretty much all practical matters related to the addressing, packaging and delivery of data are left behind-they are functions of layers four and below. It is the lowest of the three upper layers, which collectively are concerned mainly with software application issues and not with the details of network and Internet implementation.

The name of this layer tells you much about what it is designed to do: to allow devices to establish and manage sessions. In general terms, a session is a persistent logical linking of two software application processes, to allow them to exchange data over a prolonged period of time. In some discussions, these sessions are called dialogs; they are roughly analogous to a telephone call made between two people.

In particular, HP JetSend's OSP protocol provides an extremely powerful multi-channel model that allows multiple, full-duplex communication channels to be simultaneously opened between two HP JetSend appliances. These channels may be either stream or message channels and they can be grouped into multiple sessions, with each session managing several channels at one time. This incredibly powerful capability is made possible by a surprisingly simple and efficient protocol - HP JetSend OSP. This document is the design specification for HP JetSend OSP.

HP JetSend Transport Independent API (TIAPI)
This is the design specification for the Application Programming Interface that isolates the underlying Network Protocol from the Transport Protocol. It is the technology that makes the Transport Protocol and all higher layered protocols device independent.

HP JetSend Transport Protocol (RMTP)
Reliable Message Transport Protocol (RMTP) is a simple to implement, lightweight protocol that adds reliable- ordered-delivery to a datagram transport. It is a TCP-like protocol that provides connection-oriented communications. It insures reliability using most of the same techniques as TCP including segment sequencing, checksums, positive acknowledgment, retransmission, persist timers, flow control using a sliding window without selective or negative acknowledgments, and other techniques. HP JetSend uses it for links between Internet devices where heavyweight stream connections like TCP�s are too expensive to maintain.

The HP-JetSend architecture does not require that any stream transport be available to HP-JetSend. Therefore, it is possible that all HP-JetSend communications within a particular device may have to be conducted over a datagram transport. RMTP insures that this communication is reliable and ordered.

Transport connections are expensive to implement in some HP peripheral architectures. In these architectures, the connection must be projected through several layers of firmware from the transport layer to the application layer that uses the connection. Each layer potentially has to store information about the connection.

RMTP is designed to allow multiple connections to run over a single UDP socket. This is intended to limit the multiple layer firmware resources required - in this case the resources required to set up multiple sockets.

This document is the design specification for the HP JetSend Transport Protocol (RMTP) and describes the protocol from a functional point-of-view.

HP JetSend Transport Protocol API (RMTPAPI)
This is the design specification for the Application Programming Interface that gives access to the Transport Protocol.

HP JetSend Packet Marshalling
This is the Internal Reference Specification for the method of creating and managing internal packet buffers as they flow up and down the network stack.