US20080059583A1 - Browser based web conferencing employing layering to display screen updates - Google Patents

Browser based web conferencing employing layering to display screen updates Download PDF

Info

Publication number
US20080059583A1
US20080059583A1 US11/850,192 US85019207A US2008059583A1 US 20080059583 A1 US20080059583 A1 US 20080059583A1 US 85019207 A US85019207 A US 85019207A US 2008059583 A1 US2008059583 A1 US 2008059583A1
Authority
US
United States
Prior art keywords
screen update
layer
html
update image
request
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.)
Abandoned
Application number
US11/850,192
Inventor
Chengjiang Mao
Yanlin Guan
Lawrence A. Dorie
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.)
RHUB COMMUNICATIONS Inc
Original Assignee
RHUB COMMUNICATIONS Inc
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 RHUB COMMUNICATIONS Inc filed Critical RHUB COMMUNICATIONS Inc
Priority to US11/850,192 priority Critical patent/US20080059583A1/en
Assigned to RHUB COMMUNICATIONS, INC. reassignment RHUB COMMUNICATIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DORIE, LARRY, GUAN, YANLIN, MAO, CHENGJIANG
Publication of US20080059583A1 publication Critical patent/US20080059583A1/en
Priority to US12/768,935 priority patent/US7966371B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4053Arrangements for multi-party communication, e.g. for conferences without floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to web conferencing, and in particular, browser based web conferencing employing layering to display screen updates.
  • Web conferencing can be implemented by screen sharing a presenter's screen with attendees over the Internet.
  • Various techniques have been disclosed to implement the screen sharing aspect, such as with a plug-in (e.g., Flash) that augments the basic operation of a web browser (e.g., Internet Explorer, Safari, Firefox, etc.).
  • a plug-in e.g., Flash
  • a plug-in that augments the basic operation of a web browser
  • an attendee typically must download and install the plug-in before joining a meeting. Downloading a plug-in increases the setup time and complexity for an attendee to join a meeting.
  • the attendee's computer or gateway server
  • Yet another problem is that an attendee may be hesitant to download and install a plug-in for fear of downloading a virus.
  • An alternative technique employs the basic functionality of a browser to implement screen sharing (browser based web conferencing) which obviates the need to download a plug-in.
  • screen sharing browser based web conferencing
  • any attendee with an appropriate browser installed can join a meeting by simply launching the browser and visiting the designated web site.
  • drawbacks have been identified with browser based web conferencing, such as the comparatively slow response time to transmit screen updates from the presenter to the attendees.
  • An embodiment of the present invention comprises a browser based web conferencing method, wherein Hypertext Markup Language (HTML) code is transmitted to a browser of an attendee computer.
  • HTML Hypertext Markup Language
  • a first screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a first layer.
  • a request to receive the screen update image of the first layer is transmitted over the network, and the screen update image of the first layer is displayed.
  • a second screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a second layer.
  • a request to receive the screen update image of the second layer is transmitted over the network, and the screen update image of the second layer is displayed, wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • the HTML code comprises an img HTML tag.
  • the HTML code identifying the screen update image of the first layer comprises a first z-index HTML tag and the HTML code identifying the screen update image of the second layer comprises a second z-index HTML tag.
  • the first update image of the first layer represents a substantially full screen update
  • the second update image of the second layer represents a partial screen update
  • the HTML code of the first layer is stored in an HTML element, and the HTML code of the second layer is appended to the HTML element.
  • the HTML code is deleted from the HTML element when a full screen update image is received.
  • transmission of the screen update request comprises a request-update script.
  • the HTML code of the first layer comprises HTML code identifying a plurality of screen update images of the first layer, and an image-load script is executed in connection with displaying one of the screen update images, wherein the image-load script executes the request-update script after all of the screen update images of the first layer have been displayed.
  • Another embodiment of the present invention comprises a browser based web conferencing system comprising a server computer, a presenter computer, and an attendee computer.
  • the server computer receives screen update images from the presenter computer and transmits the screen update images to the attendee computer.
  • the attendee computer transmits to the server computer a first screen update request, and receives from the server computer HTML code identifying a screen update image of a first layer.
  • the attendee computer transmits a request to the server computer to receive the screen update image of the first layer, and displays the screen update image of the first layer.
  • the attendee computer transmits a second screen update request to the server computer, and receives from the server computer HTML code identifying a screen update image of a second layer.
  • the attendee computer transmits a request to the server computer to receive the screen update image of the second layer, and displays the screen update image of the second layer, wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • FIG. 1A is a flow diagram according to an embodiment of the present invention for implementing browser based web conferencing using layers.
  • FIG. 1B is example HTML code used to display images in layers according to an embodiment of the present invention.
  • FIG. 2 shows a browser based web conferencing system according to an embodiment of the present invention comprising a presenter computer, a server computer, and a plurality of attendee computers.
  • FIG. 3 shows an embodiment of the present invention wherein the screen is divided into a grid of blocks which are then aggregated into a macro block representing a screen update image.
  • FIG. 4A is an example full screen update image transmitted to the attendees.
  • FIG. 4B is an example screen update when a new window is opened.
  • FIG. 4C is another example screen update when the new window is moved.
  • FIG. 4D illustrates an embodiment of the present invention wherein two macro blocks are generated and transmitted corresponding to two screen update images.
  • FIG. 5 shows an embodiment of the present invention wherein the macro blocks of a screen update are transmitted in a delta data packet, wherein a full screen update image (still) is transmitted periodically in order to synchronize the attendees.
  • FIG. 6A is a flow diagram according to an embodiment of the present invention wherein the HTML code for displaying the screen update images is appended to an HTML element.
  • FIG. 6B is a flow diagram according to an embodiment of the present invention wherein the HTML code is deleted from the HTML element when a full screen update image (still) is received.
  • FIG. 7 is a flow diagram according to an embodiment of the present invention wherein all of the screen update images included in a delta data packet are displayed before transmitting a new update request.
  • FIG. 8 is a flow diagram according to an embodiment of the present invention wherein an update request is executed by executing a request-update JavaScript.
  • FIG. 9 is a flow diagram according to an embodiment of the present invention wherein an update request is executed by executing a request-update JavaScript from an image-load JavaScript after displaying all of the images in the current delta data packet.
  • FIG. 10 is a flow diagram according to an embodiment of the present invention wherein a request for a full screen update image is transmitted when a communication error is detected.
  • FIGS. 11A-11C is source code executed by the browser at each attendee computer according to an embodiment of the present invention.
  • FIG. 11D is source code executed by the server computer according to an embodiment of the present invention.
  • FIGS. 12A-12C is source code executed by the browser at each attendee computer according to an alternative embodiment of the present invention.
  • FIG. 12D is source code executed by the server computer according to an alternative embodiment of the present invention.
  • FIG. 1A is a flow diagram according to an embodiment of the present invention for a browser based web conferencing system, wherein Hypertext Markup Language (HTML) code is transmitted to a browser of an attendee computer.
  • a first screen update request is transmitted over a network (step 2 ), and HTML code is received identifying a screen update image of a first layer (step 4 ).
  • a request to receive the screen update image of the first layer is transmitted over the network (step 6 ), and the screen update image of the first layer is displayed (step 8 ).
  • a second screen update request is transmitted over a network (step 10 ), and HTML code is received identifying a screen update image of a second layer (step 12 ).
  • a request to receive the screen update image of the second layer is transmitted over the network (step 14 ), and the screen update image of the second layer is displayed (step 16 ), wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • FIG. 1B shows example HTML code for identifying a screen update image according to an embodiment of the present invention.
  • the HTML code shown in FIG. 1B is received in response to a single update request, for example, an update request for the No. 232 layer.
  • Each screen update image is identified by a source tag (src) followed by an image request URL:
  • the first parameter (mid) in the URL identifies the web meeting
  • the next parameter (uid) identifies an attendee
  • the next parameter (did) identifies the layer
  • the last parameter (iid) (0, 1, and 2) identifies the respective image files (.gif format in the example, which can be any other image format such as .jpeg).
  • the screen update images are displayed according to suitable style parameters as identified by an HTML style tag (style), including a z-index id parameter (232 in the example) that identifies the layer for displaying the screen update images.
  • the browser displays the images of each layer in an ascending order corresponding to the z-index (the images of layer 1 are displayed, then the images of layer 2 , etc.). Displaying the images in layers enables the images of higher layers to overlap images of lower layers as described in more detail below.
  • the update requests may be transmitted over the network to any suitable computer, such as the computer that is displaying the original presentation (the presenter computer).
  • a server computer 20 acts as an intermediary between a presenter computer 22 and the attendee computers 24 A- 24 C. Also in the embodiment of FIG. 2 , the server computer 20 communicates with the presenter computer 22 and the attendee computers 24 A- 24 C over the Internet using a suitable communication protocol.
  • An attendee computer (e.g., 24 A) sends a update to the Server computer 20 .
  • the server determines whether there is a new image to send back to the attendee computer. If not, the server sends a request to the presenter computer 22 .
  • FIG. 4C illustrates an example wherein the newly opened window is moved at the presenter computer 22
  • FIG. 4D illustrates two macro blocks 28 A and 28 B that are generated for two screen update images corresponding to the screen change at the presenter.
  • Any suitable algorithm may be employed to identify the macro blocks, wherein the dimensions of each macro block (screen update image) is ultimately identified using suitable HTML tags, such as the position, left, top, width and height tags shown in the HTML code of FIG. 1B .
  • FIG. 5 shows an embodiment of the present invention wherein the screen update images are transmitted to the attendee computers 24 A- 24 C as delta data packets comprising one or more macro blocks.
  • the first delta data packet (Delta — 1) comprises a single macro block referred to as a “still” which represents a substantially full screen update image of the presenter's screen.
  • the next delta data packet (Delta — 2) comprises one or more macro blocks identifying the screen update images of the presenter's screen, the next delta data packet (Delta — 3) comprising the next screen update images, and so on.
  • an attendee computer will receive a delta data packet comprising a “still” macro block representing a full screen update, and in one embodiment when the delta data packet comprising the “still” macro block is received by the server computer 20 from the presenter computer 22 , all other pending delta's buffered by the server 20 are flushed and the delta comprising the “still” macro block transmitted to all of the attendee computers 24 A- 24 C. In this manner, all of the attendee computers 24 A- 24 C will be synchronized in that they will be displaying the same full screen image.
  • FIG. 6A is a flow diagram according to an embodiment of the present invention wherein the HTML code for identifying the screen update images is stored in an HTML element.
  • the HTML element is instantiated by the browser (step 30 ), and when the browser receives the HTML code identifying the screen update images of a first layer (step 32 ), the HTML code is stored in the HTML element (step 34 ).
  • the screen update images identified by the HTML code stored in the HTML element are then retrieved from the sever computer 20 and displayed at the attendee computer 24 (step 36 ).
  • the browser receives the HTML code identifying the screen update images of the second layer (step 38 )
  • the HTML code is appended to the HTML element (step 40 ).
  • the screen update images identified by all of the HTML code stored in the HTML element are then displayed at the attendee computer 24 (step 42 ).
  • the previously displayed screen update images e.g., for the first layer
  • the new screen update images are received over the network from the server computer 20 .
  • the HTML code may be appended to the HTML element in any suitable manner.
  • the server computer 20 generates a suitable script (e.g., a JavaScript) which is transmitted to the browser at the attendee computer 24 .
  • a suitable script e.g., a JavaScript
  • the browser executes the script (by executing the eval command within the function StateChanged( )), the browser appends the newly received HTML code to the HTML element.
  • step 44 when an attendee computer 24 receives a full screen update image (step 44 ), all of the current HTML code stored in the HTML element is deleted (step 46 ) and the flow diagram continues at step 32 of FIG. 6A . Otherwise, the HTML code identifying the screen update images of the next layer (e.g., 3 rd layer) are received (step 48 ), appended to the HTML element (step 50 ), and displayed (step 52 ) together with the previous screen update images identified by the previous HTML code for all other layers (displayed in ascending order).
  • a script e.g., a JavaScript
  • the network as in the example source code shown in FIGS. 11A-11D
  • the browser at an attendee computer displays all of the screen update images for the current layers before sending a new update request over the network.
  • This embodiment is illustrated in the flow diagram of FIG. 7 wherein after sending an update request over the network (step 54 ), the HTML code identifying the next screen update images is received over the network (step 56 ). The browser then executes the HTML code to retrieve the screen update image of the first layer, which may be retrieved from the local cache or loaded over the network (step 60 ). The screen update image is displayed on the attendee's screen (step 62 ), and if there are more screen update images to display (step 64 ), the flow diagram continues at step 60 . Once all of the screen update images have been displayed, including the screen update images of the layer associated with the current update request, the browser sends a new update request to receive the HTML code identifying the next screen update images (step 54 ).
  • Any suitable code may be employed to generate the update request at the attendee computer.
  • a script e.g., a JavaScript
  • An example script RquestUpdate( ) is shown in the source code of FIGS. 11A-11D which is called from the function Start( ) in the body section of the HTML web page as well as from the function ImageLoad( ).
  • any suitable code may be employed to wait for all of the screen update images to be displayed before sending a new update request.
  • FIG. 11A-11D An example script RquestUpdate( ) is shown in the source code of FIGS. 11A-11D which is called from the function Start( ) in the body section of the HTML web page as well as from the function ImageLoad( ).
  • any suitable code may be employed to wait for all of the screen update images to be displayed before sending a new update request.
  • a script (e.g., a JavaScript) is received by the attendee computer within an HTML web page (step 68 ).
  • An example script ImageLoad( ) is shown in the source code of FIGS. 11A-11D which is called after a screen update image is loaded (received over the network at step 60 ).
  • the onload HTML tag causes the browser to call function ImageLoad( ) after a screen update image is loaded over the network (as opposed to retrieved from the local cache).
  • the screen update images associated with the current update request are loaded over the network, and the ImageLoad( ) function executed after each screen update image is loaded (step 70 ).
  • the ImageLoad( ) function calls the RquestUpdate( ) function to send a new update request over the network (step 54 ).
  • FIG. 10 is a flow diagram according to another embodiment of the present invention wherein when a communication error is detected or when the update request is called the first time (step 72 ), the attendee computer sends a request for a full screen update image (step 74 ).
  • the HTML code identifying the full screen update image is received over the network (step 76 ) and then executed to load the full screen update image over the network (step 78 ).
  • a new update request is sent over the network (step 54 ) and the process continues as described above.
  • a response is not received over the network (e.g., after sending a request to load a screen update image) over a period of time (timeout)
  • a communication error is detected (step 72 ) and a new update request for a full screen update image is sent over the network (step 74 ).
  • a variable gUpdatedInTimeout tracks whether a response has been received over the network.
  • the variable gUpdatedInTimeout is initialized to zero in the Start( ) function, and the Start( ) function is scheduled to be executed at a predetermined interval (gTimeout).
  • the variable gUpdatedInTimeout is set to one in the ImageLoad( ) function after receiving a screen update image over the network. If the ImageLoad( ) function is not called within the timeout interval, the Start( ) function will call the RquestUpdate( ) function with a timeout parameter set to true so that a request for a full screen update image is sent over the network.
  • any suitable source code may be employed in the embodiments of the present invention.
  • alternative source code executed by the browser at each attendee computer is shown FIGS. 12A-12C
  • alternative source code executed by the server computer is shown in FIG. 12D .
  • the layers aspect of the present invention may be implemented in any suitable manner.
  • a z-index HTML tag is employed to simplify the display of images in the appropriate layers.
  • the z-index HTML tag may not be necessary to implement the layers aspect.
  • the z-index HTML tag may not be necessary if the gMaxDiv constant of FIG. 12A is sufficiently large.
  • future versions of browsers may not utilize a z-index HTML tag, or may use a different type of HTML tag.
  • Any suitable browser e.g., Internet Explorer, Safari, Firefox, etc.
  • Any suitable browser may be executed by the attendee computers 24 A- 24 C in order to implement the various embodiments of the present invention.
  • earlier versions of browsers may not include sufficient resources to implement all of the embodiments disclosed above.
  • the ability to display images in layers e.g., using the z-index parameter
  • most computers have been installed or updated with browsers having the capabilities to implement all of the above embodiments.
  • an attendee computer has not yet been installed or updated with a newer browser, the concern of downloading a virus is ameliorated since installing or updating a browser typically involves downloading a trusted application.

