throbber
MITSUBISHI ELECTRIC RESEARCH LABORATORIES
`http://www.merl.com
`
`Instant Co-Browsing Lightweight Real-Time
`Collaborative Web Browsing
`
`Alan W. Esenther
`
`TR2002-19 May 2002
`
`Abstract
`A lightweight collaborative web browsing system, that targets casual (non-technical) web users,
`is presented. This system allows remote participants to easily synchronize pointing, scrolling
`and browsing of uploaded content in their web browsers. Since instant messenging systems have
`become a very popular method for remote participants to engage in real-time text chat sessions, it
`is conjectured that this simple co-browsing system which allows remote participants to share and
`point at their pictures and web content (instead of just sharing text) could prove useful and fun,
`too. The collaboratively viewed web content could either pre-exist on a host web server or, in a
`more typical scenario, be dynamically uploaded by the remote participants themselves. A spe-
`cific goal of this system is to keep the interactions extremely simple and safe. Any user should
`be able to use it intuitively with a single click; there are no pre-installation or pre-registration
`requirements. This system is based on simple polling-based scripting techniques that avoid in-
`trusive mechanisms based on proxies or events. Most significantly, there is no reliance on any
`controls, applets, plug-ins or binary executables, since these would require the trust of partici-
`pants and are virus-prone. It is the reliance upon such inconvenient helper programs, along with
`any pre-installation or pre-registration requirements, that makes existing co-browsing offerings
`more ”heavyweight”, and limits their appeal for casual collaboration.
`
`WWW2002 Conference Proceedings
`
`This work may not be copied or reproduced in whole or in part for any commercial purpose. Permission to copy in whole or in part
`without payment of fee is granted for nonprofit educational and research purposes provided that all such whole or partial copies include
`the following: a notice that such copying is by permission of Mitsubishi Electric Research Laboratories, Inc.; an acknowledgment of
`the authors and individual contributions to the work; and all applicable portions of the copyright notice. Copying, reproduction, or
`republishing for any other purpose shall require a license with payment of fee to Mitsubishi Electric Research Laboratories, Inc. All
`rights reserved.
`
`Copyright c(cid:13) Mitsubishi Electric Research Laboratories, Inc., 2002
`201 Broadway, Cambridge, Massachusetts 02139
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 1
`
`

`

`MERLCoverPageSide2
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 2
`
`

`

`Instant Co-Browsing: Lightweight Real-Time Collaborative Web Browsing
`
`Alan W. Esenther
`Mitsubishi Electric Research Laboratories
`201 Broadway
`Cambridge, MA 02139 USA
`esenther@merl.com
`
`Figure 1: A representation of a CWB collaborative web browsing session. On the left is a close-up of the CWB Control Panel. This is a pop-under window that users never actually have to see.
`As any user in the session browses, scrolls, points, or fills in a form in any shared collaboration window (the windows displaying a map image above), the changes occur in everyone else's
`browser, too.
`
`ABSTRACT
`
`A lightweight collaborative web browsing system, that targets casual (non-technical) web users, is presented. This system allows remote participants to easily
`synchronize pointing, scrolling and browsing of uploaded content in their web browsers. Since instant messenging systems have become a very popular method for
`remote participants to engage in real-time text chat sessions, it is conjectured that this simple co-browsing system which allows remote participants to share and
`point at their pictures and web content (instead of just sharing text) could prove useful and fun, too. The collaboratively viewed web content could either pre-exist
`on a host web server or, in a more typical scenario, be dynamically uploaded by the remote participants themselves. A specific goal of this system is to keep the
`interactions extremely simple and safe. Any user should be able to use it intuitively with a single click; there are no pre-installation or pre-registration requirements.
`This system is based on simple polling-based scripting techniques that avoid intrusive mechanisms based on proxies or events. Most significantly, there is no
`reliance on any controls, applets, plug-ins or binary executables, since these would require the trust of participants and are virus-prone. It is the reliance upon such
`inconvenient helper programs, along with any pre-installation or pre-registration requirements, that makes existing co-browsing offerings more “heavyweight”, and
`limits their appeal for casual collaboration.
`
`Keywords
`
`Web collaboration, synchronized browsing, real-time distributed collaboration, shared web browsing, instant messenging, co-browsing
`
`Word count
`
`Approximately 7500 words
`
`1. INTRODUCTION
`
`Real-time web collaboration software solves the problem of how to allow multiple users to synchronize their views of web pages. For example, if any of the users
`in a collaborative session browses to a new page, scrolls a page, drags a shared pointer, or types in a form input field on a page, then all of the other users will
`simultaneously see that change in their browser windows, too (see Figure 1).
`
`Typically the users would be talking on the telephone while collaborating, although some form of Internet telephony might be used instead. This paper presents a
`lightweight approach to collaborative web browsing, herein referred to as CWB (Collaborative Web Browsing). CWB does not require any virus-prone binary
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 3
`
`

