A: Server push and client pull are each methods of initiating delivery of content from a server computer to a client on a network. Most often, the terms are used to describe the delivery methods of online content, such as World Wide Web page code over the Internet, but it could also apply to the movement of messages or other content across a local or wide area network.
The current customary method to access World Wide Web content is to browse the World Wide Web using a client computer and browser software. The user usually starts at a home page and moves to other World Wide Web pages by selecting hyperlinks within the home page or by typing the URL of a destination page. In either event, the client computer sends an HTTP request for a particular file over the Internet to a server computer at a particular Internet Protocol ("IP") address. The server computer responds by sending the requested content over the Internet to the IP address of the requesting client computer. This method is called client pull because it is necessary for the client to send a request in order for the client to receive any content.
The server push method uses server computers that send content independent of requests from client computers. A server push network may use very broad delivery such as that of the broadcast television system, in which the television broadcast "server" sends content to everyone, but the messages are received only by those who have their "client" television sets turned on and tuned in. A server push network may also deliver content very narrowly, such as that of the U.S. Mail system, in which a "server" letter writer sends a letter over the information footpath to a "client" mailbox at a particular address. In each case, the transfer of the content is initiated by the server rather than the client.
Most current content delivery methods described as server push are actually a hybrid of client pull and server push delivery methods. Rather than send content independent of any request from a client computer, most servers using today's server push methods send content to a client computer in response to a client's automatic, software-driven request. In most cases, the client software of a server push client software automatically requests a server to send certain content, such as a web page, an entire web site or specialized content designed for the particular delivery system. The client software may then cause the client computer to store the content on its hard drive for later use. It is contemplated that server push delivery combined with additional programming may permit a server to send and install content such as updates of software programs to all subscribers of the update delivery service.
As mentioned above, many current server push delivery systems have developed specialized content (often separated into channels, similar to television) that is designed and presumably licensed to be saved on the client computer for use at a later time. Other server push delivery systems are, in effect, automatic browsing programs which may download content neither designed nor licensed to be permanently stored on a client computer. The time shifting, fair use rationale of Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417 (1984) may at first seem applicable to such downloads, but factors unique to the online context cut against extending the Court's rationale. First, there is little or no necessity for time shifting on the World Wide Web -- online content can usually be viewed at any time of any day. Second, downloading can prevent a server from creating dynamic World Wide Web pages utilizing real time factors such as market conditions, weather, and the IP address and cookie content of the client computer making the request.
Examples of server push delivery systems may be available at the World Wide Web sites of Marimba, Inc., IFusion Com Corporation, BackWeb Technologies, PointCast Inc. and Tympani Development Inc.
Jim Black is a partner in the San Francisco firm of Coblentz,
Cahen, McCabe & Breyer, LLP. He can be reached at firstname.lastname@example.org,
and his World Wide Web URL is http://www.jrb.com.