Abstract

A browser based web conferencing method is disclosed, wherein Hypertext Markup Language (HTML) code is transmitted to a browser of an attendee computer. A first screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a first layer. A request to receive the screen update image of the first layer is transmitted over the network, and the screen update image of the first layer is displayed. A second screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a second layer. A request to receive the screen update image of the second layer is transmitted over the network, and the screen update image of the second layer is displayed, wherein the screen update image of the second layer overlaps the screen update image of the first layer.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority from Provisional Application Ser. No. 60/842,729 filed Sep. 6, 2006.
  • BACKGROUND
  • 1. Field
  • The present invention relates to web conferencing, and in particular, browser based web conferencing employing layering to display screen updates.
  • 2. Description of the Related Art
  • Web conferencing can be implemented by screen sharing a presenter's screen with attendees over the Internet. Various techniques have been disclosed to implement the screen sharing aspect, such as with a plug-in (e.g., Flash) that augments the basic operation of a web browser (e.g., Internet Explorer, Safari, Firefox, etc.). However, if the plug-in is not pre-installed on an attendee's computer, an attendee typically must download and install the plug-in before joining a meeting. Downloading a plug-in increases the setup time and complexity for an attendee to join a meeting. In addition, the attendee's computer (or gateway server) may have firewall software installed that may inhibit or further complicate the download and installation of the plug-in. Yet another problem is that an attendee may be hesitant to download and install a plug-in for fear of downloading a virus.
  • An alternative technique employs the basic functionality of a browser to implement screen sharing (browser based web conferencing) which obviates the need to download a plug-in. Thus, any attendee with an appropriate browser installed can join a meeting by simply launching the browser and visiting the designated web site. However, several drawbacks have been identified with browser based web conferencing, such as the comparatively slow response time to transmit screen updates from the presenter to the attendees.
  • SUMMARY OF THE EMBODIMENTS OF THE INVENTION
  • An embodiment of the present invention comprises a browser based web conferencing method, wherein Hypertext Markup Language (HTML) code is transmitted to a browser of an attendee computer. A first screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a first layer. A request to receive the screen update image of the first layer is transmitted over the network, and the screen update image of the first layer is displayed. A second screen update request is transmitted over a network, and HTML code is received identifying a screen update image of a second layer. A request to receive the screen update image of the second layer is transmitted over the network, and the screen update image of the second layer is displayed, wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • In one embodiment, the HTML code comprises an img HTML tag.
  • In another embodiment, the HTML code identifying the screen update image of the first layer comprises a first z-index HTML tag and the HTML code identifying the screen update image of the second layer comprises a second z-index HTML tag.
  • In one embodiment, the first update image of the first layer represents a substantially full screen update, and the second update image of the second layer represents a partial screen update.
  • In yet another embodiment, the HTML code of the first layer is stored in an HTML element, and the HTML code of the second layer is appended to the HTML element. In one embodiment, the HTML code is deleted from the HTML element when a full screen update image is received.
  • In still another embodiment, transmission of the screen update request comprises a request-update script. In one embodiment, the HTML code of the first layer comprises HTML code identifying a plurality of screen update images of the first layer, and an image-load script is executed in connection with displaying one of the screen update images, wherein the image-load script executes the request-update script after all of the screen update images of the first layer have been displayed.
  • In another embodiment, when a communication error is detected, a request for a full screen update image is transmitted.
  • Another embodiment of the present invention comprises a browser based web conferencing system comprising a server computer, a presenter computer, and an attendee computer. The server computer receives screen update images from the presenter computer and transmits the screen update images to the attendee computer. The attendee computer transmits to the server computer a first screen update request, and receives from the server computer HTML code identifying a screen update image of a first layer. The attendee computer transmits a request to the server computer to receive the screen update image of the first layer, and displays the screen update image of the first layer. The attendee computer transmits a second screen update request to the server computer, and receives from the server computer HTML code identifying a screen update image of a second layer. The attendee computer transmits a request to the server computer to receive the screen update image of the second layer, and displays the screen update image of the second layer, wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1A is a flow diagram according to an embodiment of the present invention for implementing browser based web conferencing using layers.
  • FIG. 1B is example HTML code used to display images in layers according to an embodiment of the present invention.
  • FIG. 2 shows a browser based web conferencing system according to an embodiment of the present invention comprising a presenter computer, a server computer, and a plurality of attendee computers.
  • FIG. 3 shows an embodiment of the present invention wherein the screen is divided into a grid of blocks which are then aggregated into a macro block representing a screen update image.
  • FIG. 4A is an example full screen update image transmitted to the attendees.
  • FIG. 4B is an example screen update when a new window is opened.
  • FIG. 4C is another example screen update when the new window is moved.
  • FIG. 4D illustrates an embodiment of the present invention wherein two macro blocks are generated and transmitted corresponding to two screen update images.
  • FIG. 5 shows an embodiment of the present invention wherein the macro blocks of a screen update are transmitted in a delta data packet, wherein a full screen update image (still) is transmitted periodically in order to synchronize the attendees.
  • FIG. 6A is a flow diagram according to an embodiment of the present invention wherein the HTML code for displaying the screen update images is appended to an HTML element.
  • FIG. 6B is a flow diagram according to an embodiment of the present invention wherein the HTML code is deleted from the HTML element when a full screen update image (still) is received.
  • FIG. 7 is a flow diagram according to an embodiment of the present invention wherein all of the screen update images included in a delta data packet are displayed before transmitting a new update request.
  • FIG. 8 is a flow diagram according to an embodiment of the present invention wherein an update request is executed by executing a request-update JavaScript.
  • FIG. 9 is a flow diagram according to an embodiment of the present invention wherein an update request is executed by executing a request-update JavaScript from an image-load JavaScript after displaying all of the images in the current delta data packet.
  • FIG. 10 is a flow diagram according to an embodiment of the present invention wherein a request for a full screen update image is transmitted when a communication error is detected.
  • FIGS. 11A-11C is source code executed by the browser at each attendee computer according to an embodiment of the present invention.
  • FIG. 11D is source code executed by the server computer according to an embodiment of the present invention.
  • FIGS. 12A-12C is source code executed by the browser at each attendee computer according to an alternative embodiment of the present invention.
  • FIG. 12D is source code executed by the server computer according to an alternative embodiment of the present invention.
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • FIG. 1A is a flow diagram according to an embodiment of the present invention for a browser based web conferencing system, wherein Hypertext Markup Language (HTML) code is transmitted to a browser of an attendee computer. A first screen update request is transmitted over a network (step 2), and HTML code is received identifying a screen update image of a first layer (step 4). A request to receive the screen update image of the first layer is transmitted over the network (step 6), and the screen update image of the first layer is displayed (step 8). A second screen update request is transmitted over a network (step 10), and HTML code is received identifying a screen update image of a second layer (step 12). A request to receive the screen update image of the second layer is transmitted over the network (step 14), and the screen update image of the second layer is displayed (step 16), wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
  • FIG. 1B shows example HTML code for identifying a screen update image according to an embodiment of the present invention. The HTML code shown in FIG. 1B is received in response to a single update request, for example, an update request for the No. 232 layer. Three screen update images are identified by the HTML code using three HTML image tags (img with image iid=0, iid=1, iid=2). Each screen update image is identified by a source tag (src) followed by an image request URL:
  • “/request-img?mid=293902&uid=2&did=232&iid=0”,
  • “/request-img?mid=293902&uid=2&did=232&iid=1”,
  • “/request-img?mid=293902&uid=2&did=232&iid=2”.
  • The first parameter (mid) in the URL identifies the web meeting, the next parameter (uid) identifies an attendee, the next parameter (did) identifies the layer, and the last parameter (iid) (0, 1, and 2) identifies the respective image files (.gif format in the example, which can be any other image format such as .jpeg). The screen update images are displayed according to suitable style parameters as identified by an HTML style tag (style), including a z-index id parameter (232 in the example) that identifies the layer for displaying the screen update images. In one embodiment, the browser displays the images of each layer in an ascending order corresponding to the z-index (the images of layer 1 are displayed, then the images of layer 2, etc.). Displaying the images in layers enables the images of higher layers to overlap images of lower layers as described in more detail below.
  • The update requests may be transmitted over the network to any suitable computer, such as the computer that is displaying the original presentation (the presenter computer). In an alternative embodiment shown in FIG. 2, a server computer 20 acts as an intermediary between a presenter computer 22 and the attendee computers 24A-24C. Also in the embodiment of FIG. 2, the server computer 20 communicates with the presenter computer 22 and the attendee computers 24A-24C over the Internet using a suitable communication protocol. An attendee computer (e.g., 24A) sends a update to the Server computer 20. The server determines whether there is a new image to send back to the attendee computer. If not, the server sends a request to the presenter computer 22. The server receives a screen a update image from the presenter computer and sends the image to the attendee computer (24A) that makes the initial update request. Meanwhile, the server buffers the received images from the presenter computer in order to respond to later update requests from other attendees (24B, 24C). In one embodiment, each attendee computer 24A-24C communicates over a different connection having a different data rate, and therefore the attendee computers 24A-24C may be out of sync with respect to the screen update images (i.e., some of the attendee computers may be slower than others in receiving the screen update images). In an embodiment disclosed in more detail below, the server computer 20 may periodically transmit a full screen update image to all of the attendee computers 24A-24C in order to resynchronize all of the attendee computers 24A-24C.
  • FIG. 3 shows an embodiment wherein the screen of the presenter computer 22 is represented as a grid of blocks which are aggregated to form a macro block (e.g., macro block 26A) representing a screen update image. A full screen update image is generated by forming a macro block comprising all of the blocks of the screen. Thus, in one embodiment a full screen update image is generated first (corresponding to the first layer) and transmitted to the attendee computers 24A-24C. Then when the presenter's screen changes (e.g., as shown by macro blocks 26A and 26B), only the screen update images forming a delta are transmitted to the attendee computers 24A-24C that display the delta in the next layer.
  • FIGS. 4A-4B further illustrate an embodiment of the present invention, wherein the presenter's screen initially comprises a spread sheet document as shown in FIG. 4A and wherein a corresponding initial full screen update image is generated and transmitted to the attendee computers 24A-24C. FIG. 4B shows that the presenter's screen changes by opening a new window, wherein a corresponding screen update image is generated and transmitted to the attendee computers 24A-24C for display in a new layer. Note that the screen update image representing the newly opened window overlaps the previous full screen update image. Thus, when the browser of the attendee computers displays the update, it first displays the initial full screen update image in a first layer, and then displays the screen update image corresponding to the newly opened window in a second layer that overlaps the first layer.
  • FIG. 4C illustrates an example wherein the newly opened window is moved at the presenter computer 22, and FIG. 4D illustrates two macro blocks 28A and 28B that are generated for two screen update images corresponding to the screen change at the presenter. Any suitable algorithm may be employed to identify the macro blocks, wherein the dimensions of each macro block (screen update image) is ultimately identified using suitable HTML tags, such as the position, left, top, width and height tags shown in the HTML code of FIG. 1B.
  • FIG. 5 shows an embodiment of the present invention wherein the screen update images are transmitted to the attendee computers 24A-24C as delta data packets comprising one or more macro blocks. The first delta data packet (Delta1) comprises a single macro block referred to as a “still” which represents a substantially full screen update image of the presenter's screen. The next delta data packet (Delta2) comprises one or more macro blocks identifying the screen update images of the presenter's screen, the next delta data packet (Delta3) comprising the next screen update images, and so on. In one embodiment, an attendee computer will receive a delta data packet comprising a “still” macro block representing a full screen update, and in one embodiment when the delta data packet comprising the “still” macro block is received by the server computer 20 from the presenter computer 22, all other pending delta's buffered by the server 20 are flushed and the delta comprising the “still” macro block transmitted to all of the attendee computers 24A-24C. In this manner, all of the attendee computers 24A-24C will be synchronized in that they will be displaying the same full screen image.
  • FIG. 6A is a flow diagram according to an embodiment of the present invention wherein the HTML code for identifying the screen update images is stored in an HTML element. The HTML element is instantiated by the browser (step 30), and when the browser receives the HTML code identifying the screen update images of a first layer (step 32), the HTML code is stored in the HTML element (step 34). The screen update images identified by the HTML code stored in the HTML element are then retrieved from the sever computer 20 and displayed at the attendee computer 24 (step 36). When the browser receives the HTML code identifying the screen update images of the second layer (step 38), the HTML code is appended to the HTML element (step 40). The screen update images identified by all of the HTML code stored in the HTML element are then displayed at the attendee computer 24 (step 42). In one embodiment, the previously displayed screen update images (e.g., for the first layer) are retrieved from a local cache at the attendee computer 24, whereas the new screen update images (e.g., for the second layer) are received over the network from the server computer 20.
  • The HTML code may be appended to the HTML element in any suitable manner. In one embodiment illustrated by the source code shown in FIGS. 11A-11D, the server computer 20 generates a suitable script (e.g., a JavaScript) which is transmitted to the browser at the attendee computer 24. When the browser executes the script (by executing the eval command within the function StateChanged( )), the browser appends the newly received HTML code to the HTML element.
  • In an embodiment shown in FIG. 6B, when an attendee computer 24 receives a full screen update image (step 44), all of the current HTML code stored in the HTML element is deleted (step 46) and the flow diagram continues at step 32 of FIG. 6A. Otherwise, the HTML code identifying the screen update images of the next layer (e.g., 3rd layer) are received (step 48), appended to the HTML element (step 50), and displayed (step 52) together with the previous screen update images identified by the previous HTML code for all other layers (displayed in ascending order). In one embodiment, a script (e.g., a JavaScript) is received over the network (as in the example source code shown in FIGS. 11A-11D) which causes the current HTML code stored in the HTML element to be deleted (step 46) and replaced by the HTML code identifying the full screen update image.
  • In one embodiment, the browser at an attendee computer displays all of the screen update images for the current layers before sending a new update request over the network. This embodiment is illustrated in the flow diagram of FIG. 7 wherein after sending an update request over the network (step 54), the HTML code identifying the next screen update images is received over the network (step 56). The browser then executes the HTML code to retrieve the screen update image of the first layer, which may be retrieved from the local cache or loaded over the network (step 60). The screen update image is displayed on the attendee's screen (step 62), and if there are more screen update images to display (step 64), the flow diagram continues at step 60. Once all of the screen update images have been displayed, including the screen update images of the layer associated with the current update request, the browser sends a new update request to receive the HTML code identifying the next screen update images (step 54).
  • Any suitable code may be employed to generate the update request at the attendee computer. In an embodiment shown in the flow diagram of FIG. 8, a script (e.g., a JavaScript) is received by the attendee computer within an HTML web page (step 66). An example script RquestUpdate( ) is shown in the source code of FIGS. 11A-11D which is called from the function Start( ) in the body section of the HTML web page as well as from the function ImageLoad( ). Similarly, any suitable code may be employed to wait for all of the screen update images to be displayed before sending a new update request. In an embodiment shown in the flow diagram of FIG. 9, a script (e.g., a JavaScript) is received by the attendee computer within an HTML web page (step 68). An example script ImageLoad( ) is shown in the source code of FIGS. 11A-11D which is called after a screen update image is loaded (received over the network at step 60). Referring to the example HTML code of FIG. 1B, the onload HTML tag causes the browser to call function ImageLoad( ) after a screen update image is loaded over the network (as opposed to retrieved from the local cache). After displaying all of the cached screen update images (step 62), the screen update images associated with the current update request are loaded over the network, and the ImageLoad( ) function executed after each screen update image is loaded (step 70). Once all of the new screen update images have been loaded and displayed, the ImageLoad( ) function calls the RquestUpdate( ) function to send a new update request over the network (step 54).
  • FIG. 10 is a flow diagram according to another embodiment of the present invention wherein when a communication error is detected or when the update request is called the first time (step 72), the attendee computer sends a request for a full screen update image (step 74). The HTML code identifying the full screen update image is received over the network (step 76) and then executed to load the full screen update image over the network (step 78). After displaying the full screen update image (step 80), a new update request is sent over the network (step 54) and the process continues as described above. If a response is not received over the network (e.g., after sending a request to load a screen update image) over a period of time (timeout), a communication error is detected (step 72) and a new update request for a full screen update image is sent over the network (step 74).
  • Any suitable code may be employed to detect when to send an update request for a full screen update image in response to a communication error. In the source code of FIGS. 11A-11D, a variable gUpdatedInTimeout tracks whether a response has been received over the network. The variable gUpdatedInTimeout is initialized to zero in the Start( ) function, and the Start( ) function is scheduled to be executed at a predetermined interval (gTimeout). The variable gUpdatedInTimeout is set to one in the ImageLoad( ) function after receiving a screen update image over the network. If the ImageLoad( ) function is not called within the timeout interval, the Start( ) function will call the RquestUpdate( ) function with a timeout parameter set to true so that a request for a full screen update image is sent over the network.
  • Any suitable source code may be employed in the embodiments of the present invention. For example, alternative source code executed by the browser at each attendee computer is shown FIGS. 12A-12C, and alternative source code executed by the server computer is shown in FIG. 12D. In addition, the layers aspect of the present invention may be implemented in any suitable manner. In the embodiments described above, a z-index HTML tag is employed to simplify the display of images in the appropriate layers. However, the z-index HTML tag may not be necessary to implement the layers aspect. For example, the z-index HTML tag may not be necessary if the gMaxDiv constant of FIG. 12A is sufficiently large. In addition, future versions of browsers may not utilize a z-index HTML tag, or may use a different type of HTML tag.
  • Any suitable browser (e.g., Internet Explorer, Safari, Firefox, etc.) may be executed by the attendee computers 24A-24C in order to implement the various embodiments of the present invention. However, earlier versions of browsers may not include sufficient resources to implement all of the embodiments disclosed above. For example, the ability to display images in layers (e.g., using the z-index parameter) may not be supported by older browsers. However, most computers have been installed or updated with browsers having the capabilities to implement all of the above embodiments. Further, if an attendee computer has not yet been installed or updated with a newer browser, the concern of downloading a virus is ameliorated since installing or updating a browser typically involves downloading a trusted application.

