This specification relates generally to systems and methods for providing online services, and more particularly to systems and methods for providing online data management services.
Online spreadsheet management applications alloy users to create and manipulate spreadsheet data via a network, and maintain the data at a remote location. Current spreadsheet management applications offer many common spreadsheet functions, including formatting, graphing, filtering, etc. In addition, some online spreadsheet management applications facilitate collaboration by allowing multiple users to access a spreadsheet data set simultaneously. Typically, when one of the collaborating users makes a change to the shared spreadsheet data set, the change is made to the data set and can be seen by the other collaborating users.
In accordance with an embodiment of the invention, a method for providing online data management services is provided. Access to first data is provided to a first user and to a second user. For example, the first user and to the second user may be allowed to access the first data simultaneously. A specified change is received from the first user. Access to second data generated based on the first user's specified change is provided only to the first user. The first data is updated based on the specified change, in response to a selection by the first user of an option to apply the specified change to the first data. Simultaneous access to the updated first data is provided to the first user and to the second user.
In one embodiment, access to the first data is provided to the first user via a first network browser operating on a first user device, and access to the first data is provided to the second user via a second network browser operating on a second user device.
In one embodiment, a selection of a preview option is received from the first user, and in response to the selection, access to the second data is provided only to the first user. A request that the first user device display the second data may be transmitted to the first user device. A first request to display the first data in a first window, and a second request to display the second data in a second window, may be transmitted to the first network browser.
The first data may be stored in a first memory location, and the second data may be stored in a second memory location. A first thread associated with the first data, and a second thread associated with the second data, may be maintained.
In one embodiment, filter criteria are received from the first user, and the second data is filtered based on the filter criteria.
The first data may comprise at least one of: spreadsheet data, text data generated by a word processing application, graphical data, image data, and slide show data.
In accordance with another embodiment of the invention, a method for providing online data management services is provided. First information adapted to cause a user device to display a first representation of a first data set maintained by an online document processing service is transmitted. A first selection of a first option to activate a preview mode with respect to the first data set is received, and a second data set is generated based on the first data set; in response to the first selection. Second information adapted to cause the user device to display simultaneously a second representation of the first data set and a third representation of the second data set is transmitted. The second data set is updated based on an input received from the user device, and the first data set is updated based on the updated second data set, in response to a second selection of a second option to update the first data set received from the user device.
In another embodiment of the invention, a graphical user interface is provided, comprising a first region for displaying a representation of a first data set stored at an online data management service. The graphical user interface also comprises a preview mode option for activating a preview mode, wherein a selection of the preview mode option initiates generation of a second data set based on the first data set and a simultaneous display of the first region and a second region for displaying a second representation of the second data set.
In accordance with another embodiment of the invention, an apparatus is provided. The apparatus comprises means for providing simultaneous access to first data to a first user and to a second user, and means for receiving a specified change from the first user. The apparatus further comprises means for providing, only to the first user, access to second data generated based on the first user's specified change. The apparatus also comprises means for updating the first data based on the specified change, in response to a selection by the first user of an option to apply the specified change to the first data.
In accordance with another embodiment of the invention, an apparatus is provided. The apparatus comprises means for transmitting a first request that a user device display a first data set maintained by an online document processing service, means for receiving a first selection of a preview mode with respect to the first data set, and means for generating a second data set based on the first data set, in response to the first selection. The apparatus also comprises means for transmitting at least one second request that the user device display the first data set and the second data set, means for updating the second data set based on an input received from the user device, and means for updating the first data set based on the updated second data set, in response to a second selection of an option to update the first data set received from the user device.
These and other advantages of the present disclosure will be apparent to those of ordinary skill in the art by reference to the following Detailed Description and the accompanying drawings.
In the exemplary embodiment of
Online spreadsheet manager 130 provides spreadsheet data management services to users via network 105, enabling users to create, display, analyze, filter, and edit spreadsheet data sets remotely. Online spreadsheet manager 130 may be accessible via a World Wide Web page that may be viewed using a conventional Web browser, for example. A user may be required to log into a respective user account to access his or her spreadsheet data. Online spreadsheet manager 130 may offer common spreadsheet management features such as formatting, graphing, filtering, etc.
Online spreadsheet manager 130 allows multiple users to access a single spreadsheet data set simultaneously. For example, a group of users wishing to collaborate may access a spreadsheet data set simultaneously and view changes made by others. In one embodiment, a first user who creates a spreadsheet data set may specify one or more additional users who are permitted access to the spreadsheet data set. The first user may specify the level of access (e.g., read only, edit, etc.) granted to each of the additional users. Subsequently, any of the additional specified users, after logging into his or her respective user account, may access the spreadsheet data set created by the first user. More than one user may access the spreadsheet data set simultaneously.
User device 160 may be any device that enables a user to communicate via network 105. User device 160 may be connected to network 105 through a direct (wired) link, or wirelessly. User device 160 may have a display screen (not shown) for displaying information. For example, user device 160 may be a personal computer, a laptop computer, a workstation, a mainframe computer, etc. Alternatively, user device 160 may be a mobile communication device such as a wireless phone, a personal digital assistant, etc. Other devices may be used.
In accordance with the embodiment of
When a document, such as a spreadsheet data set is created and stored, online spreadsheet manager 130 may grant access rights to one or more users with respect to the spreadsheet data set. For example, certain users may be granted viewing and editing rights while other users are granted viewing rights only. Access to a document may be blocked to users who do not have access rights.
By way of example, suppose that a user wishes to utilize a spreadsheet to record how many points various users have accumulated in a particular game. Accordingly, the user accesses online spreadsheet manager 130 and creates a spreadsheet data set 400, illustrated in
In a well-known manner, online spreadsheet manager 130 transmits data causing user device 160 to display a representation of all or a portion of spreadsheet data set 400 on a Web page. For example, online spreadsheet manager 130 may transmit to browser 210 a request, in the form of HyperText Markup Language (HTML), adapted to cause browser 210 to display a representation of spreadsheet data set 400 in a window. In response, browser 210 displays all or a portion of spreadsheet data set 400 in a window 407 shown on display 270. In a conventional manner, browser 210 displays spreadsheet data set 400 as a plurality of cells arranged in rows and columns. Browser 210 also displays a toolbar 415 which may display various available options and/or functions available to the user, such as a file function 417. When the user edits and saves spreadsheet data set 400, the updated spreadsheet data set is stored in spreadsheet data repository 325.
In the present example, the user enters, in rows 421-428, information identifying various users (Users 1-8), and a score associated with each respective user. For example, row 421 identifies “User 1” and indicates that “User1” has accumulated 260 points; row 422 identifies “User 2” and indicates that “User2” has accumulated 1512 points, etc. Referring again to
As discussed above, multiple users having access rights to spreadsheet data set 400 may log into their respective accounts with online spreadsheet manager 130 and access spreadsheet data set 400 simultaneously. Suppose, for example, that a first user, employing user device 160-A, accesses spreadsheet data set 400, and that a second user, employing user device 160-B, simultaneously accesses spreadsheet data set 400. In this embodiment, both the first and second users have access rights with respect to spreadsheet data set 400 and therefore can view the data in spreadsheet data set 400 on his or her respective display device. For example, each user's Web browser may display spreadsheet data set 400 in a format similar to that shown in
Suppose now that the first user wishes to make changes to spreadsheet data set 400, but does not want the changes to become permanent and does not want the second user to be able to view the changes. For example, the first user may wish to make a change to the data in a spreadsheet cell and test how the change affects data stored in other cells in the spreadsheet. In accordance with various embodiments, the first user may choose to view and edit a spreadsheet data set using a preview mode which allows only that user to view the user's edits.
In one embodiment, online spreadsheet manager 130 establishes and maintains a first data model associated with spreadsheet data set 400. All collaborating users can view, share, and edit the first data model. When a particular user selects an option to enter a preview mode, a “branch” of the first data model is created and stored separately. The “branch” of the first data model may be viewed and manipulated by the particular user as a personal preview data model. Only that particular user has access to and can view changes made to his or her personal preview data model. Subsequently, that particular user may apply any changes made to the personal preview model to the first data model, if he or she wishes. Alternatively, that particular user may delete the personal preview data model, or store the updated personal preview data model as a separate data model or file, without affecting the first data model.
A user may now select an option to enter a preview mode, in which the user may view and edit the spreadsheet data in spreadsheet data set 400 without the changes being visible to other users. In the illustrative embodiment, the first user selects a preview mode option while viewing spreadsheet data set 400 in window 407. Referring to
Based on the first user's selection of the option to enter the preview mode, online spreadsheet manager 130 generates a separate data set that comprises the data in spreadsheet data set 400 and is accessible only to the first user. In the illustrative embodiment, in response to the first user's selection of preview mode option 492, spreadsheet preview 318 generates a copy of the information in spreadsheet data set 400, and saves the copy in spreadsheet data repository 325 as preview data set 600, as shown in
While in this illustrative embodiment the first user employs a computer mouse to select a preview mode from a menu, in other embodiments other techniques may be used to select and activate a preview mode.
To allow the first user to view preview data set 600, spreadsheet preview 318 transmits to user device 160-A a request, or other data, adapted to cause browser 210 to display a representation of preview data set 600. For example, online spreadsheet manager 130 may request that browser 210 display spreadsheet data set 400 in a first window and display preview data set 600 in a second window. Referring to
When browser 210 opens preview window 607 and displays preview data set 600, the information in preview data set 600 is the same as the information in spreadsheet data set 400. Referring to
Suppose now that the first user wishes to make one or more desired changes to the information in preview data set 600. Suppose further that the first user does not want the second user to see the changes. In accordance with the exemplary embodiment, the first user may make changes to the information in preview data set 600 within preview window 607. Changes made by the first user to preview data set 600 are not seen by other users, and do not affect the information in spreadsheet data set 400, unless the first user selects an option to apply the changes to spreadsheet data set 400. As discussed above, while first user has access rights to preview data set 600, including viewing and editing rights, other users have no access rights with respect to preview data set 600.
Referring to
User device 160 transmits the first user's specified change to online spreadsheet manager 130. In one embodiment, user device 160 transmits information reflecting the user's specified change(s) to spreadsheet manager 130.
At step 520, spreadsheet preview 310 receives the information reflecting the first user's specified change and updates preview data set 600 in spreadsheet data repository 325. As discussed above, spreadsheet process 310 may also update certain cells in preview data set 600 based on the first user's change. For example, spreadsheet process 310 may update another row containing a value that is determined based on the information in row 622.
In another embodiment, user device 160 may perform certain calculations and other data processing associated with updating the information in preview data set 600, including updating other rows, columns, and cells affected by the first user's specified change. In this embodiment, user device 160 may transmit to online spreadsheet manager 130 information reflecting the first user's specified change and other changes made to preview data set 600 as a result of the change. Such calculations may be made by an appropriate application (not shown) residing on user device 160, for example. Spreadsheet process 310 updates preview data set 600 based on the information received from user device 160.
At step 530, access to second spreadsheet data comprising second data generated based on the first user's specified change is provided only to the first user. Online spreadsheet manager 130 transmits a request, or other data, adapted to cause browser 210 (on user device 160-A) to display the updated version of preview data set 600 in preview window 607. In response, browser 210 (on user device 160-A) displays the updated version of preview data set 600 in preview window 607 on display 270, as shown in
In one embodiment, spreadsheet data set 400 and preview data set 600 are made available to the first user as separate tabs in a spreadsheet application. When the first user selects a first tab, spreadsheet data set 400 is displayed. When the first user selects a second tab, preview data set 600 is displayed. Other methods for displaying spreadsheet data set 400 and preview data set 600 may be used.
While the first user views and edits preview data set 600 in preview window 607, the second user, having no access rights with respect to preview data set 600, cannot view or otherwise access preview data set 600. Online spreadsheet manager 130 does not transmit to user device 160-B any request, or other data, relating to preview data set 600.
Suppose now that the first user wishes to filter the data in preview data set 600. Referring to
In this example, online spreadsheet manager 130 receives the first user's desired filter criteria, and spreadsheet process 310 filters preview data set 600 in accordance with the filter criteria. In this example, the rows pertaining to User 6 and User 7 are removed from preview data set 600 because User 6 and User 7 have each accumulated less than fifty points. Spreadsheet preview 318 updates preview data set 600 in spreadsheet data repository 325 to reflect the filtered results. In other embodiments, other types of data models associated with preview data set 600 may be updated to reflect the changes.
Online spreadsheet manager 130 transmits to user device 160-A a request, or other data, adapted to cause browser 210 (on user device 160-A) to display the updated version of preview data set 600. In the exemplary embodiment, online spreadsheet manager 130 requests that browser 210 display updated preview data set 600 in preview window 607. In response, browser 210 displays the filtered version of preview data set 600 on display 270. The filtered preview data set 600 is displayed in preview window 607, as shown in
Suppose now that, after making several desired changes to preview data set 600, the first user wishes to apply the changes to spreadsheet data set 400 so that the changes become permanent, and so that the second user can view the changes. Referring again to
At step 540, the first spreadsheet data is updated based on the specified change, in response to a selection by the first user of an option to apply the desired change to the first spreadsheet data. In the present example, in response to the user's selection, spreadsheet preview 318 updates spreadsheet data set 400 to include the changes made by the first user. Updated spreadsheet data set 400 is saved in spreadsheet data repository 325. In other embodiments, other types of data models associated with spreadsheet data set 400 may be updated to reflect the changes made by the first user. Online spreadsheet manager 130 transmits a request, or other data adapted to cause browser 210 to display updated spreadsheet data set 400. In response, browser 210 displays all or a portion of updated spreadsheet data set 400.
In the present example, the first user exits preview mode by, for example, closing preview window 607, and views updated spreadsheet data set 400 in window 407, as shown in
Updated spreadsheet data set 400 is also displayed to the second user. Specifically, online spreadsheet manager 130 transmits to user device 160-B a request, or other data, adapted to cause user device 160-B to display updated spreadsheet data set 400. In response, user device 160-B displays all or a portion of updated spreadsheet data set 400 to the second user.
If the first user makes desired changes to preview data set 600 and then decides that he or she does not wish to apply the changes to spreadsheet data set 400, the first user may store preview data set 600 as a separate spreadsheet data set. For example, the first user may select an option to save preview data set 600 as a new spreadsheet data set, or as a new file; the new spreadsheet data set is then saved in a separate memory location in spreadsheet data repository 325. The first user may alternatively choose to delete preview data set 600.
At step 920, a first selection of a first option to activate a preview mode with respect to the first data set is received. As discussed above, online spreadsheet manager 130 may receive a user's selection of preview mode option 492. At step 930, a second data set based on the first data set is generated in response to the first selection. Online spreadsheet manager 130 generates preview data set 600. At step 940, second information adapted to cause the user device to display simultaneously a second representation of the first data set and a third representation of the second data set is transmitted. As discussed above, spreadsheet preview 318 may transmit a request that browser 210 display spreadsheet data set 400 in the first window and preview data set 600 in a second window.
At step 950, the second data set is updated based on an input received from the user device. Online spreadsheet manager 130 edits and updates preview data set 600 based on the user's specified changes. At step 960, the first data set is updated based on the updated second data set, in response to a second selection of a second option to update the first data set received from the user device. When the user selects save changes option 792, spreadsheet data set 400 is updated based on the updated preview data set 600.
While the exemplary embodiments described herein include systems, apparatus, and methods used to provide online spreadsheet data management services and to allow a user to use a preview mode to view and edit spreadsheet data, these exemplary embodiments are not limiting. The systems, apparatus, and methods described herein may be used to provide collaborative online data management services in connection with other types of data, and may be used to allow a user to use a preview mode to view and edit other types of data. For example, the systems, apparatus, and methods described herein may be used to provide collaborative online word processing services, and to allow a user to use a preview mode to view and edit text documents and other documents generated and maintained by an online word processing application or system. The systems, apparatus, and methods described herein may be used to provide collaborative online data management services pertaining to, and to allow a user to use a preview mode to view and edit, text data, graphical data, slide show data, image data, photographic data, numerical data, data from external databases, etc.
In various embodiments, the method steps described herein, including the method steps described in
Systems, apparatus, and methods described herein may be implemented using digital circuitry, or using one or more computers using well-known computer processors, memory units, storage devices, computer software, and other components. Typically, a computer includes a processor for executing instructions and one or more memories for storing instructions and data. A computer may also include, or be coupled to, one or more mass storage devices, such as one or more magnetic disks, internal hard disks and removable disks, magneto-optical disks, optical disks, etc.
Systems, apparatus, and methods described herein may be implemented using computers operating in a client-server relationship. Typically, in such a system, the client computers are located remotely from the server computer and interact via a network. The client-server relationship may be defined and controlled by computer programs running on the respective client and server computers.
Systems, apparatus, and methods described herein may be used within a network-based cloud computing system. In such a network-based cloud computing system, a server or another processor that is connected to a network communicates with one or more client computers via a network. A client computer may communicate with the server via a network browser application residing and operating on the client computer, for example. A client computer may store data on the server and access the data via the network. A client computer may transmit requests for data, or requests for online services, to the server via the network. The server may perform requested services and provide data to the client computer(s). The server may also transmit data adapted to cause a client computer to perform a specified function, e.g., to perform a calculation, to display specified data on a screen, etc. For example, the server may transmit a request adapted to cause a client computer to perform one or more of the method steps described herein, including one or more of the steps of
Systems, apparatus, and methods described herein may be implemented using a computer program product tangibly embodied in an information carrier, e.g., in a non-transitory machine-readable storage device, for execution by a programmable processor; and the method steps described herein, including one or more of the steps of
A high-level block diagram of an exemplary computer that may be used to implement systems, apparatus and methods described herein is illustrated in
Processor 1001 may include both general and special purpose microprocessors, and may be the sole processor or one of multiple processors of computer 1000. Processor 1001 may comprise one or more central processing units (CPUs), for example. Processor 1001, data storage device 1002, and/or memory 1003 may include, be supplemented by, or incorporated in, one or more application-specific integrated circuits (ASICs) and/or one or more field programmable gate arrays (FPGAs).
Data storage device 1002 and memory 1003 each comprise a tangible non-transitory computer readable storage medium. Data storage device 1002, and memory 1003, may each include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory devices, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM) disks, or other non-volatile solid state storage devices.
Input/output devices 1005 may include peripherals, such as a printer, scanner, display screen, etc. For example, input/output devices 1005 may include a display device such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor for displaying information to the user, a keyboard, and a pointing device such as a mouse or a trackball by which the user can provide input to computer 1000.
Any or all of the systems and apparatus discussed herein, including online spreadsheet manager 130, user device 160, and components thereof, including web browser 210, display 270, spreadsheet process 310, spreadsheet preview 318, and spreadsheet data repository 325, may be implemented using a computer such as computer 1000.
One skilled in the art will recognize that an implementation of an actual computer or computer system may have other structures and may contain other components as well, and that
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
This application is a continuation of U.S. patent application Ser. No. 13/940,785 (currently pending), filed Jul. 12, 2013, and entitled “System and Method for Providing Online Data Management Services,” which is a continuation of U.S. patent application Ser. No. 13/300,792, filed on Nov. 21, 2011, and entitled “System and Method for Providing Online Data Management Services,” which claims the benefit of U.S. Provisional Patent Application No. 61/448,715, filed Mar. 3, 2011, which are hereby incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4889439 | Cook et al. | Dec 1989 | A |
5111397 | Chirokas et al. | May 1992 | A |
5167013 | Hube et al. | Nov 1992 | A |
5185818 | Warnock | Feb 1993 | A |
5214755 | Mason | May 1993 | A |
5379373 | Hayashi et al. | Jan 1995 | A |
5381523 | Hayashi | Jan 1995 | A |
5528743 | Tou et al. | Jun 1996 | A |
5675788 | Husick et al. | Oct 1997 | A |
5694609 | Murata | Dec 1997 | A |
5825987 | Asada | Oct 1998 | A |
5859648 | Moore et al. | Jan 1999 | A |
5860073 | Ferrel et al. | Jan 1999 | A |
5895476 | Orr et al. | Apr 1999 | A |
5930813 | Padgett et al. | Jul 1999 | A |
5956736 | Hanson et al. | Sep 1999 | A |
6006239 | Bhansali et al. | Dec 1999 | A |
6025836 | McBride | Feb 2000 | A |
6073147 | Chan et al. | Jun 2000 | A |
6169999 | Kanno | Jan 2001 | B1 |
6185591 | Baker et al. | Feb 2001 | B1 |
6275223 | Hughes | Aug 2001 | B1 |
6279151 | Breslau et al. | Aug 2001 | B1 |
6377354 | Nguyen et al. | Apr 2002 | B1 |
6512531 | Gartland | Jan 2003 | B1 |
6552728 | Moore et al. | Apr 2003 | B1 |
6564246 | Varma | May 2003 | B1 |
6636889 | Estrada et al. | Oct 2003 | B1 |
6681369 | Meunier | Jan 2004 | B2 |
6717593 | Jennings | Apr 2004 | B1 |
6879997 | Ketola et al. | Apr 2005 | B1 |
6898642 | Chafle | May 2005 | B2 |
6972748 | Lang | Dec 2005 | B1 |
7009626 | Anwar | Mar 2006 | B2 |
7069541 | Dougherty et al. | Jun 2006 | B2 |
7106469 | Simpson et al. | Sep 2006 | B2 |
7231597 | Braun et al. | Jun 2007 | B1 |
7233951 | Gainer | Jun 2007 | B1 |
7257767 | Carden, Jr. | Aug 2007 | B1 |
7272782 | Sneh | Sep 2007 | B2 |
7284199 | Parasnis et al. | Oct 2007 | B2 |
7370066 | Sikchi et al. | May 2008 | B1 |
7386535 | Kalucha et al. | Jun 2008 | B1 |
7467192 | Lemler | Dec 2008 | B1 |
7487448 | Emerson et al. | Feb 2009 | B2 |
7516114 | Dieberger et al. | Apr 2009 | B2 |
7519630 | Brown et al. | Apr 2009 | B2 |
7587666 | Delvat et al. | Sep 2009 | B2 |
7624145 | Junuzovic et al. | Nov 2009 | B2 |
7681135 | Madhavarao et al. | Mar 2010 | B2 |
7698280 | Bhat et al. | Apr 2010 | B2 |
7698636 | Mohamed | Apr 2010 | B2 |
7712016 | Jones et al. | May 2010 | B2 |
7756824 | Campbell | Jul 2010 | B2 |
7779346 | Buczek | Aug 2010 | B2 |
7788647 | Martin et al. | Aug 2010 | B2 |
7792788 | Melmon et al. | Sep 2010 | B2 |
7814407 | Danner et al. | Oct 2010 | B1 |
7827483 | Unbedacht et al. | Nov 2010 | B2 |
7836148 | Popp et al. | Nov 2010 | B2 |
7904515 | Ambati et al. | Mar 2011 | B2 |
7908247 | Ngo | Mar 2011 | B2 |
7917554 | Hull et al. | Mar 2011 | B2 |
7920894 | Wyler | Apr 2011 | B2 |
7953696 | Davis et al. | May 2011 | B2 |
7958448 | Fattic, II et al. | Jun 2011 | B2 |
7966426 | Smith et al. | Jun 2011 | B2 |
7982737 | Leroy | Jul 2011 | B2 |
8001215 | Dominowska et al. | Aug 2011 | B2 |
8005858 | Lynch et al. | Aug 2011 | B1 |
8044961 | Opstad et al. | Oct 2011 | B2 |
8065604 | Blankinship | Nov 2011 | B2 |
8185910 | Swildens | May 2012 | B2 |
8234620 | Bychkov et al. | Jul 2012 | B1 |
8271470 | Gonzalez et al. | Sep 2012 | B2 |
8307119 | Rochelle | Nov 2012 | B2 |
8417666 | Bailor | Apr 2013 | B2 |
8484561 | Lemonik et al. | Jul 2013 | B1 |
8566708 | Pereira et al. | Oct 2013 | B1 |
8595622 | Pereira et al. | Nov 2013 | B1 |
8601436 | Park et al. | Dec 2013 | B2 |
8700986 | Pereira et al. | Apr 2014 | B1 |
8738706 | Grieve et al. | May 2014 | B1 |
8892994 | Pereira et al. | Nov 2014 | B2 |
8943399 | Pereira et al. | Jan 2015 | B1 |
9286276 | Cairns et al. | Mar 2016 | B2 |
9336137 | Day-Richter et al. | May 2016 | B2 |
20010004256 | Iwata et al. | Jun 2001 | A1 |
20020010725 | Mo | Jan 2002 | A1 |
20020023110 | Fortin et al. | Feb 2002 | A1 |
20020129054 | Ferguson et al. | Sep 2002 | A1 |
20020143780 | Gorman | Oct 2002 | A1 |
20030061349 | Lo et al. | Mar 2003 | A1 |
20030115268 | Esposito | Jun 2003 | A1 |
20030179230 | Seidman | Sep 2003 | A1 |
20040015781 | Brown et al. | Jan 2004 | A1 |
20040107296 | Donker et al. | Jun 2004 | A1 |
20040172423 | Kaasten et al. | Sep 2004 | A1 |
20040194028 | O'Brien | Sep 2004 | A1 |
20040205538 | Banerjee et al. | Oct 2004 | A1 |
20040220977 | Cho | Nov 2004 | A1 |
20040239700 | Baschy | Dec 2004 | A1 |
20050034068 | Jaeger | Feb 2005 | A1 |
20050039123 | Kuchinsky et al. | Feb 2005 | A1 |
20050102370 | Lin et al. | May 2005 | A1 |
20050177805 | Lynch et al. | Aug 2005 | A1 |
20050188051 | Sneh | Aug 2005 | A1 |
20050216504 | Delvat et al. | Sep 2005 | A1 |
20050234943 | Clarke | Oct 2005 | A1 |
20060053196 | Spataro et al. | Mar 2006 | A1 |
20060136511 | Ngo | Jun 2006 | A1 |
20060195784 | Koivisto et al. | Aug 2006 | A1 |
20060206814 | Tonomura et al. | Sep 2006 | A1 |
20060265639 | Merrill et al. | Nov 2006 | A1 |
20070094601 | Greenberg et al. | Apr 2007 | A1 |
20070118797 | Layzell | May 2007 | A1 |
20070233811 | Rochelle | Oct 2007 | A1 |
20070239695 | Chakra et al. | Oct 2007 | A1 |
20080033996 | Kesari | Feb 2008 | A1 |
20080082938 | Buczek | Apr 2008 | A1 |
20080092066 | Edlund et al. | Apr 2008 | A1 |
20080201449 | Huang et al. | Aug 2008 | A1 |
20090006936 | Parker | Jan 2009 | A1 |
20090112937 | Campbell | Apr 2009 | A1 |
20090125518 | Bailor | May 2009 | A1 |
20090187815 | Becerra, Sr. et al. | Jul 2009 | A1 |
20090192845 | Gudipaty et al. | Jul 2009 | A1 |
20090234837 | Gladyshev | Sep 2009 | A1 |
20090282462 | Skaria | Nov 2009 | A1 |
20090313537 | Fu et al. | Dec 2009 | A1 |
20100058366 | Swildens | Mar 2010 | A1 |
20100083082 | Lehrian et al. | Apr 2010 | A1 |
20100153948 | Schreiber et al. | Jun 2010 | A1 |
20100175021 | Ferrara et al. | Jul 2010 | A1 |
20100241749 | Rasmussen et al. | Sep 2010 | A1 |
20100313110 | Claridge et al. | Dec 2010 | A1 |
20110055682 | Friedrich et al. | Mar 2011 | A1 |
20110074699 | Marr et al. | Mar 2011 | A1 |
20110126191 | Hughes et al. | May 2011 | A1 |
20110167336 | Aitken et al. | Jul 2011 | A1 |
20110178981 | Bowen et al. | Jul 2011 | A1 |
20110193993 | Yeom | Aug 2011 | A1 |
20110252299 | Lloyd et al. | Oct 2011 | A1 |
20110264997 | Mukerjee et al. | Oct 2011 | A1 |
20110276867 | Machalek | Nov 2011 | A1 |
20110302288 | Davis | Dec 2011 | A1 |
20110307860 | Park et al. | Dec 2011 | A1 |
20110321133 | Grieve | Dec 2011 | A1 |
20120016964 | Veen et al. | Jan 2012 | A1 |
20120072819 | Lindner et al. | Mar 2012 | A1 |
20120240027 | Pereira et al. | Sep 2012 | A1 |
20120331373 | Lindner et al. | Dec 2012 | A1 |
20150193406 | Lemonik et al. | Jul 2015 | A1 |
20150195311 | Lemonik et al. | Jul 2015 | A1 |
20150199222 | Day-Richter et al. | Jul 2015 | A1 |
20150199317 | Lemonik et al. | Jul 2015 | A1 |
20150199318 | Lemonik et al. | Jul 2015 | A1 |
Number | Date | Country |
---|---|---|
101179572 | May 2008 | CN |
2008-262449 | Oct 2008 | JP |
Entry |
---|
Brouwer et al., MathDox editor, Electronic Proceedings MathUI 2009, 2009, XP55028009, retrieved from the Internet May 23, 2012: http://www.win.tue.nl/˜hansc/mde.pdf; pp. 1-8. |
Chitu, Footnotes in GoogleDocs, Oct. 17, 2008, XP055028085, retrieved from the Internet May 24, 2012: http://googlesystem.blogspot.com/2008/10/footnotes-in-google-docs.html; p. 1. |
Citro, Sandy, “Conflict Management for Real-Time Collaborative Editing in Mobile Replicated Architectures,” 2007, Australian Computer Society, Inc., Thirteenth Australian Computer Science Conference (ACSC2007), pp. 115-124. |
Jakobsson, Markus, et al., “Invasive Browser Sniffing and Countermeasures”, Proceedings on the 15th International Conference on World Wide Web, WWW '06, Jan. 1, 2006, pp. 523-532. |
Levien, Raph et al., “Introducing the Google Font API & Google Font Directory”, May 19, 2010, Google. |
Louie, Melissa. “New themes in Google forms”, May 19, 2010, Google. |
Sun, Chengzheng, “Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements,” Proc. of 1998 ACM Conference on Computer-Supported Cooperative Work, 1988, pp. 1-10. |
Wang et al, Google Wave Operational Transformation, Jul. 1, 2010, 1-6, retrieved from the Internet Feb. 14, 2012: http://wave-protocol.googlecode.com/hg/whitepapers/operational-transform/operational-transform.html. |
PCT International Search Report and Written Opinion corresponding to PCT Application No. PCT/US2011/001417 filed Aug. 11, 2011, 7 pages. |
PCT International Search Report and Written Opinion from International Patent Application No. PCT/US2011/001557; dated Jan. 12, 2012, 12 pages. |
PCT International Search Report and Written Opinion issued in PCT/US2012/028102 dated Jun. 5, 2012; pp. 1-15. |
PCT International Search Report and Written Opinion issued in PCT/US2012/028279 dated Jun. 6, 2012; pp. 1-15. |
PCT International Search Report and Written Opinion dated Nov. 12, 2012, corresponding to PCT Application No. PCT/US2012/051404 filed Aug. 17, 2012, 10 pages. |
HTML Living Standard downloaded from http://www.whatwg.org/specs/web-apps/current-worklmultipage/offiine.html, Nov. 11, 2011, 21 pages. |
Janssen, Harmen; “Guessing Font Availability with Javascript”; Nov. 13, 2008 (Nov. 13, 2008); XP55015680; URL: http://www.whatstyle.net/articles/54/guessing_font_availability_with javascript (retrieved on Jan. 4, 2012 ); pp. 1-5. |
“Model View-Controller—Wikipedia, the free encyclopedia”, downloaded from https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller on Nov. 15, 2010, pp. 1-10. |
Nichols et al., High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System, UIST '95. 8th Annual Symposium on User Interface Software and Technology. Proceedings of the ACM Symposium on User Interface Software and Technology, Nov. 14-17, 1995, 111-120. |
Olav Junker Kjaer, “Timing and Synchronization in JavaScript”, Dev. Opera, Sections: “The Basics”, “Event Queing”, “Long Running Scripts” and “Advice on Timing”, Feb. 27, 2007, downloaded from URL: htt//dev.opera.com/articles/view/timing-and-synchronization-in-javascript/, pp. 1-9. |
Peels et al., Document Architecture and Text Formatting, ACM Transactions on Office Information Systems, XX, XX, 3 Oct. 1, 1985, 347-369. |
Quinn, Laura S. “Comparing Online vs. Traditional Office Software”, May 21, 2010, downloaded from http://www.techsoup.org/learningcenter/software/page11852.cfm on Oct. 15, 2010, pp. 1-4. |
Tyson, Herb, “Microsoft Word 2007 Bible”, 2007, 112-115, 467, 523-525, 798. |
Xu, et al., Using Spreadsheet Software as a Platform for Power System Analysis, IEEE Computer Applications in Power, Jan. 1999, pp. 41-45. |
Conner, Nancy, “Zoho 4 Everyone”, 2008, 17 pages. |
Dejean, David, “Online Office Apps Get Real: Google Docs vs. ThinkFree vs. Zoho”, Computerworld, Jul. 16, 2008, retrieved at https://www.computerworld.com/article/2534786/networking/online-office-apps-get-real-google-docs-vs-thinkfree-vs-zoho.html?page=6 on Sep. 13, 2018, 22 pages. |
Galbreath, et al., Sharpen Spreadsheet Skills, Journal of Accountancy, vol. 186, 1998, 8 pages. |
“Googlepedia: The Ultimate Google Resource”, Third Edition, pp. 1-24 (pp. 276-287 in original source), 2008. |
Danilatos, Demonstration Doodad, with a few different variations of rendering and interactive behaviour, Dec. 5, 2010, 1-3, retrieved from the Internet May 24, 2012: http://code.google.com/p/wave-protocol/source/browse/src/org/waveprotocol/wave/client/editor/examples/img/MyDoodad.java; pp. 1-3. |
Number | Date | Country | |
---|---|---|---|
61448715 | Mar 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13940785 | Jul 2013 | US |
Child | 14795679 | US | |
Parent | 13300792 | Nov 2011 | US |
Child | 13940785 | US |