Browse Prior Art Database

Network bandwidth reduction on the WWW (World Wide Web) using intelligent servers that utilize the device capabilities of the client.

IP.com Disclosure Number: IPCOM000013523D
Original Publication Date: 2000-May-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 3 page(s) / 50K

Publishing Venue

IBM

Abstract

Disclosed is a software system that adds intelligence to an Internet Web server. This intelligence can ultimately lead to a reduction in the amount of data that is transmitted from the Web server to the Web client. This reduction of transmitted data will lead to better "front of screen" performance on the client side of the connection. The added intelligence on the Web server can also be used to customize the content delivered to the client. This customization can be based on the device capabilities and preferences of the client system. In order to implement this concept, one would add a Java applet to the HTML page which resided on the system that is running the Web server. This applet queries the device capabilities on the client system. It provides the device capabilities and preferences of the client's machine to a Java servlet which is also running of the Web server workstation. A sample Java applet that queries the client's screen resolution and color depth is displayed below. import java.awt.*; import java.awt.image.*; import java.net.*; public class sysParms extends java.applet.Applet

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 58% of the total text.

Page 1 of 3

  Network bandwidth reduction on the WWW (World Wide Web) using intelligent servers that utilize the device capabilities of the client.

Disclosed is a software system that adds intelligence to an Internet Web server. This intelligence can ultimately lead to a reduction in the amount of data that is transmitted from the Web server to the Web client. This reduction of transmitted data will lead to better "front of screen" performance on the client side of the connection. The added intelligence on the Web server can also be used to customize the content delivered to the client. This customization can be based on the device capabilities and preferences of the client system.

In order to implement this concept, one would add a Java applet to the HTML page which resided on the system that is running the Web server. This applet queries the device capabilities on the client system. It provides the device capabilities and preferences of the client's machine to a Java servlet which is also running of the Web server workstation. A sample Java applet that queries the client's screen resolution and color depth is displayed below.

import java.awt.*; import java.awt.image.*; import java.net.*;

public class sysParms extends java.applet.Applet {

public void init()

{

Toolkit tk = getToolkit();

Dimension d = tk.getScreenSize();

ColorModel cm = getColorModel();

String sURL = "http://scotty.bocaraton.ibm.com/servlet/SysParmsServlet?" +

"cx=" + d.width + "&" +

"cy=" + d.height + "&" +

"bpp=" + cm.getPixelSize();

System.out.println(sURL);

URL u1;

try

{

u1 = new URL(sURL);

}

catch(MalformedURLException me)

{

System.out.println(me.getMessage());

return;

}

getAppletContext().showDocument(u1);

} // end of init method

} // end of sysParms class

The applet, displayed above, will invoke a Java Servlet called "SysParmsServlet", providing it with the information that it has obtained. The servlet code is displayed below.

1

Page 2 of 3

import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

/**

* This is a simple example of an HTTP Servlet. It responds to the GET

* method of the HTTP protocol and will generate an HTML page that is

* customized to the client's device capabilities.

*/

public class SysParmsServlet extends HttpServlet {

/**

* Handle the GET and HEAD methods by building a simple web page.

* HEAD is just like GET, except that the server returns only the

* headers (including content length) not the body we write.

*/

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

PrintWriter out;

String title = "Simple Servlet Output";

// set content type and other response header fields first

response.setContentType("text/html");

// then write the data of the response

out = response.getWriter();

out.println("<HTML><HEAD><TITLE>");

out.println(title);

out.println("</TITLE></HEAD><BODY>");

out.println("<H1>" + title + "</H1>");

out.println("<P>This is output from SysParmsServlet by Joe.");

Stri...