Claims (20)

1. A browser based web conferencing method, the method comprising transmitting Hypertext Markup Language (HTML) code to a browser of an attendee computer connected to a network, the HTML code comprising code segments for:
transmitting over the network a first screen update request;
receiving over the network HTML code identifying a screen update image of a first layer;
transmitting over the network a request to receive the screen update image of the first layer;
displaying the screen update image of the first layer;
transmitting over the network a second screen update request;
receiving over the network HTML code identifying a screen update image of a second layer;
transmitting over the network a request to receive the screen update image of the second layer; and
receiving and displaying the screen update image of the second layer,
wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
2. The method as recited in claim 1, wherein the HTML code comprises an img HTML tag.
3. The method as recited in claim 1, wherein the HTML code identifying the screen update image of the first layer comprises a first z-index HTML tag and the HTML code identifying the screen update image of the second layer comprises a second z-index HTML tag.
4. The method as recited in claim 1, wherein:
the first update image of the first layer represents a substantially full screen update; and
the second update image of the second layer represents a partial screen update.
5. The method as recited in claim 1, wherein the HTML code further comprises code segments for:
storing the HTML code of the first layer in an HTML element; and
appending the HTML code of the second layer to the HTML element.
6. The method as recited in claim 5, wherein the HTML code further comprises a code segment for deleting the HTML code from the HTML element when a full screen update image is received.
7. The method as recited in claim 1, wherein the code segment for transmitting over the network the screen update request comprises a request-update script.
8. The method as recited in claim 7, wherein:
the code segment for receiving the HTML code of the first layer comprises a code segment for receiving HTML code identifying a plurality of screen update images of the first layer; and
the code segment for transmitting over the network a request to receive the screen update image of the first layer comprises an image-load script executed in connection with receiving one of the screen update images, wherein the image-load script executes the request-update script after all of the screen update images of the first layer have been displayed.
9. The method as recited in claim 1, wherein the HTML code further comprises code segments for:
detecting a communication error by a timeout period when a browser has not received any images; and
transmitting over the network a request for a full screen update image in response to the communication error.
10. A computer readable medium comprising code segments to be executed by a computer, the code segments for:
transmitting over a network a first screen update request;
receiving over the network Hypertext Markup Language (HTML) code identifying a screen update image of a first layer;
transmitting over the network a request to receive the screen update image of the first layer;
displaying the screen update image of the first layer;
transmitting over the network a second screen update request;
receiving over the network HTML code identifying a screen update image of a second layer;
transmitting over the network a request to receive the screen update image of the second layer; and
receiving and displaying the screen update image of the second layer,
wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
11. The computer readable medium as recited in claim 10, wherein the HTML code comprises an img HTML tag.
12. The computer readable medium as recited in claim 10, wherein the HTML code identifying the screen update image of the first layer comprises a first z-index HTML tag and the HTML code identifying the screen update image of the second layer comprises a second z-index HTML tag.
13. The computer readable medium as recited in claim 10, wherein:
the first update image of the first layer represents a substantially full screen update; and
the second update image of the second layer represents a partial screen update.
14. The computer readable medium as recited in claim 10, further comprising code segments for:
storing the HTML code of the first layer in an HTML element; and
appending the HTML code of the second layer to the HTML element.
15. The computer readable medium as recited in claim 14, further comprising a code segment for deleting the HTML code from the HTML element when a full screen update image is received.
16. The computer readable medium as recited in claim 10, wherein the code segment for transmitting over the network the screen update request comprises a request-update script.
17. The computer readable medium as recited in claim 16, wherein:
the code segment for receiving the HTML code of the first layer comprises a code segment for receiving HTML code identifying a plurality of screen update images of the first layer; and
the code segment for transmitting over the network a request to receive the screen update image of the first layer comprises an image-load script executed in connection with displaying one of the screen update images, wherein the image-load script executes the request-update script after all of the screen update images of the first layer have been displayed.
18. The computer readable medium as recited in claim 10, further comprising code segments for:
detecting a communication error; and
transmitting over the network a request for a full screen update image in response to the communication error.
19. A browser based web conferencing method comprising:
an attendee computer transmitting over a network a first screen update request;
the attendee computer receiving over the network Hypertext Markup Language (HTML) code identifying a screen update image of a first layer;
the attendee computer transmitting over the network a request to receive the screen update image of the first layer;
the attendee computer displaying the screen update image of the first layer;
the attendee computer transmitting over the network a second screen update request;
the attendee computer receiving over the network HTML code identifying a screen update image of a second layer;
the attendee computer transmitting over the network a request to receive the screen update image of the second layer; and
the attendee computer displaying the screen update image of the second layer,
wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
20. A browser based web conferencing system comprising a server computer, a presenter computer, and an attendee computer, wherein
the server computer for receiving screen update images from the presenter computer and for transmitting the screen update images to the attendee computer;
the attendee computer for transmitting to the server computer a first screen update request;
the attendee computer for receiving from the server computer Hypertext Markup Language (HTML) code identifying a screen update image of a first layer;
the attendee computer for transmitting to the server computer a request to receive the screen update image of the first layer;
the attendee computer for displaying the screen update image of the first layer;
the attendee computer for transmitting to the server computer a second screen update request;
the attendee computer for receiving from the server computer HTML code identifying a screen update image of a second layer;
the attendee computer for transmitting to the server computer a request to receive the screen update image of the second layer; and
the attendee computer for displaying the screen update image of the second layer,
wherein the screen update image of the second layer overlaps at least part of the screen update image of the first layer.
US11/850,192 2006-09-06 2007-09-05 Browser based web conferencing employing layering to display screen updates Abandoned US20080059583A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/850,192 US20080059583A1 (en) 2006-09-06 2007-09-05 Browser based web conferencing employing layering to display screen updates
US12/768,935 US7966371B2 (en) 2006-09-06 2010-04-28 Browser based web conferencing employing layering to display screen updates

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84272906P 2006-09-06 2006-09-06
US11/850,192 US20080059583A1 (en) 2006-09-06 2007-09-05 Browser based web conferencing employing layering to display screen updates

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/768,935 Continuation US7966371B2 (en) 2006-09-06 2010-04-28 Browser based web conferencing employing layering to display screen updates

