Patents by Inventor Cyrus Najmabadi

Cyrus Najmabadi 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: 10403239
    Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the system comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.
    Type: Grant
    Filed: December 19, 2017
    Date of Patent: September 3, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: David Timothy Steinberger, Cyrus Najmabadi
  • Patent number: 9886936
    Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.
    Type: Grant
    Filed: May 14, 2010
    Date of Patent: February 6, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: David Timothy Steinberger, Cyrus Najmabadi
  • Patent number: 9672585
    Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: June 6, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: David Timothy Steinberger, Cyrus Najmabadi
  • Patent number: 9182980
    Abstract: An automated programming tool can receive program source code and can expand portions of the program source code to make to make identifiers explicit, insert sets of parenthesis and so on. Expansions can be kept track of so that reductions after refactoring can be confined to altered portions of the program source code.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: November 10, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Dustin R. Campbell, Kevin Pilch-Bisson, Cyrus Najmabadi, David J. Poeschl, Vladimir Reshetnikov
  • Patent number: 8875089
    Abstract: A workspace model generates a component of a solution from an immutable object representing the solution at a given point in time. A component may be requested by an extension to an integrated development environment for the extension's use. The workspace model determines a sequence of operations needed to construct the requested component at the time the component is requested using the state of the solution represented through the immutable object. The immutable object allows the extension to access the requested component while the integrated development environment is used to alter the solution.
    Type: Grant
    Filed: December 5, 2011
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Matt Warren, Cyrus Najmabadi, Heejae Chang, Jason Malinowski, Kevin Pilch-Bisson, Dustin Campbell
  • Publication number: 20140289715
    Abstract: Immutable structures are employed to effect immutable parsing. In particular, a parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like, wherein at least one of the stack and buffer is immutable. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.
    Type: Application
    Filed: June 2, 2014
    Publication date: September 25, 2014
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Patent number: 8762969
    Abstract: Immutable structures are employed to effect immutable parsing. In particular, an immutable parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.
    Type: Grant
    Filed: August 7, 2008
    Date of Patent: June 24, 2014
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20140165035
    Abstract: An automated programming tool can receive program source code and can expand portions of the program source code to make to make identifiers explicit, insert sets of parenthesis and so on. Expansions can be kept track of so that reductions after refactoring can be confined to altered portions of the program source code.
    Type: Application
    Filed: December 11, 2012
    Publication date: June 12, 2014
    Applicant: Microsoft Corporation
    Inventors: Dustin R. Campbell, Kevin Pilch-Bisson, Cyrus Najmabadi, David J. Poeschl, Vladimir Reshetnikov
  • Publication number: 20130145343
    Abstract: A workspace model generates a component of a solution from an immutable object representing the solution at a given point in time. A component may be requested by an extension to an integrated development environment for the extension's use. The workspace model determines a sequence of operations needed to construct the requested component at the time the component is requested using the state of the solution represented through the immutable object. The immutable object allows the extension to access the requested component while the integrated development environment is used to alter the solution.
    Type: Application
    Filed: December 5, 2011
    Publication date: June 6, 2013
    Applicant: Microsoft Corporation
    Inventors: MATT WARREN, Cyrus Najmabadi, Heejae Chang, Jason Malinowski, Kevin Pilch-Bisson, Dustin Campbell
  • Publication number: 20100318895
    Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.
    Type: Application
    Filed: May 14, 2010
    Publication date: December 16, 2010
    Inventors: David Timothy Steinberger, Cyrus Najmabadi
  • Publication number: 20100037212
    Abstract: Immutable structures are employed to effect immutable parsing. In particular, an immutable parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.
    Type: Application
    Filed: August 7, 2008
    Publication date: February 11, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100037213
    Abstract: Parsing functionality is automatically generated. In particular, abstract syntax tree types and/or other programmatic constructs are created automatically from a grammar specification in a manner that resembles hand-written code. An abstract syntax tree can subsequently be constructed as a function of the generated types. Further, a plurality of supporting functionality can be generated to consume or produce abstract syntax tree types, among other things.
    Type: Application
    Filed: August 7, 2008
    Publication date: February 11, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100023798
    Abstract: Error recovery and diagnosis is afforded for pushdown automata. Upon detection of an error, a recovery strategy is selected and dispatched to recover from the error to place an automaton in an error free state to enable continued processing. In one instance, recovery strategies can be specified and matched with respect to automaton configuration. Errors can be diagnosed as a function of the difference between a first error configuration and a second recovered configuration.
    Type: Application
    Filed: July 25, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100024030
    Abstract: Data transformation is lazily performed to facilitate reduced memory footprint, among other things. Rather than constituting an entire data structure, information is saved to enable iterative construction the structure. Moreover, an interface is afforded that appears to operate over a fully resolved structure but which is implemented on top of a restartable transformation mechanism that computes values in response to requests. These computed values could also be released based on one or more configurable policies.
    Type: Application
    Filed: July 23, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100023924
    Abstract: Parse tables or like representations are augmented with extension points to enable call out to arbitrary code. Such parse tables can be automatically generated from a specification including fixed information along with information about extensibility points provided. The extensibility points enable incorporation of dynamic data into a fixed parse table. In one instance, this allows a parser to determine if a character is acceptable at the time of execution rather than when the parse table was defined.
    Type: Application
    Filed: July 23, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100010801
    Abstract: A plethora of strategies is afforded to facilitate conflict resolution and error recovery with respect to parsing, among other things. Grammar authors can select amongst a range of strategies or options on a case-by-case basis to address conflicts, ambiguities, errors, and the like. The strategies can be either static or dynamic. In one instance, code external to a parsing system can be invoked to resolve conflicts or recover from errors, and further enable change of strategy without requiring modification of the parser. Interaction between the parsing system and the external code can also be formalized to ensure general type safety of the system.
    Type: Application
    Filed: July 11, 2008
    Publication date: January 14, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20070044066
    Abstract: Multiple programming languages can be embedded and supported within a single source. Programs nested with syntax from a plurality of languages (e.g., C#, SQL, XML . . . ), among other things, enable users to avail themselves of advantageous aspects of different languages for particular tasks. Language services that provide language specific functionality including but not limited to formatting, intelligent assist, auto completion, and coloring, can be employed and switched between to afford support for their respective languages in a mixed language source program. Similarly, mixed language programs can be compiled with language specific services or systems such as parsers, scanners and the like to process corresponding code portions.
    Type: Application
    Filed: August 19, 2005
    Publication date: February 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Brian Beckman, Avner Aharoni, David Schach, Peter Drayton, Ralf Lammel, Jose Blakeley, Cyrus Najmabadi
  • Publication number: 20060277525
    Abstract: A mechanism is provided for inferring a computer user's intent in developing computer system code. Specifically, an inference mechanism is provided that can infer a user's intent at least on three levels: a lexical level, a syntactic level, and a semantic level. The inference mechanism employs various rule-based and heuristic-based techniques including type coercion, scope proximity, parameter count and arguments, and so on. Various inference mechanism controls are also employed to increase inference robustness, including timing of making suggestions, the number of suggestions, and the extensibility of suggestions.
    Type: Application
    Filed: June 6, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Cyrus Najmabadi, Anson Horton