`

`programs, applets, controls, or browser plug-ins. It is based on a polling architecture and Dynamic HTML (HTML, CSS and Javascript) [1]. It is intended to
`facilitate spontaneous collaboration between arbitrary users, from arbitrary locations on the Internet, using web browsers on arbitrary computers. As such, it can be
`applied as a means for "instant co-browsing" - allowing users to collaboratively browse instantly. As with instant messenging systems (such as AOL Instant
`Messenger [2], ICQ [3], MSN Messenger [4], and Yahoo! Messenger [5]), CWB is intended for "casual" collaboration -- safe, immediate sharing of user content
`between arbitrary users (perhaps strangers). In some sense CWB is more "instant" than instant messenging applications because no pre-installation or helper
`program download is necessary to co-browse via CWB. Note that one requirement incurred by the exclusive use of Javascript (without any applets or controls) is
`that only content that resides on the same web server as the CWB scripts can be co-browsed. CWB is not designed for co-browsing to arbitrary websites. Rather,
`inspired by instant messenging systems, CWB is designed to facilitate spontaneous interaction with content that is dynamically uploaded by session participants. In
`some sense this is an effort to push the limits of the co-browsing experience that can be provided simply by fetching a plain HTML web page. The user is never
`prompted to grant permissions to an ActiveX control, a Java applet, or an installer for a binary executable -- yet the user can co-browse immediately. Also note that
`this approach is intended for sharing web page content and should not be confused with distributed whiteboard applications that allow sharing of scribbles, text, and
`pictures only on a special (non-HTML-based) electronic canvas. This paper presents CWB along four dimensions: collaboration features, user interface, page non-
`interference mechanism, and security. The design philosophy for each of these dimensions can be briefly summarized as follows:
`
`Collaboration Features:
`"1-click collaboration" that replicates every detail of the shared web page, and adds shared pointer support.
`User Interface:
`The best UI is no UI -- a simple pop-under control panel is available, but no user should have to see or interact with it.
`Page non-interference mechanism:
`Only read - don't modify -- the shared web pages.
`
`Security:
`
`Don't use any (virus-prone) helper programs (e.g. controls, applets, plug-ins, etc.).
`
`2. EXISTING SOLUTIONS
`
`Existing web collaboration solutions may be broadly classified in terms of how "lightweight" they are. A more heavyweight solution has more demanding
`requirements that must be met before collaboration may begin (e.g. software pre-installation, user pre-registration).
`
`Heavyweight solutions such as Microsoft NetMeeting [6] rely on operating system support to recreate the user's entire screen (or just one or more open windows)
`across the network. This insures that all users are seeing precisely the same view of the web browser (or of any application). However, while appropriate in many
`cases, this solution may not be ideal when the goal is spontaneous casual collaboration from anywhere. NetMeeting is a proprietary solution that only runs on the
`Windows platform. It requires each user to pre-install a binary application on their computer, and to pre-register before collaboration may begin.
`
`Another class of heavyweight solutions, such as the Albatross system [7] and GroupWeb [8] embed synchronization mechanisms directly into the WWW client.
`This approach, however, obviously adds the requirement that each user use the special WWW client. Rather than requiring a whole new WWW client, it is also
`possible to add a plug-in to an existing standard browser to help coordinate synchronizations. This was the approach used for a web collaboration home banking
`system [9]. A plug-in can also be considered heavyweight, though, since it requires pre-installation and browser modification. A plug-in also increases the disk and
`memory footprint of the browser just so that it will work with sites designed to use that particular plug-in. Certainly there are cases, though, where these
`heavyweight approaches are acceptable and suitable.
`
`Even a lighter-weight solution, such as that provided by Hipbone [10], downloads a Java applet into the user's web browser. A web collaboration banking kiosk
`system (also described in [9]) and the Artefact framework [11] are additional examples of applet-based solutions. This approach obviously requires Java support on
`the client computer, and it adds delays while the Java environment is loaded. Also note that the Hipbone product, as well as a similar offering by WebDialogs [12],
`is targeted at customer support centers. As is typical for this type of product, the collaborative session is coordinated via a binary executable client program that is
`installed and run on a customer service representative's computer. This may not be suitable for casual users who wish to collaborate quickly and independently,
`without the requirement that one of them runs a coordination program. In this respect, collaboration via CWB is perhaps analogous to instant messaging: if two
`instant messenger users wish to exchange text messages, there is no need for a third party (a customer service representative) to be present in order for the session
`to proceed.
`
`Another common requirement that is prevalent with existing solutions is that users have to take turns making changes. Typically the user interface has some type of
`control to specify which user is currently allowed to make changes (such as browsing to a new page or scrolling the page). A more flexible solution would allow
`any user to make a change at any time, rather than first having to request the privilege. If the users have to pass some token to allow them to make changes, then
`their attention must be diverted from the shared web page to the token control, which distracts them from the collaborative session.
`
`An even lighter-weight solution (used by CWB) could use just Dynamic HTML scripts to peek into the shared web page and extract and apply changes. A patent by
`IBM [13] explores this idea, although it relies on a Java applet in the client to coordinate updates between the client web browser and the web server. That solution
`may be characterized as "intrusive", however, because it modifies the contents of the shared web page by placing it into a special layer. This is done so that layers
`with pointers and other collaboration elements can be placed above the shared web page. However, this technique can break the behavior of scripts in the target web
`page. Such scripts might not expect that the containing document has moved to a new layer.
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 4
`
`

`

`An older mechanism, also mentioned in the IBM patent, uses a proxy approach. Before a web page is sent to the client, a web server-based proxy program rewrites
`all of the URLs in the page such that they reference the collaboration web server. The CoWeb system [14] also uses a proxy approach, though it replaces HTML
`elements with Java applets. However, this is even more intrusive and more likely to change the behavior of the existing web page, partly because it is no trivial task
`to detect all of the myriad ways in which the HTML and scripts in an arbitrary shared web page might create external references. Pages that use scripts to
`dynamically create new external references and HTML elements are particularly problematic for these systems.
`
`Another technique for monitoring changes within a shared web page is to use event handlers. A script inserts or chains it's own event handler into various elements
`of the web page, essentially creating a callback to the monitoring script. (The WebVCR system [15] uses this technique to send information about user actions to a
`companion applet rather than a script.) As an example, the monitoring script might want to intercept scroll events so that it will know when to replicate scrollbar
`changes to other users. This technique can also be considered intrusive and may change or break the behavior of the web page. For example, the callback may
`execute in response to an event before returning control to the shared page's event handler. However, the shared page's handler might abort the event, or trigger
`some change that might not be detected and thus might not be replicated to other users. A script in a shared page might also dynamically create a new page element
`that the monitoring script will not know about.
`
`Finally, existing solutions may not support all of the fine-grained collaboration features discussed later.
`
`3. HIGH-LEVEL ARCHITECTURE
`
`Most of the novelty of the CWB solution is embodied in the design philosophy used for each of four dimensions of web collaboration, as is described in subsequent
`sections. The high-level architecture is described in this section.
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 5
`
`

`

