An architecture diagram showing high level components involved in device independence. There are three rectangles arranged in a horizontal line. The left rectangle is green, has a solid border, and is labeled "Client". The middle rectangle is gray, has a dashed border, and is labeled "Intermediary". The middle rectangle is stacked above two other similar rectangles. The right rectangle is blue, has a solid border, and is labeled "Server". Within each of the three rectangles is a smaller pink rectangle in the upper-right corner. The three pink rectangles are labeled "Adaptation Processes".

Between the "Client" and "Intermediary" rectangles are two arrows arranged vertically. The top arrow points to the right and is labeled "request + delivery context". The bottom arrow points to the left and is labeled "response (document)". There is a similar set of arrows between the "Intermediary" and "Server" rectangles. Below the "Server" rectangle is a yellow cylinder with a solid border labeled "Content Repository". An arrow points up from the "Content Repository" cylinder to the "Server" rectangle.