Publications (1)

Publication Number Publication Date
US20080059583A1 true US20080059583A1 (en) 2008-03-06

Family

ID=39153316

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/850,192 Abandoned US20080059583A1 (en) 2006-09-06 2007-09-05 Browser based web conferencing employing layering to display screen updates
US12/768,935 Expired - Fee Related US7966371B2 (en) 2006-09-06 2010-04-28 Browser based web conferencing employing layering to display screen updates

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/768,935 Expired - Fee Related US7966371B2 (en) 2006-09-06 2010-04-28 Browser based web conferencing employing layering to display screen updates

Country Status (1)

Country Link
US (2) US20080059583A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106347A1 (en) * 2007-10-17 2009-04-23 Citrix Systems, Inc. Methods and systems for providing access, from within a virtual world, to an external resource
WO2011039594A1 (en) * 2009-09-29 2011-04-07 Ultra Sales Technology Inc. Systems and methods for controlling the content displayed on the browser of a remote user
US20110126130A1 (en) * 2009-11-24 2011-05-26 Adam Michael Lieb Method and system for browser-based screen sharing
US20140013235A1 (en) * 2012-07-03 2014-01-09 Intemational Business Machines Corporation Representing a graphical user interface using a topic tree structure
US20140025784A1 (en) * 2003-12-22 2014-01-23 International Business Machines Corporation Pull-configured distribution of imagery
US9471694B2 (en) 2011-05-30 2016-10-18 Clearslide, Inc. Method and system for browser-based control of a remote computer
CN107562852A (en) * 2017-08-28 2018-01-09 网易乐得科技有限公司 A kind of page display method, medium, device and computing device
US10311130B1 (en) * 2016-05-09 2019-06-04 Amazon Technologies, Inc. Dynamic page transitions in electronic content
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US11379174B2 (en) * 2019-07-04 2022-07-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5230401B2 (en) * 2008-12-19 2013-07-10 キヤノン株式会社 Display control device, image processing device
US8994748B2 (en) 2011-05-10 2015-03-31 Google Inc. Anchors for displaying image sprites, sub-regions and 3D images
US9293008B2 (en) 2012-03-16 2016-03-22 Bally Gaming, Inc. Layout elements as rendering placeholders for native wagering game applications

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491780A (en) * 1992-09-15 1996-02-13 International Business Machines Corporation System and method for efficient computer workstation screen updates
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US6295551B1 (en) * 1996-05-07 2001-09-25 Cisco Technology, Inc. Call center system where users and representatives conduct simultaneous voice and joint browsing sessions
US20020038346A1 (en) * 2000-08-10 2002-03-28 Frank Morrison Method for screen image sharing
US20020054044A1 (en) * 2000-11-08 2002-05-09 Lee-Chung Lu Collaborative screen sharing system
US20020198938A1 (en) * 2001-04-24 2002-12-26 Fujitsu Limited Display engagement system
US20030072429A1 (en) * 2001-10-17 2003-04-17 Infocus Corporation Dataconferencing appliance and system
US20030085923A1 (en) * 2000-05-02 2003-05-08 Chen Tsung-Yen ( Eric ) Method and apparatus for conducting a collaboration session in which screen displays are commonly shared with participants
US6668273B1 (en) * 1999-11-18 2003-12-23 Raindance Communications, Inc. System and method for application viewing through collaborative web browsing session
US20040080528A1 (en) * 2000-06-21 2004-04-29 Watchit.Com,Inc. Systems and methods for presenting interactive programs over the internet
US6766356B1 (en) * 2000-09-14 2004-07-20 Genesys Conferencing, Ltd. Method and system for remotely modifying presentations in a multimedia conference
US20050097159A1 (en) * 2003-11-05 2005-05-05 Skidgel Brandon S. Apparatus and method for remotely sharing information and providing remote interactive assistance via a communications network
US20050108095A1 (en) * 2000-08-09 2005-05-19 Adicus Media. Inc. System and method for electronic advertising, advertisement play tracking and method of payment
US20050138117A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Method and system for pushing notifications to networked device
US20050193062A1 (en) * 2004-02-27 2005-09-01 International Business Machines Corporation Collaboration server, collaboration system, and method and program for collaboration server and system
US20050198139A1 (en) * 2004-02-25 2005-09-08 International Business Machines Corporation Multispeaker presentation system and method
US20060031779A1 (en) * 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US20060271624A1 (en) * 2005-05-12 2006-11-30 International Business Machines Corporation Method, system, and computer program product for web conference participant display render acknowledgement
US20070050448A1 (en) * 2005-08-25 2007-03-01 Polycom, Inc. Method and system for information collaboration over an IP network via handheld wireless communication devices
US20070094380A1 (en) * 2005-10-20 2007-04-26 Samuel Fu Method and apparatus for collocating application monitoring reports with web applications
US20070185956A1 (en) * 2006-02-09 2007-08-09 Ogle David M Communication system and method
US7271815B2 (en) * 2004-10-21 2007-09-18 International Business Machines Corporation System, method and program to generate a blinking image
US20080209327A1 (en) * 2007-02-27 2008-08-28 Microsoft Corporation Persistent spatial collaboration
US7523393B2 (en) * 2003-03-07 2009-04-21 International Business Machines Corporation Dynamically updating rendered content

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156815A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
US6973623B2 (en) * 2001-06-14 2005-12-06 International Business Machines Corporation System and method for client refresh mode selection
US7230621B2 (en) * 2002-02-19 2007-06-12 Adams Jr William O Three-dimensional imaging system and methods
KR100772861B1 (en) * 2005-09-23 2007-11-02 삼성전자주식회사 Apparatus and method for providing remote user interface

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491780A (en) * 1992-09-15 1996-02-13 International Business Machines Corporation System and method for efficient computer workstation screen updates
US6295551B1 (en) * 1996-05-07 2001-09-25 Cisco Technology, Inc. Call center system where users and representatives conduct simultaneous voice and joint browsing sessions
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US7228332B2 (en) * 1999-11-18 2007-06-05 Intercall, Inc. System and method for application viewing through collaborative web browsing session
US7373381B2 (en) * 1999-11-18 2008-05-13 Intercall, Inc. System and method for application viewing through collaborative web browsing session
US6668273B1 (en) * 1999-11-18 2003-12-23 Raindance Communications, Inc. System and method for application viewing through collaborative web browsing session
US20030085923A1 (en) * 2000-05-02 2003-05-08 Chen Tsung-Yen ( Eric ) Method and apparatus for conducting a collaboration session in which screen displays are commonly shared with participants
US6809749B1 (en) * 2000-05-02 2004-10-26 Oridus, Inc. Method and apparatus for conducting an interactive design conference over the internet
US20040080528A1 (en) * 2000-06-21 2004-04-29 Watchit.Com,Inc. Systems and methods for presenting interactive programs over the internet
US20050108095A1 (en) * 2000-08-09 2005-05-19 Adicus Media. Inc. System and method for electronic advertising, advertisement play tracking and method of payment
US20020038346A1 (en) * 2000-08-10 2002-03-28 Frank Morrison Method for screen image sharing
US6766356B1 (en) * 2000-09-14 2004-07-20 Genesys Conferencing, Ltd. Method and system for remotely modifying presentations in a multimedia conference
US20020054044A1 (en) * 2000-11-08 2002-05-09 Lee-Chung Lu Collaborative screen sharing system
US20020198938A1 (en) * 2001-04-24 2002-12-26 Fujitsu Limited Display engagement system
US7174505B2 (en) * 2001-04-24 2007-02-06 Fujitsu Limited Display engagement system
US20030072429A1 (en) * 2001-10-17 2003-04-17 Infocus Corporation Dataconferencing appliance and system
US7523393B2 (en) * 2003-03-07 2009-04-21 International Business Machines Corporation Dynamically updating rendered content
US20050097159A1 (en) * 2003-11-05 2005-05-05 Skidgel Brandon S. Apparatus and method for remotely sharing information and providing remote interactive assistance via a communications network
US20050138117A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Method and system for pushing notifications to networked device
US20050198139A1 (en) * 2004-02-25 2005-09-08 International Business Machines Corporation Multispeaker presentation system and method
US20050193062A1 (en) * 2004-02-27 2005-09-01 International Business Machines Corporation Collaboration server, collaboration system, and method and program for collaboration server and system
US20060031779A1 (en) * 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US7271815B2 (en) * 2004-10-21 2007-09-18 International Business Machines Corporation System, method and program to generate a blinking image
US20060271624A1 (en) * 2005-05-12 2006-11-30 International Business Machines Corporation Method, system, and computer program product for web conference participant display render acknowledgement
US20070050448A1 (en) * 2005-08-25 2007-03-01 Polycom, Inc. Method and system for information collaboration over an IP network via handheld wireless communication devices
US20070094380A1 (en) * 2005-10-20 2007-04-26 Samuel Fu Method and apparatus for collocating application monitoring reports with web applications
US20070185956A1 (en) * 2006-02-09 2007-08-09 Ogle David M Communication system and method
US20080209327A1 (en) * 2007-02-27 2008-08-28 Microsoft Corporation Persistent spatial collaboration

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025784A1 (en) * 2003-12-22 2014-01-23 International Business Machines Corporation Pull-configured distribution of imagery
US9313273B2 (en) * 2003-12-22 2016-04-12 International Business Machines Corporation Pull-configured distribution of imagery
US8024407B2 (en) 2007-10-17 2011-09-20 Citrix Systems, Inc. Methods and systems for providing access, from within a virtual world, to an external resource
US20090106347A1 (en) * 2007-10-17 2009-04-23 Citrix Systems, Inc. Methods and systems for providing access, from within a virtual world, to an external resource
WO2011039594A1 (en) * 2009-09-29 2011-04-07 Ultra Sales Technology Inc. Systems and methods for controlling the content displayed on the browser of a remote user
US8472590B1 (en) * 2009-09-29 2013-06-25 Now Solutions Integration Group Inc. Systems and methods for controlling the content displayed on the browser of a remote user
US20110126130A1 (en) * 2009-11-24 2011-05-26 Adam Michael Lieb Method and system for browser-based screen sharing
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US9733886B2 (en) * 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
US9471694B2 (en) 2011-05-30 2016-10-18 Clearslide, Inc. Method and system for browser-based control of a remote computer
US9110554B2 (en) * 2012-07-03 2015-08-18 International Business Machines Corporation Representing a graphical user interface using a topic tree structure
US9046982B2 (en) * 2012-07-03 2015-06-02 International Business Machines Corporation Representing a graphical user interface using a topic tree structure
US20140013235A1 (en) * 2012-07-03 2014-01-09 Intemational Business Machines Corporation Representing a graphical user interface using a topic tree structure
US10311130B1 (en) * 2016-05-09 2019-06-04 Amazon Technologies, Inc. Dynamic page transitions in electronic content
CN107562852A (en) * 2017-08-28 2018-01-09 网易乐得科技有限公司 A kind of page display method, medium, device and computing device
US11379174B2 (en) * 2019-07-04 2022-07-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
US20100211823A1 (en) 2010-08-19
US7966371B2 (en) 2011-06-21

