Patents by Inventor Nicholas M. Kramer

Nicholas M. Kramer 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: 7823157
    Abstract: The present invention provides a dynamic queue for managing jobs in a threaded computing environment. Jobs may be placed in the queue, which may be maintained within a context of the computing environment, at a given priority level. The priority of jobs within the queue and the receipt time of each job is maintained. A job may also be placed within the queue with triggers that, if met, will result in the priority of the job being changed or will result in the job being removed from the queue entirely. Methods in accordance with the present invention also provide a method for raising an exception should multiple threads seek to access objects within a single context. Methods in accordance with the present invention also provide compatibility with prior computing systems and methodologies by providing for integration of prior static queues with dynamic queues in accordance with the present invention, and by providing methods for a given thread to be pinned to a particular context of a computing environment.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Michael John Hillberg, Nicholas M. Kramer
  • Patent number: 7581231
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Patent number: 7562305
    Abstract: A commanding system for a computer. The system includes a memory storing a binding table that connects input to associated action, at least one binding in the binding table including an interface binding. The system also includes a processor in data communication with the memory, the processor programmed to query each binding in the binding table, receive the interface binding associated with the binding; and generate a command interface based on the interface binding. The command interface is dynamically generated based on the information provided by the interface binding. Examples of command interfaces include toolbars and menus.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: July 14, 2009
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Gregory Cavanaugh Franklin, Kevin B. Gjerstad, Nicholas M. Kramer, Yutaka Nakajima
  • Patent number: 7546602
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: June 9, 2009
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Brian K. Pepin, Chad W. Royal, Christopher L. Anderson, Giovanni M. Della-Libera, Mark A. Boulter, Nicholas M. Kramer, Shawn P. Burke, Subhag P. Oak, Sreeram Nivarthi
  • Patent number: 7505987
    Abstract: Disclosed is a default property sheet system that coordinates default values for elements used in a user interface. Interface designers add default values for the properties of the elements that they define. The default “value” is broadly understood. Not limited to fixed values, the default property sheet can provide a rule for calculating a default value. The rule can take into account, for example, aspects of the present environment. The order of searching for a rule that provides a value to a property of an interface element is defined. Other collections of value-setting rules, called “non-default property sheets,” can be created that take precedence over the default property sheet. The default property sheet can be a “theme of last resort.” If a property of an interface element is not given a value elsewhere, then the property is given the value specified in the default property sheet.
    Type: Grant
    Filed: May 13, 2003
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Nicholas M. Kramer, Mark J. Finocchio, Benjamin F. Carter
  • Patent number: 7386856
    Abstract: A commanding system and method for a computer including at least one control element at the control level having commanding information. An input sequence can be received from an input device, and the commanding information provided by the control element can be used to connect the input to an associated action. Control elements and the application elements can be arranged as nodes in an tree, each node having one or more children and/or one or more parents. A table of bindings can be associated with each node, the table of bindings including a plurality of binding entries, each including a command binding and a command handler. The input sequence can be passed from node to node in the tree to find a command binding that matches the input sequence. When a matching command binding is found, the command handler associated with the matching command binding can be used to invoke the action that is to be performed based on the input sequence.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: June 10, 2008
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Gregory Cavanaugh Franklin, Kevin B. Gjerstad, Nicholas M. Kramer, Yutaka Nakajima
  • Patent number: 7284205
    Abstract: A commanding system for a computer. The system includes an input module that accepts a plurality of input sequences across multiple input device categories, and a commanding element having a binding table that connects input sequences to associated action. One or more of the binding entries in the binding table includes a command binding with a plurality of sub-command bindings associated with the plurality of input sequences across multiple input device categories. A processor receives the input at the input module and passes the input to the command element, the command element looking up a matching command binding associated with the input in the binding table. In addition, the processor invokes action associated with the input if the matching binding is found in the binding table. The system can also report the commands a particular application can understand upon request.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: October 16, 2007
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Gregory Cavanaugh Franklin, Kevin B. Gjerstad, Nicholas M. Kramer, Yutaka Nakajima
  • Patent number: 7278091
    Abstract: Disclosed is a theme property sheet system that supports presentation themes by coordinating values provided to elements used in a user interface. When an interface user expresses a preference for a particular presentation theme, that theme's property sheet is given precedence over other mechanisms for setting property values. By appropriately setting these values in the interface, the theme property sheet enhances the coherence of the interface. The theme property sheet allows an interface designer to add new presentation elements to a user interface without being concerned about presentation themes. The default for each property as set by the designer is overridden, when necessary, by the theme sheet. In a few particular cases, an application designer needs to override even the user's theme preferences. A mechanism is provided to support these exceptional cases.
    Type: Grant
    Filed: May 13, 2003
    Date of Patent: October 2, 2007
    Assignee: Microsoft Corporation
    Inventors: Nicholas M. Kramer, Mark J. Finocchio, Robert E. Sinclair, II
  • Patent number: 7143213
    Abstract: A commanding system for a computer. An input sequence can be received from an input device, and the commanding system can be used to connect the input to an associated action. Commanding can be provided by a plurality of nodes that represent elements of control and application levels. The nodes can be arranged in a hierarchical structure, and each node can include a table of bindings. A service can be attached to one or more of the nodes at run-time to provide additional commanding functionality. For example, a service can modify or supplement the binding entries provided in the table of bindings associated with a given node.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Gregory Cavanaugh Franklin, Nicholas M. Kramer, Yutaka Nakajima
  • Patent number: 7055132
    Abstract: Described is a mechanism for allowing new functionality for an object to be expressed as a property that is not built into the class from which the object derives. More specifically, the mechanism associates properties in one class with another class. A computer-readable medium, that includes an object having a property in a first set of properties, further includes a data structure. The data structure includes definitions for each of a second set of properties and includes at least one static method. The static method is associated with one property out of the second set of properties and includes a first parameter. The first parameter uniquely identifies the one property. The static method is operative to associate the one property with the object without specifying an explicit reference to the one property in the object. The property is registered during run-time in order to receive the unique identifier.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: May 30, 2006
    Assignee: Microsoft Corporation
    Inventors: Jeffrey L. Bogdan, Mark J. Finocchio, Nicholas M. Kramer
  • Publication number: 20040230888
    Abstract: Disclosed is a theme property sheet system that supports presentation themes by coordinating values provided to elements used in a user interface. When an interface user expresses a preference for a particular presentation theme, that theme's property sheet is given precedence over other mechanisms for setting property values. By appropriately setting these values in the interface, the theme property sheet enhances the coherence of the interface. The theme property sheet allows an interface designer to add new presentation elements to a user interface without being concerned about presentation themes. The default for each property as set by the designer is overridden, when necessary, by the theme sheet. In a few particular cases, an application designer needs to override even the user's theme preferences. A mechanism is provided to support these exceptional cases.
    Type: Application
    Filed: May 13, 2003
    Publication date: November 18, 2004
    Applicant: Microsoft Corporation
    Inventors: Nicholas M. Kramer, Mark J. Finocchio, Robert E. Sinclair
  • Publication number: 20040230575
    Abstract: Disclosed is a default property sheet system that coordinates default values for elements used in a user interface. Interface designers add default values for the properties of the elements that they define. The default “value” is broadly understood. Not limited to fixed values, the default property sheet can provide a rule for calculating a default value. The rule can take into account, for example, aspects of the present environment. The order of searching for a rule that provides a value to a property of an interface element is defined. Other collections of value-setting rules, called “non-default property sheets,” can be created that take precedence over the default property sheet. The default property sheet can be a “theme of last resort.” If a property of an interface element is not given a value elsewhere, then the property is given the value specified in the default property sheet.
    Type: Application
    Filed: May 13, 2003
    Publication date: November 18, 2004
    Applicant: Microsoft Corporation
    Inventors: Nicholas M. Kramer, Mark J. Finocchio, Benjamin F. Carter
  • Publication number: 20040002991
    Abstract: Described is a mechanism for allowing new functionality for an object to be expressed as a property that is not built into the class from which the object derives. More specifically, the mechanism associates properties in one class with another class. A computer-readable medium, that includes an object having a property in a first set of properties, further includes a data structure. The data structure includes definitions for each of a second set of properties and includes at least one static method. The static method is associated with one property out of the second set of properties and includes a first parameter. The first parameter uniquely identifies the one property. The static method is operative to associate the one property with the object without specifying an explicit reference to the one property in the object. The property is registered during run-time in order to receive the unique identifier.
    Type: Application
    Filed: June 28, 2002
    Publication date: January 1, 2004
    Applicant: Microsoft Corporation
    Inventors: Jeffrey L. Bogdan, Mark J. Finocchio, Nicholas M. Kramer
  • Publication number: 20030177282
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: July 10, 2001
    Publication date: September 18, 2003
    Inventors: Andres Hejlsberg, Brian K. Pepin, Chad W. Royal, Christopher L. Anderson, Giovanni M. Della-Libera, Mark A. Boulter, Nicholas M. Kramer, Shawn P. Burke, Subhag P. Oak, Sreeram Nivarthi
  • Publication number: 20030028685
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: February 28, 2002
    Publication date: February 6, 2003
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Miller, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau