Patents by Inventor Micah Lemonik

Micah Lemonik has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9462037
    Abstract: A method for managing a dynamically-sized chunked spreadsheet model on a server includes creating, on the server, a plurality of chunks representing a spreadsheet, where a first chunk in the plurality of chunks includes a first range of cells in the spreadsheet. The method further includes storing on the server a mutation log for the spreadsheet, and receiving a first plurality of mutations from a plurality of client computers, where the first plurality of mutations are stored in the mutation log. The method further includes applying the first plurality of mutations to the first chunk in response to a first client computer in the plurality of client computers requesting the first range of cells, and sending the first chunk to the first client computer.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: October 4, 2016
    Assignee: Google Inc.
    Inventors: Joshua Ari Danziger, Amod Karve, Zachary Erik Lloyd, Yossi Kahlon, Micah Lemonik
  • Patent number: 9448978
    Abstract: A computer-implemented method for presenting a document for interaction with a user in a web browser includes accessing an electronic model of the document; determining, with a computing device, positions for items in a visual rendering of the electronic model based on relative sizes and positions of other items in the electronic model; and generating, with the computing device, a document object model (DOM) that defines an editing surface, wherein the DOM (a) places placing the items at the determined positions on the editing surface, (b) places a graphic element that represents a cursor at a determined location on the editing surface, and (c) is arranged to receive user input on the editing surface and to correlate a location of the received user input to a location in the electronic model.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: September 20, 2016
    Assignee: Google Inc.
    Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz A. F. Pereira Filho
  • Patent number: 9384176
    Abstract: A tangible computer-readable storage medium having encoded on it data that represents a model of a document, the document model including a one-dimensional character string that includes characters of the document in an order in which they appear in the document; a map of styles that includes markers that correspond to changes in styles in the document, and pointers to the character string, wherein the pointers define locations along the character string at which the changes in styles are to occur and define style runs between matched markers; and one or more external references to objects outside the document model, the external references including identifiers for the objects and pointers to the character string indicating where in the character string the object will appear.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: July 5, 2016
    Assignee: Google Inc.
    Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz Amaral Franca Pereira Filho, John Day-Richter, Edgard Lindner
  • Publication number: 20160139768
    Abstract: A computer-implemented collaborative editing method includes receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
    Type: Application
    Filed: January 27, 2016
    Publication date: May 19, 2016
    Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz Do Amaral De Franca Pereira Filho
  • Publication number: 20160117298
    Abstract: A computer-implemented method for coordinating documents between computer systems includes identifying, on a computing device, changes made by a user to a document having a model stored on the computing device, with corresponding models stored on a remote client and a server system; generating from the identified changes, one or more mutations that describe the changes and a one or more locations that correspond to positions in the model where the changes are to be provided; receiving one or more mutations from the server system and transforming the generated mutations using the received mutations; and updating the model stored on the computing device using the transformed mutations.
    Type: Application
    Filed: January 6, 2016
    Publication date: April 28, 2016
    Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Nicholas Cooper, Alexey Kalinichenko, John Day-Richter
  • Patent number: 9280533
    Abstract: A distributed spreadsheet application executes at a server and a client in a network. The networked spreadsheet application can generally be used without requiring a user to install any specific spreadsheet software prior to using the application. In one implementation, the spreadsheet application may include a client engine that executes within browser programs of a plurality of client computing devices and server logic. The server logic may be configured to distribute the client engines to the plurality of client computing devices of the spreadsheet application when requested through the browser programs of each of the plurality of client computing devices. The server logic synchronizes a single spreadsheet document that is simultaneously open at the plurality of client computing devices.
    Type: Grant
    Filed: May 20, 2013
    Date of Patent: March 8, 2016
    Assignee: GOOGLE INC.
    Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
  • Patent number: 9280529
    Abstract: A computer-implemented collaborative editing method includes receiving input from a user of a browser-based document editing application on a document displayed by the application; identifying a current location in the document for a cursor of a first user executing the application; receiving from a central server system data that reflects changes made to the document by one or more users other than the first user and current positions in the document of cursors for the one or more other user; updating a document model stored on a computing device that is executing the browser-based application and rendering at least a portion of the model to the browser; and rendering the current positions of the cursors for the one or more other users to the browser.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: March 8, 2016
    Assignee: Google Inc.
    Inventors: Micah Lemonik, Olga S. Belomestnykh, Janani R. Ravi, Luiz A. F. Pereira Filho
  • Patent number: 9262420
    Abstract: Techniques are shown for enabling a network system to index data stored on a third-party server without having to access the raw data on the third-party server. Metadata consisting of one or more of indexable text or indexable html or some combination of indexable text and indexable html is associated with the data stored on a third-party server. An indexing utility processes the metadata at the network system from the third-party server and arranges the metadata on the network system in a manner that is searchable by searching functionality of the network system.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: February 16, 2016
    Assignee: Google Inc.
    Inventors: Eric Benson Schoeffler, Micah Lemonik, Michael Jeffrey Procopio
  • Patent number: 9176720
    Abstract: Techniques are shown for installing third-party applications onto a network system in appropriate containers on the network system. The containers store data and content of the same internet media type or MIME-type as the third-party applications.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: November 3, 2015
    Assignee: Google Inc.
    Inventors: John Day-Richter, Brian Lewis Cairns, Eric Benson Schoeffler, Michael Jeffrey Procopio, Micah Lemonik, Adam Wayne Besen, Brian Edgar Eaton, Robert Eugene Wyrick
  • Patent number: 9154493
    Abstract: A method and a system for managing login using a cookie are described. The method includes receiving from a respective client system a request for document information, and receiving from the respective client system a cookie that identifies a plurality of user names logged into the server system from the respective client system. The plurality of logged-in user names includes a first user name and a second user name distinct from the first user name. The method also includes redirecting the received request to a location associated with a selected user name of the plurality of logged-in user names, and receiving the redirected request. The method furthermore includes, in response to the redirected request, processing the request as a request from the selected user name and sending to the respective client system document information corresponding to the request from the selected user name.
    Type: Grant
    Filed: August 1, 2014
    Date of Patent: October 6, 2015
    Assignee: GOOGLE INC.
    Inventors: Valerie Blechar, Micah Lemonik, Michael Wayne Crosby, Robert Eugene Wyrick, Ronald Ho
  • Publication number: 20150199317
    Abstract: An add-on from a plurality of add-ons is attached to a software application, in response to a first selection of the add on from an end user employing an end user device. A document is generated by a software application. The end user transmits a second selection of an option to manipulate the document, via interframe communication. The document is manipulated in response to the second selection.
    Type: Application
    Filed: July 18, 2012
    Publication date: July 16, 2015
    Inventors: Micah Lemonik, John Day-Richter, Evin Levey
  • Publication number: 20150199318
    Abstract: A document generated by a software application is stored. A third party add-on associated with the software application is executed. A first change to the document is received from an end user of the software application, via interframe communication, and a second change to the document is received from the third party add-on, via interframe communication. One or more transformed operations are generated based on the first and second changes. The one or more transformed operations are applied to the document to reflect the first and second changes.
    Type: Application
    Filed: July 18, 2012
    Publication date: July 16, 2015
    Inventors: Micah Lemonik, John Day-Richter, Evin Levey
  • Publication number: 20150193406
    Abstract: A document is displayed within a first frame embedded within a second frame on a first device, wherein the second frame is in communication with a server. A first change to the document is received from a user of the first device, and the first change is transmitted to the server by interframe communication. A plurality of transformed changes to the document, including a transformed version of the first change and a version of a second change made by a user of a second device are received by interframe communication. The first frame may be an IFrame, for example.
    Type: Application
    Filed: September 2, 2011
    Publication date: July 9, 2015
    Inventors: Micah Lemonik, John Day-Richter
  • Publication number: 20150195311
    Abstract: A plurality of inputs associated with a third party software application are received from a plurality of users associated with respective devices, via respective embedded frames displayed on the respective devices. A plurality of visual representations of a document displayed on the respective devices are updated to reflect a plurality of inputs, substantially in real-time. The plurality of inputs may be received substantially simultaneously.
    Type: Application
    Filed: September 2, 2011
    Publication date: July 9, 2015
    Inventors: Micah Lemonik, John Day-Richter
  • Patent number: 9063920
    Abstract: A distributed spreadsheet application executes at a server and a client in a network. The networked spreadsheet application can generally be used without requiring a user to install any specific spreadsheet software prior to using the application. In one implementation, the spreadsheet application may include a client engine that executes within browser programs of a plurality of client computing devices and server logic. The server logic may be configured to distribute the client engines to the plurality of client computing devices of the spreadsheet application when requested through the browser programs of each of the plurality of client computing devices. The server logic synchronizes a single spreadsheet document that is simultaneously open at the plurality of client computing devices.
    Type: Grant
    Filed: May 20, 2013
    Date of Patent: June 23, 2015
    Assignee: Google Inc.
    Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
  • Patent number: 8990310
    Abstract: A networked application and email application were described herein that provide for an intuitive system by which users can participate in collaborative workflow relating to a network document. In one implementation, a system includes a messaging server component to provide messaging services and an application server component to provide a networked application. The application server component interacts with the messaging server component in response to a user command to initiate collaboration on the network document. The interaction with the messaging server component includes providing a link that refers to a version of the network document as created or edited by the user.
    Type: Grant
    Filed: September 11, 2013
    Date of Patent: March 24, 2015
    Assignee: Google Inc.
    Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
  • Publication number: 20140344911
    Abstract: A method and a system for managing login using a cookie are described. The method includes receiving from a respective client system a request for document information, and receiving from the respective client system a cookie that identifies a plurality of user names logged into the server system from the respective client system. The plurality of logged-in user names includes a first user name and a second user name distinct from the first user name. The method also includes redirecting the received request to a location associated with a selected user name of the plurality of logged-in user names, and receiving the redirected request. The method furthermore includes, in response to the redirected request, processing the request as a request from the selected user name and sending to the respective client system document information corresponding to the request from the selected user name.
    Type: Application
    Filed: August 1, 2014
    Publication date: November 20, 2014
    Inventors: Valerie BLECHAR, Micah LEMONIK, Michael Wayne CROSBY, Robert Eugene WYRICK, Ronald HO
  • Publication number: 20140325531
    Abstract: A computer-implemented method of managing computer macros is disclosed. The method includes storing code for a computer macro at an internet-accessible hosted computer system and associating the stored code with a user account on the hosted computer system. The method also includes automatically identifying with the hosted computer system, independent of whether a user associated with the user account is currently active on the hosted computer system, a triggering event that is defined as being directed to the macro. Furthermore, the method includes executing the macro using an application running on the hosted computer system to generate macro results, and storing the macro results on the hosted computer system.
    Type: Application
    Filed: April 17, 2014
    Publication date: October 30, 2014
    Applicant: GOOGLE INC.
    Inventors: Michael W. HARM, Micah LEMONIK
  • Publication number: 20140317640
    Abstract: A computer-implemented method of managing computer macros is disclosed. The method includes storing code for a computer macro at an internet-accessible hosted computer system and associating the stored code with a user account on the hosted computer system. The method also includes automatically identifying with the hosted computer system, independent of whether a user associated with the user account is currently active on the hosted computer system, a triggering event that is defined as being directed to the macro. Furthermore, the method includes executing the macro using an application running on the hosted computer system to generate macro results, and storing the macro results on the hosted computer system.
    Type: Application
    Filed: April 17, 2014
    Publication date: October 23, 2014
    Applicant: GOOGLE INC.
    Inventors: Michael W. HARM, Micah LEMONIK
  • Patent number: 8850391
    Abstract: A computer-implemented method of compiling source code of a software product including a plurality of components is disclosed. The method includes receiving at least one changelist identifying at least one component of the plurality of components, testing the at least one component using a defined set of tests for each of the plurality of components, approving the at least one changelist when testing of the at least one component identified in the changelist results in compliancy, calculating dependencies between the plurality of components using the compliant at least one changelist, and building the software product by concurrently building the plurality of components based on the calculated dependencies.
    Type: Grant
    Filed: January 27, 2012
    Date of Patent: September 30, 2014
    Assignee: Google Inc.
    Inventors: Shuang Lin, Micah Lemonik, Chaitanya Bhuskute, Mithravindhaa Seshadrirajah