Patents by Inventor Benjamin G. Zorn

Benjamin G. Zorn 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: 11080475
    Abstract: A device includes a logic machine and a data-holding machine having instructions executable by the logic machine to receive a spreadsheet including a plurality of cells, apply an abstraction to the spreadsheet that defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, form, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets, provide the input vector to the machine-learning prediction function; and output the prediction from the machine-learning prediction function.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: August 3, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rishabh Singh, Ben Livshits, Benjamin G. Zorn
  • Patent number: 10102241
    Abstract: The techniques described herein use statistical reasoning to determine whether a spreadsheet (e.g., cells) includes potential errors. The techniques determine a partition within a spreadsheet where the partition includes cells that share characteristics (e.g., same row or column, same type of content, same formatting, etc.). Once determined, the partition is evaluated based on defined properties. A property is applied to generate property values so that an anomaly can be identified. An anomaly can occur when a cell in the partition has a property value that is inconsistent with other property values of other cells in the same partition (e.g., an intra-partition anomaly). An anomaly can also occur when a cell in the partition has a property value that is inconsistent with property values of cells in a different partition (e.g., an inter-partition anomaly). The techniques analyze the anomalies to determine a priority value indicative of a likelihood of a potential error.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: October 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin G. Zorn, Emery Berger
  • Patent number: 10044750
    Abstract: Disclosed herein are systems and methods for detecting script code malware and generating signatures. A plurality of script code samples are received and transformed into a plurality of tokenized samples. The tokenized samples are based on syntactical elements of the plurality of script code samples. One or more clusters of samples are determined based on similarities in different ones of the plurality of tokenized samples, and known malicious code having a threshold similarity to a representative sample of the cluster of samples is identified. Based on the identifying, the cluster of samples is identified as malicious. Based at least on respective ones of the plurality of tokenized samples associated with the cluster of samples, a generalized code signature usable to identify the script code samples in the cluster of samples is generated.
    Type: Grant
    Filed: January 16, 2015
    Date of Patent: August 7, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin Livshits, Benjamin G. Zorn, Benjamin Stock
  • Publication number: 20180203836
    Abstract: A device includes a logic machine and a data-holding machine having instructions executable by the logic machine to receive a spreadsheet including a plurality of cells, apply an abstraction to the spreadsheet that defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, form, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets, provide the input vector to the machine-learning prediction function; and output the prediction from the machine-learning prediction function.
    Type: Application
    Filed: January 17, 2017
    Publication date: July 19, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rishabh Singh, Ben Livshits, Benjamin G. Zorn
  • Patent number: 9898579
    Abstract: A database implemented by storing information encoded in DNA molecules provides high information density but the information is more difficult to access than in conventional electronic storage media. A relational database is a way of organizing information by using multiple related tables. Relational algebra operations are performed on relational databases to locate and manipulate information. This disclosure provides techniques for implementing relational algebra operations on a relational database that uses DNA molecules to store information. The techniques of this disclosure relate to the structure of DNA molecules used to store the information and to correlations between relational algebra operations and manipulations of DNA molecules.
    Type: Grant
    Filed: June 16, 2015
    Date of Patent: February 20, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karin Strauss, Benjamin G. Zorn, Kris K. Ganjam
  • Publication number: 20170337238
    Abstract: The techniques described herein use statistical reasoning to determine whether a spreadsheet (e.g., cells) includes potential errors. The techniques determine a partition within a spreadsheet where the partition includes cells that share characteristics (e.g., same row or column, same type of content, same formatting, etc.). Once determined, the partition is evaluated based on defined properties. A property is applied to generate property values so that an anomaly can be identified. An anomaly can occur when a cell in the partition has a property value that is inconsistent with other property values of other cells in the same partition (e.g., an intra-partition anomaly). An anomaly can also occur when a cell in the partition has a property value that is inconsistent with property values of cells in a different partition (e.g., an inter-partition anomaly). The techniques analyze the anomalies to determine a priority value indicative of a likelihood of a potential error.
    Type: Application
    Filed: May 20, 2016
    Publication date: November 23, 2017
    Inventors: Benjamin G. Zorn, Emery Berger
  • Patent number: 9552335
    Abstract: 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: Grant
    Filed: June 4, 2012
    Date of Patent: January 24, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Rishabh Singh, Dany Rouhana, Benjamin G. Zorn, Weide Zhong
  • Publication number: 20160371434
    Abstract: A database implemented by storing information encoded in DNA molecules provides high information density but the information is more difficult to access than in conventional electronic storage media. A relational database is a way of organizing information by using multiple related tables. Relational algebra operations are performed on relational databases to locate and manipulate information. This disclosure provides techniques for implementing relational algebra operations on a relational database that uses DNA molecules to store information. The techniques of this disclosure relate to the structure of DNA molecules used to store the information and to correlations between relational algebra operations and manipulations of DNA molecules.
    Type: Application
    Filed: June 16, 2015
    Publication date: December 22, 2016
    Inventors: Karin Strauss, Benjamin G. Zorn, Kris K. Ganjam
  • Patent number: 9411674
    Abstract: Power management functionality is described for implementing an application in an energy-efficient manner, without substantially degrading overall performance of the application. The functionality operates by identifying at least first data and second data associated with the application. The first data is considered to have a greater potential impact on performance of the application compared to the second data. The functionality then instructs a first set of hardware-level resources to handle the first data and a second set of hardware-level resources to handle the second data. The first set of hardware-level resources has a higher reliability compared to the second set of hardware-level resources. In one case, the first and second hardware-level resources comprise DRAM memory units. Here, the first set of hardware-level resources achieves greater reliability than the second set of hardware-level resources by being refreshed at a higher rate than the second set of hardware-level resources.
    Type: Grant
    Filed: March 19, 2010
    Date of Patent: August 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthik Pattabiraman, Thomas Moscibroda, Benjamin G. Zorn, Song Liu
  • Publication number: 20160212153
    Abstract: Disclosed herein are systems and methods for detecting script code malware and generating signatures. A plurality of script code samples are received and transformed into a plurality of tokenized samples. The tokenized samples are based on syntactical elements of the plurality of script code samples. One or more clusters of samples are determined based on similarities in different ones of the plurality of tokenized samples, and known malicious code having a threshold similarity to a representative sample of the cluster of samples is identified. Based on the identifying, the cluster of samples is identified as malicious. Based at least on respective ones of the plurality of tokenized samples associated with the cluster of samples, a generalized code signature usable to identify the script code samples in the cluster of samples is generated.
    Type: Application
    Filed: January 16, 2015
    Publication date: July 21, 2016
    Inventors: Benjamin Livshits, Benjamin G. Zorn, Benjamin Stock
  • Publication number: 20150254211
    Abstract: Various technologies described herein pertain to controlling programming for manipulating an input document based on example(s) and/or natural language input(s). A data manipulation system includes an interface component configured to receive an input document, which is semi-structured or unstructured. The data manipulation system further includes an extraction component configured to synthesize, based on a first input, a first program for parsing data of the input document. The extraction component is configured to execute the first program on the input document to form structured data. The data manipulation system also includes an operation component configured to synthesize, based on a second input, a second program for performing an operation on the structured data. The operation component is configured to execute the second program on the structured data to generate a result of the operation, which is output by the data manipulation system.
    Type: Application
    Filed: February 13, 2015
    Publication date: September 10, 2015
    Inventors: Sumit Gulwani, Edward C. Hart, JR., Vu Minh Le, Henrique S. Malvar, Mark Marron, James D. McCaffrey, Gustavo Araujo Soares, Benjamin G. Zorn
  • Publication number: 20150095312
    Abstract: Relational data is extracted from spreadsheets. A relational data extraction program is synthesized, where this synthesized program is consistent with examples of relational data associated with a spreadsheet. The synthesized program is executed on the spreadsheet, which extracts a set of tuples therefrom that is consistent with these examples, and generates a table that includes the extracted set of tuples. A program is received that specifies a set of constraints defining relational data to be extracted from a spreadsheet, where this set of constraints includes cell constraints and spatial constraints. The received program is executed on the spreadsheet, which extracts a set of tuples therefrom that is consistent with the set of constraints, and generates a table that includes the extracted set of tuples.
    Type: Application
    Filed: October 2, 2013
    Publication date: April 2, 2015
    Applicant: Microsoft Corporation
    Inventors: Sumit Gulwani, Benjamin G. Zorn, Daniel W. Barowy, Edward Hart
  • Patent number: 8856333
    Abstract: Deployment and execution of a service in a multiple datacenter environment may be facilitated using datacenter execution templates. Developers, business managers, and other interested parties may select and/or modify a declarative execution template embodying multiple factors. The execution template may then be used to generate an execution plan, which is then executed by datacenters which run the service. The execution template may be optimized after deployment of the service, allowing for ongoing adjustment in response to changing business, regulatory, and operational factors.
    Type: Grant
    Filed: June 16, 2009
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Benjamin G. Zorn, Jeffrey T Cohen, Dennis B. Gannon, Emre M. Kiciman, George M. Moore, Stuart H. Schaefer
  • Publication number: 20130326475
    Abstract: 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: Application
    Filed: June 4, 2012
    Publication date: December 5, 2013
    Applicant: Microsoft Corporation
    Inventors: Sumit Gulwani, Rishabh Singh, Dany Rouhana, Benjamin G. Zorn, Weide Zhong
  • Patent number: 8407206
    Abstract: Described herein are methods and systems for providing software development services more efficiently. Re-computation of results each time a service request is received can be avoided by maintaining a cache of results from having processed requests. Results are stored under a unique mapping of request-results pairs that at least in part rely on a file fingerprint hash of the contents of the input files related to the request. In network environment with a client requester and service provider unnecessary transmission is also avoided by first presenting results for requests are in form of a unique file identifier identifying one or more files holding the content of the results. The file identifier is used to search a cache local to the requesting client prior to requesting transmission of the results. The file identifier may also include an indicator for indicating a location from which the results may be retrieved.
    Type: Grant
    Filed: May 16, 2005
    Date of Patent: March 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Todd A. Proebsting, David R. Hanson, Benjamin G. Zorn
  • Patent number: 8271964
    Abstract: Described herein are methods and systems for providing software development services in a networked software development environment. For instance, instead of performing compilation on a stand-alone desktop computer, software development activities including, compilation are performed by a service provider in response to a general query from a client requester. Such a network desirably has a global view of the source files being processed by various software development tools associated therewith. This global view enables many interesting approaches including the ability to perform analysis and optimizations to the input files not specified by the client requester. Such anticipatory processing may be based on the history and pattern of previous requests and availability of software development tools that the client requester is not aware of, for instance.
    Type: Grant
    Filed: May 16, 2005
    Date of Patent: September 18, 2012
    Assignee: Microsoft Corporation
    Inventors: Benjamin G. Zorn, David R. Hanson
  • Patent number: 8112597
    Abstract: Typical computer programs may incur costly memory errors that result in corrupted data. A new memory model is presented wherein it may be determined that certain data is critical and critical data may be stored and protected during computer application execution. Critical Memory allows that data determined to be critical may be stored and retrieved using functions enabled to increase the reliability of the data. Critical Memory presents a memory model where a subset of memory designated as critical memory may be used to store a subset of data deemed critical data. Probabilistic guarantees of data value consistency are provided by the employment of the new memory model. The memory model and functions presented are compatible with existing third-party libraries such that third-party libraries may be compatibly called from processes using critical memory.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: February 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Karthik Pattabiraman, Vinod K. Grover, Benjamin G. Zorn
  • Patent number: 7971248
    Abstract: Detecting and/or tolerating races. Races occur due to malicious threads not respecting software locks. A method of detecting and/or correcting races includes making local copie(s) and reference copie(s) of shared data. Any read and write operations performed by a safe thread are caused to be performed on the local copie(s) during a critical section. The critical section defines a time frame which a variable lock is placed on shared data. Any read and write operations performed by malicious threads are allowed to be performed on the shared data during the critical section. The shared data, the local copie(s), and the reference copie(s) are compared to determine that a race has been detected. An indication can be output that a race has occurred or the race can be corrected.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: June 28, 2011
    Assignee: Microsoft Corporation
    Inventors: Rahul Nagpal, Darko Kirovski, Benjamin G. Zorn
  • Patent number: 7949841
    Abstract: Typical computer programs may incur costly memory errors that result in corrupted data. A new memory model is presented wherein it may be determined that certain data is critical and critical data may be stored and protected during computer application execution. Critical Memory allows that data determined to be critical may be stored and retrieved using functions enabled to increase the reliability of the data. Functions are presented enabling allocation of redundant computer memory; functions are presented enabling consistently writing critical data to redundant locations; and functions are presented enabling reading critical data while ensuring that the data read is consistent with the most recent write of critical data and enabled to repair inconsistent data. The memory model and functions presented are designed to be compatible with existing third-party libraries.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: May 24, 2011
    Assignee: Microsoft Corporation
    Inventors: Karthik Pattabiraman, Vinod K. Grover, Benjamin G. Zorn
  • Publication number: 20100319004
    Abstract: An exemplary policy management layer includes a policy module for a web-based service where the policy module includes logic to make a policy-based decision and an application programming interface (API) associated with an execution engine associated with resources for providing the web-based service, where the API is configured to communicate information from the execution engine to the policy module and where the API is configured to receive a policy-based decision from the policy module and to communicate the policy-based decision to the execution engine to thereby effectuate policy for the web-based service. Various other devices, systems, methods, etc., are also described.
    Type: Application
    Filed: June 16, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: William Hunter Hudson, Patrick J. Helland, Benjamin G. Zorn