`Figure 2: CWB Architecture Diagram
`
`In the CWB architecture, each user's computer has two instances of the web browser running. (Alternatively, it could be implemented with multiple frames in a
`single instance, but that would require the shared web page to be placed into a frame, potentially interfering with scripts on the page.) One instance contains the
`target web page that is being collaboratively viewed. It is worth noting that this instance is just a regular browser window that can be used as usual even if there is
`no collaborative session underway. The other window contains a control panel and two monitor routines written in Javascript. The first monitor routine, the Target
`Monitor, periodically analyzes the browser instance containing the target web page, to see if any changes have occurred since that last time it was analyzed. If a
`change is detected, such as if the user has scrolled a scrollbar, then that change is transmitted as an update to a Controller program running on the host web server.
`Note that each update contains the entire state of the system so that users can join the session at any time and still become fully synchronized. The second monitor
`routine, the Controller Monitor, contains a routine that periodically polls the Controller program on the web server for changes made by other users. If any changes
`are detected, then they are applied to the window containing the shared web page via standard Javascript mechanisms.
`
`To avoid browser compatibility issues, communications between the Controller program on the web server and each client web browser are implemented as simple
`page fetches to a hidden frame. Either HTTP GET or POST requests can be used, generally depending on the size of the message being transmitted to the
`Controller. This method of communication can work through firewalls since all requests are originated by the client browser and work over the standard HTTP port.
`Alternatively, for added security, HTTPS could be used to encrypt all communications in the session.
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 6
`
`

