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: 9462037Abstract: 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: GrantFiled: January 7, 2013Date of Patent: October 4, 2016Assignee: Google Inc.Inventors: Joshua Ari Danziger, Amod Karve, Zachary Erik Lloyd, Yossi Kahlon, Micah Lemonik
-
Patent number: 9448978Abstract: 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: GrantFiled: February 26, 2013Date of Patent: September 20, 2016Assignee: Google Inc.Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz A. F. Pereira Filho
-
Patent number: 9384176Abstract: 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: GrantFiled: June 4, 2013Date of Patent: July 5, 2016Assignee: Google Inc.Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz Amaral Franca Pereira Filho, John Day-Richter, Edgard Lindner
-
Publication number: 20160139768Abstract: 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: ApplicationFiled: January 27, 2016Publication date: May 19, 2016Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Luiz Do Amaral De Franca Pereira Filho
-
Publication number: 20160117298Abstract: 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: ApplicationFiled: January 6, 2016Publication date: April 28, 2016Inventors: Micah Lemonik, Olga Sergeyevna Saviano, Janani R. Ravi, Nicholas Cooper, Alexey Kalinichenko, John Day-Richter
-
Patent number: 9280533Abstract: 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: GrantFiled: May 20, 2013Date of Patent: March 8, 2016Assignee: GOOGLE INC.Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
-
Patent number: 9280529Abstract: 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: GrantFiled: January 13, 2012Date of Patent: March 8, 2016Assignee: Google Inc.Inventors: Micah Lemonik, Olga S. Belomestnykh, Janani R. Ravi, Luiz A. F. Pereira Filho
-
Patent number: 9262420Abstract: 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: GrantFiled: April 23, 2012Date of Patent: February 16, 2016Assignee: Google Inc.Inventors: Eric Benson Schoeffler, Micah Lemonik, Michael Jeffrey Procopio
-
Patent number: 9176720Abstract: 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: GrantFiled: April 23, 2012Date of Patent: November 3, 2015Assignee: 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: 9154493Abstract: 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: GrantFiled: August 1, 2014Date of Patent: October 6, 2015Assignee: GOOGLE INC.Inventors: Valerie Blechar, Micah Lemonik, Michael Wayne Crosby, Robert Eugene Wyrick, Ronald Ho
-
Publication number: 20150199317Abstract: 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: ApplicationFiled: July 18, 2012Publication date: July 16, 2015Inventors: Micah Lemonik, John Day-Richter, Evin Levey
-
Publication number: 20150199318Abstract: 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: ApplicationFiled: July 18, 2012Publication date: July 16, 2015Inventors: Micah Lemonik, John Day-Richter, Evin Levey
-
System and Method to Provide Collaborative Document Processing Services Via Interframe Communication
Publication number: 20150193406Abstract: 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: ApplicationFiled: September 2, 2011Publication date: July 9, 2015Inventors: Micah Lemonik, John Day-Richter -
Publication number: 20150195311Abstract: 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: ApplicationFiled: September 2, 2011Publication date: July 9, 2015Inventors: Micah Lemonik, John Day-Richter
-
Patent number: 9063920Abstract: 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: GrantFiled: May 20, 2013Date of Patent: June 23, 2015Assignee: Google Inc.Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
-
Patent number: 8990310Abstract: 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: GrantFiled: September 11, 2013Date of Patent: March 24, 2015Assignee: Google Inc.Inventors: Jonathan Rochelle, Micah Lemonik, Farzad Khosrowshahi, John Stephen Danaher
-
Publication number: 20140344911Abstract: 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: ApplicationFiled: August 1, 2014Publication date: November 20, 2014Inventors: Valerie BLECHAR, Micah LEMONIK, Michael Wayne CROSBY, Robert Eugene WYRICK, Ronald HO
-
Publication number: 20140325531Abstract: 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: ApplicationFiled: April 17, 2014Publication date: October 30, 2014Applicant: GOOGLE INC.Inventors: Michael W. HARM, Micah LEMONIK
-
Publication number: 20140317640Abstract: 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: ApplicationFiled: April 17, 2014Publication date: October 23, 2014Applicant: GOOGLE INC.Inventors: Michael W. HARM, Micah LEMONIK
-
Patent number: 8850391Abstract: 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: GrantFiled: January 27, 2012Date of Patent: September 30, 2014Assignee: Google Inc.Inventors: Shuang Lin, Micah Lemonik, Chaitanya Bhuskute, Mithravindhaa Seshadrirajah