Similar Documents

Publication Publication Date Title
US7966371B2 (en) Browser based web conferencing employing layering to display screen updates
US11675930B2 (en) Remoting application across a network using draw commands with an isolator application
JP4698756B2 (en) Offline execution of web-based applications
US7437275B2 (en) System for and method of multi-location test execution
US10552639B1 (en) Local isolator application with cohesive application-isolation interface
US9954970B1 (en) System and method of determining latency
JP4867482B2 (en) Control program and communication system
US20130073609A1 (en) Mobile resource accelerator
US8959434B2 (en) Add-in program for upload, auxiliary program for upload and upload method
US9621627B2 (en) Dynamically launching a server-based application on a mobile device
US20110231482A1 (en) Automated Optimization Based On Determination Of Website Usage Scenario
KR20050043689A (en) Optimizing file replication using binary comparisons
JP2009277182A (en) Proxy server and communication relay program, and communication relaying method
WO2008023533A1 (en) Method and device for editing web content by url conversion
US20150373081A1 (en) Method of sharing browsing on a web page displayed by a web browser
US20110264729A1 (en) Augmentation of network traffic
KR20140036317A (en) A method and server for monitoring users during their browsing within a communications network
JP5197351B2 (en) Information processing apparatus, information processing method, and program
US20160100025A1 (en) Ui framework support for portal systems
JP4186164B2 (en) Web sharing system, Web sharing method, Web sharing program, relay server, and WWW browser display device
JP2000287110A (en) Control system for digital camera
JPWO2004003765A1 (en) Seamless system, recording medium, and computer system processing continuation method
EP2908256A1 (en) Method, apparatus and computer program product for managing static uniform resource locator access
US20070032253A1 (en) Multisided synchronization of execution in a wireless test environment
JP2007079988A (en) Www browser, html page sharing system and html page sharing method

Legal Events

Date Code Title Description
AS Assignment

Owner name: RHUB COMMUNICATIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MAO, CHENGJIANG;DORIE, LARRY;GUAN, YANLIN;REEL/FRAME:019947/0583

Effective date: 20071001

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION