US6493004B1 - Delayed transmission of controls from a server to a client - Google Patents

Delayed transmission of controls from a server to a client Download PDF

Info

Publication number
US6493004B1
US6493004B1 US08/557,480 US55748095A US6493004B1 US 6493004 B1 US6493004 B1 US 6493004B1 US 55748095 A US55748095 A US 55748095A US 6493004 B1 US6493004 B1 US 6493004B1
Authority
US
United States
Prior art keywords
client
server
child window
document
window control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US08/557,480
Inventor
Ian M. Ellison-Taylor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US08/557,480 priority Critical patent/US6493004B1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TAYLOR, IAN M. ELLISON
Application granted granted Critical
Publication of US6493004B1 publication Critical patent/US6493004B1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the present invention relates generally to computer systems and more particularly to transmission of documents from a server to a client.
  • a control is a predefined child window that carries out a specific kind of input or output.
  • a control is typically given its own window class that defines a window procedure for the control and that identifies attributes for the control.
  • One difficulty that is encountered with including controls on web pages relates to transmission time. In particular, transmitting a document from a server to a client when the document includes a control takes a great deal of time. Since many users typically act in a browsing mode where they wish to quickly jump from web page to web page, the substantial delay caused by the transmission of the control can be particularly frustrating.
  • the present invention eliminates the substantial delay caused by the immediate transmission of the control to a client.
  • a method is practiced in a distributed system that has a server and a client.
  • a document that includes a child window control is provided at the server.
  • a request to receive a copy of the document is received at the server from the client.
  • the document is transferred to the client such that the child window control is not initially transferred. Instead, drawing commands are transferred to the client from the server to draw a dummy window that has a like appearance to the child window control.
  • the child window control may be transferred from the server to the client after a non-negligible predetermined period of time.
  • the child window control is transferred in a fashion that is transparent to a user.
  • the child window control may be received and processed by the client in a background mode of processing. This method is especially useful in transferring web pages as documents.
  • FIG. 1 is a block diagram of a distributed system that is suitable for practicing the preferred embodiment of the present invention.
  • FIGS. 2A and 2B depict a flowchart that illustrates the high-level steps that are performed by the preferred embodiment of the present invention.
  • the preferred embodiment of the present invention provides a mechanism for quickly transmitting documents from a server to a client by delaying the transmission of controls in the documents. Since the controls are not immediately transmitted, the delay incurred by transmitting such controls is not incurred. Thus, users that are browsing web pages may quickly see the contents of the web pages. If the user decides to continue viewing a web page, the control is transmitted after a predetermined delay from the server to the client in the background in a fashion that is transparent to the user. The window associated with the control appears to the user like a typical control, but is actually initially displayed through drawing commands sent from the server to the client. In addition, a proxy control is created at the client to act on behalf of the child window control at the server.
  • FIG. 1 illustrates a suitable system for practicing the preferred embodiment of the present invention.
  • the system includes a server computer system (“server”) 10 and a client computer system 12 (“client”).
  • the server 10 holds a copy of a document 14 , such as a web page.
  • a document 14 such as a web page.
  • HTML HyperText Markup Language
  • the document includes multiple controls 16 . Nevertheless, those skilled in the art will appreciate that the present invention may also work with documents that contain only a single control.
  • the client 12 includes an operating system 20 .
  • the operating system is an embellished version of the Microsoft® Windows® 95 Operating System sold by Microsoft Corporation of Redmond, Washington.
  • the operating system 20 includes a registry 22 that holds configuration information. The role of the registry 22 in the preferred embodiment of the present invention will be described in more detail below.
  • the client 12 also holds a copy of a web browser 18 that is used to browse web pages on the World Wide Web portion of the Internet.
  • a video display 24 is coupled to the client 12 to view video information.
  • FIGS. 2A and 2B illustrate the steps that are performed by the preferred embodiment of the present invention in transferring a document that contains a control from the server 10 to the client 12 .
  • HTTP HyperText Transfer Protocol
  • the client 12 requests the document 14 from the server 10 (step 26 in FIG. 2 A). The client does this by sending a full request message that specifies the GET method.
  • the request includes a Uniform Resource Locator (URL) or other location information for locating the document that is being requested.
  • the server 10 sends a version of the document in the HTML format with tags delimiting each control in the document (step 28 in FIG. 2 A).
  • a tag is a group of syntactically delimited characters that are added to data of a document in order to delimit an element.
  • the preferred embodiment to the present invention embellishes the standard HTML format to define a “control” tag.
  • the web browser 18 includes code for recognizing such a tag.
  • the client 12 looks at the transmitted document 14 and identifies the “control” tag.
  • the client 12 looks at the registry 22 to determine whether the client has the control or not (step 30 in FIG. 2 A).
  • window classes are defined for each type of control. These control window classes are registered within the registry 22 .
  • the client 12 does not find the control in the registry 22 , the client sends a request to the server 10 asking for the control (step 34 in FIG. 2 A).
  • the request may take the form of a typical HTTP request.
  • the server 10 decides whether or not to send the control or alternatively to drawing requests (step 36 in FIG. 2 A).
  • the preferred embodiment of the present invention leaves the decision on whether to send the control immediately or to delay the sending of the control (in favor of sending drawing requests) to the discretion of the server 10 .
  • Those skilled in the art will appreciate that a number of different criteria may be applied to determine whether or not to send the control at this time. If the server 10 decides to send the control, the control is transmitted to the client 12 .
  • the preferred embodiment of the present invention defines a new application program interface (API), denoted as Remote( ) that forwards data over a wire. If the destination is a remote destination, the commands are forwarded to the remote destination. If the destination is a local destination, the API locally calls the appropriate functions.
  • the drawing commands may be typical drawing commands as found in the Microsoft® Windows® 95 Operating system, including FillRect( ) LineTo( ), and the like.
  • the client 12 creates a proxy control that acts as a proxy for the control at the server 10 (step 42 in FIG. 2 A).
  • the preferred embodiment of the present invention defines an API denoted as CreateProxyControl( ) that returns a handle to the window for the proxy control.
  • the server 10 creates a thread so that it can handle messages from multiple clients and loads the DLL that implements the control. This DLL is passed a handle to the client proxy.
  • the preferred embodiment of the present invention then waits a non-negligible period of time, such as five seconds, before performing additional actions relative to the control (step 44 in FIG. 2 B).
  • a non-negligible period of time such as five seconds
  • the idea behind the wait is to ensure that the user is not merely browsing at the document but rather intends to work further with the document. If the user intends to work further with the document, the control needs to be downloaded from the server 10 to the client 12 .
  • the control is sent to the client 12 in the background (step 46 in FIG. 2 B).
  • the client 10 supports a background mode of operation and a foreground mode of operation.
  • the background mode of operation is operates at a lower priority than the foreground mode of operation. Since the control is sent. in the background and because there are no obvious visual effects to the user, the transmission of the control is transparent to the user.
  • the client must change from using the proxy control to using the real. control (step 48 in FIG. 2 B).
  • This changeover involves a number of different steps.
  • the client 12 tells the server 10 to save state information that is associated with the control. For example, with a scroll bar control, the server may be save state information regarding the current position of the slider within the scroll bar.
  • the server 10 then packages the state information and sends it to the client 12 . Any user actions that occur during this transmission may be queued.
  • a window for the control is then created on top of the proxy window and a restore message is sent to restore the state of the control that has been sent from the server 10 .
  • the system must then remove the proxy control and perform various cleanup tasks (step 50 in FIG. 2 B).
  • the housekeeping tasks that may be performed at the client include registering the control within the registry 22 .
  • the client 12 tells the server 10 to clean up the server the side.
  • a mechanism may be provided for aging out controls or eliminating controls when they occupy too much disk space.

Abstract

A server optionally may delay the transmission of a child window control to a client in order to reduce transmission time of a document that includes the child window control. After a non-negligible period of time elapses, the server may transmit the child window control to the client transparently relative to the user of the client. The child window control may be transmitted to the client in the background mode of operation. This approach is especially well adopted for use in the transmission of web pages from a server to a client.

Description

TECHNICAL FIELD
The present invention relates generally to computer systems and more particularly to transmission of documents from a server to a client.
BACKGROUND OF THE INVENTION
With the increasing popularity of the Internet, many people are trying to embellish web pages to include richer custom child window controls (“controls”). A control is a predefined child window that carries out a specific kind of input or output. A control is typically given its own window class that defines a window procedure for the control and that identifies attributes for the control. One difficulty that is encountered with including controls on web pages relates to transmission time. In particular, transmitting a document from a server to a client when the document includes a control takes a great deal of time. Since many users typically act in a browsing mode where they wish to quickly jump from web page to web page, the substantial delay caused by the transmission of the control can be particularly frustrating.
SUMMARY OF THE INVENTION
The present invention eliminates the substantial delay caused by the immediate transmission of the control to a client. In accordance with an aspect of the present invention, a method is practiced in a distributed system that has a server and a client. Per this method, a document that includes a child window control is provided at the server. A request to receive a copy of the document is received at the server from the client. The document is transferred to the client such that the child window control is not initially transferred. Instead, drawing commands are transferred to the client from the server to draw a dummy window that has a like appearance to the child window control. Subsequently, the child window control may be transferred from the server to the client after a non-negligible predetermined period of time. Preferably, the child window control is transferred in a fashion that is transparent to a user. The child window control may be received and processed by the client in a background mode of processing. This method is especially useful in transferring web pages as documents.
BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the present invention will be described in more detail below relative to the following figures.
FIG. 1 is a block diagram of a distributed system that is suitable for practicing the preferred embodiment of the present invention.
FIGS. 2A and 2B depict a flowchart that illustrates the high-level steps that are performed by the preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiment of the present invention provides a mechanism for quickly transmitting documents from a server to a client by delaying the transmission of controls in the documents. Since the controls are not immediately transmitted, the delay incurred by transmitting such controls is not incurred. Thus, users that are browsing web pages may quickly see the contents of the web pages. If the user decides to continue viewing a web page, the control is transmitted after a predetermined delay from the server to the client in the background in a fashion that is transparent to the user. The window associated with the control appears to the user like a typical control, but is actually initially displayed through drawing commands sent from the server to the client. In addition, a proxy control is created at the client to act on behalf of the child window control at the server.
FIG. 1 illustrates a suitable system for practicing the preferred embodiment of the present invention. The system includes a server computer system (“server”) 10 and a client computer system 12 (“client”). The server 10 holds a copy of a document 14, such as a web page. For illustrative purposes in the discussion below, it is assumed that the document is encoded in the HyperText Markup Language (HTML). In an example shown in FIG. 1, the document includes multiple controls 16. Nevertheless, those skilled in the art will appreciate that the present invention may also work with documents that contain only a single control.
The client 12 includes an operating system 20. For illustrative purposes in the discussion below, it is assumed that the operating system is an embellished version of the Microsoft® Windows® 95 Operating System sold by Microsoft Corporation of Redmond, Washington. The operating system 20 includes a registry 22 that holds configuration information. The role of the registry 22 in the preferred embodiment of the present invention will be described in more detail below. The client 12 also holds a copy of a web browser 18 that is used to browse web pages on the World Wide Web portion of the Internet. A video display 24 is coupled to the client 12 to view video information.
FIGS. 2A and 2B illustrate the steps that are performed by the preferred embodiment of the present invention in transferring a document that contains a control from the server 10 to the client 12. For purposes of the discussion below, it is assumed that the HyperText Transfer Protocol (HTTP) is being used. Additionally, the client 12 requests the document 14 from the server 10 (step 26 in FIG. 2A). The client does this by sending a full request message that specifies the GET method. The request includes a Uniform Resource Locator (URL) or other location information for locating the document that is being requested. In response to the request, the server 10 sends a version of the document in the HTML format with tags delimiting each control in the document (step 28 in FIG. 2A). A tag is a group of syntactically delimited characters that are added to data of a document in order to delimit an element. The preferred embodiment to the present invention embellishes the standard HTML format to define a “control” tag. The web browser 18 includes code for recognizing such a tag.
The client 12 looks at the transmitted document 14 and identifies the “control” tag. The client 12 then looks at the registry 22 to determine whether the client has the control or not (step 30 in FIG. 2A). As is described in more detail in copending application entitled “SYSTEM-PROVIDED CHILD WINDOW CONTROLS,” Ser. No. 08/355,400, which is assigned to a common assignee with the present application and which is explicitly incorporated by reference herein, window classes are defined for each type of control. These control window classes are registered within the registry 22. Thus, when the client receives the document 14 and identifies a “control” tag which is followed by an identifier that identifies the control, the client 12 looks into the registry 22 to see if the identified control is currently registered. If the client 12 has the control, the client uses the control (step 32 in FIG. 2A). On the other hand, if the client 12 does not find the control in the registry 22, a number of additional steps must be performed.
Where the client 12 does not find the control in the registry 22, the client sends a request to the server 10 asking for the control (step 34 in FIG. 2A). The request may take the form of a typical HTTP request. The server 10 then decides whether or not to send the control or alternatively to drawing requests (step 36 in FIG. 2A). The preferred embodiment of the present invention leaves the decision on whether to send the control immediately or to delay the sending of the control (in favor of sending drawing requests) to the discretion of the server 10. Those skilled in the art will appreciate that a number of different criteria may be applied to determine whether or not to send the control at this time. If the server 10 decides to send the control, the control is transmitted to the client 12.
When the server 10 decides to not immediately send the control, a drawing request to draw a window that has the appearance of a control is sent instead of the control (step 40 in FIG. 2A). The preferred embodiment of the present invention defines a new application program interface (API), denoted as Remote( ) that forwards data over a wire. If the destination is a remote destination, the commands are forwarded to the remote destination. If the destination is a local destination, the API locally calls the appropriate functions. The drawing commands may be typical drawing commands as found in the Microsoft® Windows® 95 Operating system, including FillRect( ) LineTo( ), and the like.
The client 12 creates a proxy control that acts as a proxy for the control at the server 10 (step 42 in FIG. 2A). The preferred embodiment of the present invention defines an API denoted as CreateProxyControl( ) that returns a handle to the window for the proxy control. The server 10 creates a thread so that it can handle messages from multiple clients and loads the DLL that implements the control. This DLL is passed a handle to the client proxy.
The preferred embodiment of the present invention then waits a non-negligible period of time, such as five seconds, before performing additional actions relative to the control (step 44 in FIG. 2B). The idea behind the wait is to ensure that the user is not merely browsing at the document but rather intends to work further with the document. If the user intends to work further with the document, the control needs to be downloaded from the server 10 to the client 12. After the wait period elapses, the control is sent to the client 12 in the background (step 46 in FIG. 2B). The client 10 supports a background mode of operation and a foreground mode of operation. The background mode of operation is operates at a lower priority than the foreground mode of operation. Since the control is sent. in the background and because there are no obvious visual effects to the user, the transmission of the control is transparent to the user.
Once the control has been fully transmitted from the server 10 to the client 12, the client must change from using the proxy control to using the real. control (step 48 in FIG. 2B). This changeover involves a number of different steps. The client 12 tells the server 10 to save state information that is associated with the control. For example, with a scroll bar control, the server may be save state information regarding the current position of the slider within the scroll bar. The server 10 then packages the state information and sends it to the client 12. Any user actions that occur during this transmission may be queued. A window for the control is then created on top of the proxy window and a restore message is sent to restore the state of the control that has been sent from the server 10. The system must then remove the proxy control and perform various cleanup tasks (step 50 in FIG. 2B). The housekeeping tasks that may be performed at the client include registering the control within the registry 22. The client 12 tells the server 10 to clean up the server the side.
As there is the possibility with the preferred embodiment of the present invention of a large number of controls accumulating at the client 12, a mechanism may be provided for aging out controls or eliminating controls when they occupy too much disk space.
While the present invention has been described with reference to a preferred embodiment thereof, those skilled in the art will appreciate that various changes in form and detail may be made without departing from the intended scope of the present invention as defined in the appended claims.

Claims (15)

What is claimed is:
1. In a distributed system having a server and a client, a method comprising the steps of:
providing a document at the server that includes a child window control;
receiving a request at the server from the client to receive a copy of the document; and
transferring the document to the client wherein the child window control is not initially transferred as part of the transferring of the document and wherein drawing commands are transferred to the client from the server to draw a dummy window that has a like appearance to the child window control.
2. The method of claim 1, further comprising the step of transferring the child window control from the server to the client after a non-negligible predetermined period of time in a fashion that is transparent to a user.
3. The method of claim 2 wherein the computer system supports a background mode of operation and wherein the transferring of the child window control from the server to the client occurs in the background mode of operation.
4. The method of claim 1 wherein the document is a web page.
5. In a system having a server and a client having a video display, a method comprising the steps of:
receiving a request at the server to forward a document to the client, said document including a child window control;
transferring the document without the child window from the server to the client;
sending drawing commands from the server to the client to draw a dummy control that has the appearance of the child window control on the video display of the client; and
creating a proxy control at the client to act on behalf of the child window control.
6. The method of claim 5, further comprising the step of transferring the child window control from the server to the client after a non-negligible period of time in a fashion that is transparent to a user of the client.
7. The method of claim 6, further comprising the step of replacing the proxy control at the client with the child window control that has been transferred from the server.
8. The method of claim 6 wherein the client maintains a registry of configuration information and wherein the method further comprises the step of registering the child window control that has been transferred from the server in the registry.
9. The method of claim 6 wherein the document is a web page.
10. A server comprising:
a storage for storing a document that includes a child window control;
a document transmitter for transmitting at least a portion of the document that does not include the child window control to a client;
a drawing command transmitter for transmitting drawing commands to the client to draw a dummy control at the client in place of the child window control that was not transferred; and
a child window control transmitter for transmitting the child window control to the client a predetermined non-negligible amount of time after the document was transmitted by the document transmitter to the client.
11. The server of claim 1 wherein the child window control transmitter transmits the child window control to the client in a fashion that is transparent to a user of the client.
12. At a client that interacts with a server, a method comprising the steps of:
requesting a document from the server, wherein said document includes a child window control;
receiving a portion of the document that does not include the child window control;
determining that the child window control was not received and in response, creating a proxy control at the client to act on behalf of the child window control; and
receiving and executing drawing commands for the server to draw a dummy window for the child window control.
13. A client computer system for interacting with a server, comprising:
a document requester for requesting a document with a child window control from the server;
a document receiver for receiving the document from the server, said document not including the child window control;
a drawing command receiver for receiving drawing commands from the server to draw a dummy window in place of the child window control in the document at the client; and
a proxy control creator for creating a proxy control at the client to act on behalf of the child window control.
14. The client computer system of claim 13, further comprising:
a child window control receiver for receiving the child window control from the server in a fashion that is transparent to a user of the client computer system.
15. At a server that interacts with a client, a method comprising the steps of:
receiving a request for a document that includes a child window control from the client;
transmitting the document without the child window control to the client; and
after a non-negligible amount of time, transmitting the child window control to the client in a fashion that is transparent to a user of the client.
US08/557,480 1995-11-14 1995-11-14 Delayed transmission of controls from a server to a client Expired - Fee Related US6493004B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/557,480 US6493004B1 (en) 1995-11-14 1995-11-14 Delayed transmission of controls from a server to a client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/557,480 US6493004B1 (en) 1995-11-14 1995-11-14 Delayed transmission of controls from a server to a client