`

`Each user may be configured to run as a master, as a slave, as both, or as neither. This configuration can be changed "on the fly" (dynamically). A master user is
`able to make changes that will be seen by other users. A slave user is able to receive changes that have been made by any of the master users. Typically, and by
`default, each user is configured as both a master and as a slave. The master routines are implemented in the Target Monitor, and the slave routines are implemented
`in the Controller Monitor. It is anticipated that users may wish to temporarily browse independently (and privately) for a while, and then to rejoin the collaborative
`session in progress later. Support is also included for allowing new users to join an existing session in progress at any time.
`
`Note that one current restriction of this architecture is that only web page content which is stored on the local host web server (that contains the Controller program)
`can be collaboratively viewed. This is due to important security restrictions that are built into web browsers that prevent a script in one window from peeking into
`another browser window containing a web page that has been retrieved from a different domain. It would be relatively straightforward to add a control or an applet
`that (if explicitly permitted by the user) peeks into other browser windows. Then co-browsing of arbitrary domains could be allowed. This would invite viruses,
`though, and perhaps delay the onset of collaboration, and may be beyond the scope of the lightweight approach to collaboration for which CWB is designed. For
`now, the light weight of CWB is considered more important for the types of collaboration envisioned than the ability to co-browse arbitrary domains.
`
`Currently, the Controller program is implemented as a Java servlet [16]. Session status, configuration, and file upload web pages are also implemented as interfaces
`to the servlet. The servlet is easily deployed as a simple Java servlet WAR (Web Application Archive) file on any web server running an appropriate servlet engine.
`This requires Java support on the web server, but not on the client machines. It should be straightforward to implement the Controller in an alternative language,
`such as PERL.
`
`4. DESIGN PHILOSOPHY
`
`This paper presents CWB along four dimensions: collaboration features, user interface, page non-interference mechanism, and security. The design philosophy for
`each of these dimensions is discussed in this section.
`
`4.1 COLLABORATION FEATURES
`
`Collaboration features are features of the web collaboration implementation that facilitate an enhanced collaboration experience. The design philosophy for this
`dimension of web collaboration was to provide "1-click collaboration", to replicate every detail of the shared web page, and to add pointer support.
`
`The system provides "1-click collaboration" in that even first-time users need only to click a button on a Welcome page (or to execute a bookmark/Favorite) to start
`collaborating in a default session. Clicking the button opens the Control Panel and then the shared collaboration browser window, and immediately synchronizes
`the user with the collaborative session. The session is created on-the-fly if necessary. After the "1-click", the user is a member of the collaborative session, so if the
`user scrolls (for example) then other members of the session will see the scrolling action, too.
`
`Early web collaboration efforts suffered because they only shared the URL of the page being shared between participants. If one user scrolled down a ways, then
`that user would (perhaps unknowingly) be looking at different content than other users. If a page used frames, then the pages loaded into each frame were not
`synchronized because changing frame sources does not change the top-level URL of the web page loaded into a web browser. CWB strives to synchronize all static
`and dynamic attributes of the shared window and frames. However, since CWB uses a lightweight DHTML approach, in general it will not be able to synchronize
`elements on a page that rely on applets, controls or plug-ins (such as audio or video clips).
`
`CWB synchronizes attributes such as the browser window size, all window and frame web page sources, and all scroll bar positions. It also synchronizes visual
`form element content (e.g. text fields, checkboxes, select lists), including character-by-character entry into text fields, and scroll positions of textareas. Since any
`user can make changes at any time, users can jointly fill in forms. Currently, synchronization of user text selections (typically conducted by left-clicking and
`dragging over text content) is partially supported.
`
`Although shared text selections are very helpful in clarifying which section of a shared page a user is talking about, it has been found that also having a shared
`(distributed) pointer is invaluable for enhancing a browser session. For example, with shared pointers each user can point to a particular location in an image that he
`or she would like to discuss. Any master can subsequently move any pointer simply by clicking and dragging. In the current implementation, by default a shared
`pointer is automatically created in the upper left corner of any frame that is large enough to hold a pointer image, as shown on the left in Figure 3.
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 7
`
`

`

`Figure 3: Interface details. Left: A shared pointer, which can be dragged by any user at any time. Right: Control Panel button details. Integrated file upload support includes automatically un-
`zipping uploaded .zip files.
`
`
`
`This default would likely be configurable in a commercial environment, but ad hoc testing has shown that it is convenient to have a ready-made pointer available
`for dragging. Users can move or recreate a pointer by simply ALT-clicking at the location at which to create the pointer. (For a Macintosh version, a different key
`would be used.) CTRL-ALT-clicking deletes a pointer. Pointer visibility can also be controlled from the control panel, as is explained below. Significantly, there is
`no need to refer to a control panel before creating a pointer. Requiring so would inconveniently force users to divert their attention from the window containing the
`shared web page. Similarly, any master user can create or move a pointer at any time. There is no need to "take turns" or request permission to move a pointer (or to
`make any other change), as is also explained below.
`
`4.2 USER INTERFACE
`
`CWB is intended to allow casual (quick and lightweight) collaboration between non-technical users. Therefore the design of the user interface is simple and
`unobtrusive. The design philosophy was that the best user interface is no user interface. The existence of this shared pointer itself indicates collaboration. Therefore,
`for typical collaboration there is no new or special user interface to learn, so users aren't forced to divert their attention away from the content they are discussing.
`
`Collaboration is initiated in a client browser simply by typing an optional username and an optional session ID into a standard HTML form on a "welcome" page,
`and then clicking a submit button.
`
`This opens both the control panel window, shown on the left in Figure 1, and a new shared collaboration browser window in which any shared pages will be
`viewed. In Figure 1, the two browser windows containing map images represent screenshots of shared collaboration windows on two different systems.
`
`There is no delay associated with downloading or starting applets or controls, and users do not need to pre-register in order to participate. Users are uniquely
`identified by the session ID, user name and their IP address. This implies that the same user can be involved in multiple sessions at the same time with the same
`user name, and that a user can participate in the same session with multiple usernames. The latter feature is occasionally useful both for debugging on one computer
`screen, and so that a user can visually verify what his or her changes look like to other users. Significantly, by default the user does not have to specify either a user
`name or a session ID. Thus, initiating collaboration is as simple as clicking one button (or invoking a browser Bookmark/Favorite).
`
`CWB supports multiple parallel and independent collaboration sessions. Therefore users talking on the telephone can define and start a new session simply by
`entering an arbitrary unique session ID string (an alphanumeric string). Since each update contains information about the entire session state, a user can join late, or
`leave a session to browse independently for a while and then re-join the session later. The user name is provided only to more easily identify a particular user in the
`Session Status page, shown in Figure 4, which is available via the control panel. For example, by examining the Session Status page, one user can see that another
`user has not received the latest updates, and also notice that this is because that user has, perhaps inadvertently, turned off slave updates. If the user with this
`problem has typed in a user name, then it will be easier for the first user to identify which user has the problem and to tell him or her about it.
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 8
`
`

`

`Figure 4: CWB Session Status window. Contains details about each user and session.
`
`
`
`To keep things simple for non-technical users, the session defaults to enabling all users as both a master and a slave. By default, each user will be connected to the
`session as a slave first, and then, immediately, as a master -- so as not to inadvertently modify the session that they are joining. If the user wishes to change this
`behavior, or any other parameters, he or she can use the control panel window. Otherwise, there is no reason for any user to ever even be aware of the existence of
`the control panel. As was mentioned earlier, by default a pointer is created in the upper left corner of each frame, ready for dragging. This serves as a visual
`indicator that the page is part of a collaborative session. Also, any user can toggle the local visibility of all pointers via a checkbox in the control panel. A user
`might want to hide the shared pointers in this way if the pointers are cluttering up the browser window, or are inconveniently obscuring page content.
`
`Another aspect of the user interface, present in both the distributed pointers and in the control panel, is a visual feedback indicator to show the user when all views
`are synchronized. The very tip of each distributed pointer alternates (with subtlety) between red and green if all users are synchronized, and between red and yellow
`if one or more users are not caught up, yet. In the control panel, indicators in front of the Slave and Master checkboxes flash green or red to indicate synchronized
`and not synchronized, respectively.
`
`The user interface supports multiple simultaneous masters without requiring that a master first request and be granted permission to make a change. If a master user
`would like to make a change, such as browsing to a new page or scrolling down, he or she just makes the change. Although the semantics for resolving
`simultaneous change requests could be configurable, ad hoc testing has revealed a simple algorithm for honoring master updates.
`
`If a master is configured as both a master and a slave, then the policy is that a request from a master is not honored unless that master is currently up-to-date. Each
`master update request increments a sequence number that is included in all messages between clients and the web server. Ignoring updates from masters that are not
`caught up assures that a master that is several updates behind (perhaps due to network congestion) will not suddenly apply a change that will force all slaves to
`suddenly see an old view of the session. Note that if one master, say, drags a pointer to the left, and another master drags that same pointer to the right at the same
`time, then the first update to reach the web server will be honored. This means that the "slower" master will see the pointer suddenly jump to a different position.
`This may be an annoyance, but it should be obvious to the slower master that someone else has made a change at the same time. This minor annoyance far
`outweighs the hassle of requiring users to regularly divert their attention away from the session (to another panel) to request or give up permission to make changes.
`For casual collaborative sessions in which all users are conversing on the telephone, ad hoc testing has shown that this simple conflict resolution scheme works
`extremely well.
`
`If a master is configured as a master, but not as a slave, then it is presumed that that master (a teacher, perhaps) does not care what anyone else is doing. In this
`case, by default, the master updates would always be accepted and applied. If multiple users were configured only as a master, then slaves could see the shared web
`page sources and attributes wildly changing back and forth if masters on different pages were to continually transmit unrelated updates. However, for casual
`collaboration in which users are talking on the telephone, it is assumed that such situations would be quickly and simply resolved.
`
`Since the CWB system is designed for collaborating on dynamically uploaded web content, it contains integrated file upload support. As shown on the right in
`Figure 3, the Control Panel contains buttons to open a File Upload window, and to immediately co-browse to a directory listing of all files that have been uploaded
`so far for the current session. Each collaborative session has an associated "uploaded files" directory.
`
`In summary, the idea behind the CWB user interface is that by default there is no new or special user interface for any user to learn. There is nothing special about
`the browser window containing the shared web page, so users are free to interact with it just as if they were not collaborating. The only difference is that scripts in
`
`LIVEPERSON EX. 1022
`IPR2017-00610
`Page 9
`
`

`

`another window are peeking into that window, too, and that a shared pointer may be overlaid onto the shared page or frames.
`
`4.3 PAGE NON-INTERFERENCE MECHANISM
`
`An important aspect of web collaboration solutions is the extent to which they can be used to collaborate on arbitrary web pages. It would be less than ideal if users
`could only collaborate on pages that had been prepared by specially trained web authors, or pages that required special tags to be dynamically inserted, or pages that
`had restricted characteristics. The design philosophy for CWB was that, in order to insure the integrity of the shared page, CWB should only read - not modify --
`the shared web pages. CWB achieves this by regularly polling the entire state of the shared page rather than by modifying or inserting code to notify CWB of
`changes. (The applet in the WebVCR system [15] also used a polling mechanism, though only to ascertain whether a page had finished loading.) Years ago such
`polling might have been too CPU-intensive for a typical user's computer, but this is much less of an issue today. In fact, it might be argued that CPUs today are far
`more powerful than is necessary for typical end-user tasks such as word processing and handling email, so a solution that leverages this power is appropriate.
`Furthermore, during a live collaboration session the users will most likely be devoting their attention and CPU to the collaboration session rather than to some other
`CPU-intensive application. Of more concern, perhaps, are the network delays associated with polling the Controller on the web server for updates from other users.
`This is independent of the CWB sy

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket