Patents by Inventor Weide Zhong
Weide Zhong 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: 11074112Abstract: Systems, methods, and software are disclosed herein for maintain the responsiveness of a user interface to an application. In an implementation, a synchronous operation is commenced on a main thread of an application. The application monitors for a request by an additional thread to interrupt the synchronous operation in favor of an asynchronous operation. The synchronous operation is canceled in response to the request and is retried after completing the asynchronous operation.Type: GrantFiled: January 13, 2017Date of Patent: July 27, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Micah James Myerscough, Weide Zhong, Xiaohui Pan, Toshiharu Kawai, Emily Anne Schultz
-
Publication number: 20180203743Abstract: Systems, methods, and software are disclosed herein for maintain the responsiveness of a user interface to an application. In an implementation, a synchronous operation is commenced on a main thread of an application. The application monitors for a request by an additional thread to interrupt the synchronous operation in favor of an asynchronous operation. The synchronous operation is canceled in response to the request and is retried after completing the asynchronous operation.Type: ApplicationFiled: January 13, 2017Publication date: July 19, 2018Inventors: Micah James Myerscough, Weide Zhong, Xiaohui Pan, Toshiharu Kawai, Emily Anne Schultz
-
Patent number: 9552335Abstract: A program creation system is described which generates sets of subprograms for respective input-output examples. The program creation system then groups the sets into partitions by performing an intersection operation. According to one aspect, the program creation system generates subprograms so as to exclude tokens that are not represented by the input strings of the input-output examples. According to another aspect, the program creation system first generates the subprograms without attempting to generate loop-type expressions. If this operation produces unsatisfactory results, the program creation system repeats its processing, this time including loop-type expressions. According to another aspect, the program creation system performs the grouping operation using an expedited graph-intersection operation.Type: GrantFiled: June 4, 2012Date of Patent: January 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Rishabh Singh, Dany Rouhana, Benjamin G. Zorn, Weide Zhong
-
Patent number: 9195728Abstract: Methods, systems, and computer program products dynamically filter an aggregate report based on values resulting from one or more filters previously applied to the aggregate report. A method involves maintaining a collection of filters to be applied in a designated evaluation order to the aggregate report, applying a first filter to the aggregate report, and evaluating values in the aggregate report to produce aggregate values resulting from applying the first filter. The method also involves applying a next filter to the aggregate report and evaluating the aggregate values in the aggregate report resulting from applying the first filter therein producing aggregate values resulting from applying the next filter to the aggregate report. Additionally, the method involves displaying the aggregate report wherein evaluating values resulting from previously applying any filter to the aggregate report involves evaluating visual values displayed in the aggregate report after each previous filter has been applied.Type: GrantFiled: September 30, 2010Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Allan Folting, Weide Zhong, Robert Hawking, Tigran Hayrapetyan
-
Publication number: 20130326475Abstract: A program creation system is described which generates sets of subprograms for respective input-output examples. The program creation system then groups the sets into partitions by performing an intersection operation. According to one aspect, the program creation system generates subprograms so as to exclude tokens that are not represented by the input strings of the input-output examples. According to another aspect, the program creation system first generates the subprograms without attempting to generate loop-type expressions. If this operation produces unsatisfactory results, the program creation system repeats its processing, this time including loop-type expressions. According to another aspect, the program creation system performs the grouping operation using an expedited graph-intersection operation.Type: ApplicationFiled: June 4, 2012Publication date: December 5, 2013Applicant: Microsoft CorporationInventors: Sumit Gulwani, Rishabh Singh, Dany Rouhana, Benjamin G. Zorn, Weide Zhong
-
Publication number: 20110167330Abstract: Methods, systems, and computer program products dynamically filter an aggregate report based on values resulting from one or more filters previously applied to the aggregate report. A method involves maintaining a collection of filters to be applied in a designated evaluation order to the aggregate report, applying a first filter to the aggregate report, and evaluating values in the aggregate report to produce aggregate values resulting from applying the first filter. The method also involves applying a next filter to the aggregate report and evaluating the aggregate values in the aggregate report resulting from applying the first filter therein producing aggregate values resulting from applying the next filter to the aggregate report. Additionally, the method involves displaying the aggregate report wherein evaluating values resulting from previously applying any filter to the aggregate report involves evaluating visual values displayed in the aggregate report after each previous filter has been applied.Type: ApplicationFiled: September 30, 2010Publication date: July 7, 2011Applicant: Microsoft CorporationInventors: Allan Folting, Weide Zhong, Robert Hawking, Tigran Hayrapetyan
-
Patent number: 7831539Abstract: Methods, systems, and computer program products dynamically filter an aggregate report based on values resulting from one or more filters previously applied to the aggregate report. A method involves maintaining a collection of filters to be applied in a designated evaluation order to the aggregate report, applying a first filter to the aggregate report, and evaluating values in the aggregate report to produce aggregate values resulting from applying the first filter. The method also involves applying a next filter to the aggregate report and evaluating the aggregate values in the aggregate report resulting from applying the first filter therein producing aggregate values resulting from applying the next filter to the aggregate report. Additionally, the method involves displaying the aggregate report wherein evaluating values resulting from previously applying any filter to the aggregate report involves evaluating visual values displayed in the aggregate report after each previous filter has been applied.Type: GrantFiled: June 21, 2005Date of Patent: November 9, 2010Assignee: Microsoft CorporationInventors: Allan Folting, Weide Zhong, Robert Hawking, Tigran Hayrapetyan
-
Patent number: 7415481Abstract: The present invention relates to a new type of structured name within a spreadsheet program that allows users to refer to tables, columns of data within tables, headers of tables, totals from tables, PivotTables®, and portions of PivotTable® data by the data's headers. Embodiments of the present invention comprise a method for referring to a set of data that comprises receiving one or more semantic designations, wherein the one or more semantic designations name a set of context information that describes one or more items of data in a data structure, automatically creating a structural reference, and associating the context information with the structural reference.Type: GrantFiled: September 30, 2004Date of Patent: August 19, 2008Assignee: Microsoft CorporationInventors: Andrew J. Becker, Charles D. Ellis, Joseph M. Chirilov, Juha P. Niemisto, Matthew J. Androski, Robert C. Collie, Robert G. Hawking, Simon Peyton-Jones, Weide Zhong
-
Publication number: 20060287998Abstract: Methods, systems, and computer program products dynamically filter an aggregate report based on values resulting from one or more filters previously applied to the aggregate report. A method involves maintaining a collection of filters to be applied in a designated evaluation order to the aggregate report, applying a first filter to the aggregate report, and evaluating values in the aggregate report to produce aggregate values resulting from applying the first filter. The method also involves applying a next filter to the aggregate report and evaluating the aggregate values in the aggregate report resulting from applying the first filter therein producing aggregate values resulting from applying the next filter to the aggregate report. Additionally, the method involves displaying the aggregate report wherein evaluating values resulting from previously applying any filter to the aggregate report involves evaluating visual values displayed in the aggregate report after each previous filter has been applied.Type: ApplicationFiled: June 21, 2005Publication date: December 21, 2006Applicant: Microsoft CorporationInventors: Allan Folting, Weide Zhong, Robert Hawking, Tigran Hayrapetyan
-
Publication number: 20060069696Abstract: The present invention relates to a new type of structured name within a spreadsheet program that allows users to refer to tables, columns of data within tables, headers of tables, totals from tables, PivotTables®, and portions of PivotTable® data by the data's headers. Embodiments of the present invention comprise a method for referring to a set of data that comprises receiving one or more semantic designations, wherein the one or more semantic designations name a set of context information that describes one or more items of data in a data structure, automatically creating a structural reference, and associating the context information with the structural reference.Type: ApplicationFiled: September 30, 2004Publication date: March 30, 2006Applicant: Microsoft CorporationInventors: Andrew Becker, Charles Ellis, Joseph Chirilov, Juha Niemisto, Matthew Androski, Robert Collie, Robert Hawking, Simon Peyton-Jones, Weide Zhong