Publications (1)

Publication Number Publication Date
US6493004B1 true US6493004B1 (en) 2002-12-10

Family

ID=24225584

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/557,480 Expired - Fee Related US6493004B1 (en) 1995-11-14 1995-11-14 Delayed transmission of controls from a server to a client

Country Status (1)

Country Link
US (1) US6493004B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4893307A (en) * 1988-02-29 1990-01-09 International Business Machines Corporation Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
US5021949A (en) * 1988-02-29 1991-06-04 International Business Machines Corporation Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5548726A (en) * 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
US5594921A (en) * 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
US5600644A (en) * 1995-03-10 1997-02-04 At&T Method and apparatus for interconnecting LANs

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4893307A (en) * 1988-02-29 1990-01-09 International Business Machines Corporation Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
US5021949A (en) * 1988-02-29 1991-06-04 International Business Machines Corporation Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5548726A (en) * 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
US5594921A (en) * 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
US5600644A (en) * 1995-03-10 1997-02-04 At&T Method and apparatus for interconnecting LANs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Kapinski, Richard, "Hot Java Browser Set for Windows," Communications Week, Sep. 11, 1995, pp. 89 and 90.
Netscape Navigator, Jason Manger, McGraw-Hill, Berkslin, England, Sep. 1995 pp. 22-37, 68-70, 95-97, 277.* *
Quercia, Valerie, and Tim O'Reilly, "X Window System User's Guide for XII Release 5," The Definitive Guides to the X Window System, vol. 3, Sep. 1993, Chapter 1, pp. 5-19; Chapter 3, pp. 33-62; and Chapter 10, pp. 265-302.

Similar Documents

Publication Publication Date Title
US5778372A (en) Remote retrieval and display management of electronic document with incorporated images
US7346843B2 (en) Low-latency, incremental rendering in a content framework
US5978848A (en) Web browser method and system for backgrounding a link access during slow link access time periods
US6112240A (en) Web site client information tracker
EP1109371B1 (en) System and method for dynamically limiting information sent to a handheld device
US6657647B1 (en) Controlling the order in which content is displayed in a browser
EP0978056B1 (en) Providing communications links in a computer network
EP1784963B1 (en) Techniques for delivering personalized content with a real-time routing network
US6859821B1 (en) Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US5787254A (en) Web browser method and system for display and management of server latency
CA2353359C (en) A system and method for abbreviating information sent to a viewing device
US20030093585A1 (en) System and method for providing real-time information to a web browser
JPH11134277A (en) Client side asynchronous form management method and device
EP1811747B1 (en) Method and apparatus for storing and restoring state information of remote user interface
US7062530B2 (en) Browser with messaging capability and other persistent connections
US20020198963A1 (en) Method of timer based download and playback scheme for internet browser
GB2320112A (en) High-availability computer server system
JP2003505760A (en) Method and apparatus for activity-based collaboration by a computer system with a dynamics manager
JPH10320336A (en) Method and device for inserting advertisement, etc., in data stream of client performed network connection to internet to display during free time
JP2000035951A (en) Method and device for multiuser recognition and collaboration
EP1011236A2 (en) System and method for remotely executing an interpretive language application
US20040036912A1 (en) Method and system for accessing documents in environments with limited connection speed, storage, and screen space
US20040003346A1 (en) Omitting forwarder pages in a history list in a browser
US20030163516A1 (en) Session coordination
US20020194327A1 (en) Method for sensing the status of a client from a server

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TAYLOR, IAN M. ELLISON;REEL/FRAME:007791/0187

Effective date: 19951109

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0001

Effective date: 20141014

LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20141210