Patents by Inventor John J. Duffy

John J. Duffy 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).

  • Publication number: 20240093878
    Abstract: A cooking appliance includes a cooktop and a burner mounted on the cooktop. At least one coupling member is coupled to the cooktop. A grate, a griddle, or a reversible griddle is selectively coupled to the at least one coupling member and is operable between a raised position and a lowered position when the grate, the griddle, or the reversible griddle, is engaged with the coupling member.
    Type: Application
    Filed: November 29, 2023
    Publication date: March 21, 2024
    Applicant: WHIRLPOOL CORPORATION
    Inventors: Alexandre Machado Bardal, Randall Vernen Crawford, Patrick J. Duffy, Ken E. Johnson, Michele Harpring Johnson, John Ryan McNally, Paul J. Neuman, Gaston A. Leoni, Leonardo Portilho Soares, Sarah Katherine Small
  • Patent number: 11113190
    Abstract: A computing device implemented method for building a mutable type is disclosed. A data structure is generated in a contiguous section of memory. The data structure includes an element portion and an over-allocation portion. The element portion stores elements accessible with an index. A gap object is inserted into the over-allocation portion. The gap object is garbage collected.
    Type: Grant
    Filed: November 11, 2016
    Date of Patent: September 7, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Krzysztof J. Cwalina, Matthew G. Ellis
  • Patent number: 10901808
    Abstract: Fine-grained parallelism within isolated object graphs is used to provide safe concurrent operations within the isolated object graphs. One example provides an abstraction labeled IsolatedObjectGraph that encapsulates at least one object graph, but often two or more object graphs, rooted by an instance of a type member. By encapsulating the object graph, no references from outside of the object graph are allowed to objects inside of the object graph. Also, the encapsulated object graph does not contain references to objects outside of the graphs. The isolated object graphs provide for safe data parallel operations, including safe data parallel mutations such as foreach loops. In an example, the ability to isolate the object graph is provided through type permissions.
    Type: Grant
    Filed: February 2, 2017
    Date of Patent: January 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Niklas Gustafsson, Vance Morrison
  • Publication number: 20180137049
    Abstract: A computing device implemented method for building a mutable type is disclosed. A data structure is generated in a contiguous section of memory. The data structure includes an element portion and an over-allocation portion. The element portion stores elements accessible with an index. A gap object is inserted into the over-allocation portion. The gap object is garbage collected.
    Type: Application
    Filed: November 11, 2016
    Publication date: May 17, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Krzysztof J. Cwalina, Matthew G. Ellis
  • Patent number: 9971578
    Abstract: The annotation of a returned reference from an executable component to signify that there are no external references to the particular object graph referenced by the returned reference. If either 1) there are no input arguments to the executable component or 2) each input argument is either immutable or represents an object graph that has no external mutable references pointing into the object graph, and no internal mutable references that reference external objects, the particular attribute is assigned to the returned reference. Accordingly, if the returned reference is writable (as determined by evaluating the declaration code or the call code for the executable component), the returned reference is free to have whatever access permissions assigned to it, and may also be assigned to an isolated memory location, though such assignments will cause the returned reference to lose the particular attribute.
    Type: Grant
    Filed: October 15, 2012
    Date of Patent: May 15, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Jared P. Parsons, Michael Sinz, Alexander D. Bromfield
  • Patent number: 9928105
    Abstract: A parallel execution runtime prevents stack overflow by maintaining an inline counter for each thread executing tasks of a process. Each time that the runtime determines that inline execution of a task is desired on a thread, the runtime determines whether the inline counter for the corresponding thread indicates that stack overflow may occur. If not, the runtime increments the inline counter for the thread and allows the task to be executed inline. If the inline counter indicates a risk of stack overflow, then the runtime performs additional one or more checks using a previous stack pointer of the stack (i.e., a lowest known safe watermark), the current stack pointer, and memory boundaries of the stack. If the risk of stack overflow remains after all checks have been performed, the runtime prevents inline execution of the task.
    Type: Grant
    Filed: June 28, 2010
    Date of Patent: March 27, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Huseyin S. Yildiz, John J. Duffy
  • Patent number: 9740460
    Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.
    Type: Grant
    Filed: June 25, 2015
    Date of Patent: August 22, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Aleksandra Nadia Culver, Krzysztof J. Cwalina
  • Publication number: 20170147412
    Abstract: Fine-grained parallelism within isolated object graphs is used to provide safe concurrent operations within the isolated object graphs. One example provides an abstraction labeled IsolatedObjectGraph that encapsulates at least one object graph, but often two or more object graphs, rooted by an instance of a type member. By encapsulating the object graph, no references from outside of the object graph are allowed to objects inside of the object graph. Also, the encapsulated object graph does not contain references to objects outside of the graphs. The isolated object graphs provide for safe data parallel operations, including safe data parallel mutations such as foreach loops. In an example, the ability to isolate the object graph is provided through type permissions.
    Type: Application
    Filed: February 2, 2017
    Publication date: May 25, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Niklas Gustafsson, Vance Morrison
  • Patent number: 9569282
    Abstract: Fine-grained parallelism within isolated object graphs is used to provide safe concurrent operations within the isolated object graphs. One example provides an abstraction labeled IsolatedObjectGraph that encapsulates at least one object graph, but often two or more object graphs, rooted by an instance of a type member. By encapsulating the object graph, no references from outside of the object graph are allowed to objects inside of the object graph. Also, the encapsulated object graph does not contain references to objects outside of the graphs. The isolated object graphs provide for safe data parallel operations, including safe data parallel mutations such as for each loops. In an example, the ability to isolate the object graph is provided through type permissions.
    Type: Grant
    Filed: April 24, 2009
    Date of Patent: February 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Niklas Gustafsson, Vance Morrison
  • Patent number: 9418175
    Abstract: An enumerable concurrent data structure referred to as a concurrent bag is provided. The concurrent bag is accessible by concurrent threads and includes a set of local lists configured as a linked list and a dictionary. The dictionary includes an entry for each local list that identifies the thread that created the local list and the location of the local list. Each local list includes a set of data elements configured as a linked list. A global lock on the concurrent bag and local locks on each local list allow operations that involve enumeration to be performed on the concurrent bag.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Emad Omara, John J. Duffy
  • Patent number: 9411635
    Abstract: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Multiple closed nested transactions are created for a single parent transaction, and the closed nested transactions are executed concurrently as parallel nested transactions. Various techniques are used to ensure effects of the parallel nested transactions are hidden from other transactions outside the parent transaction until the parent transaction commits. For example, retry is allowed to work correctly with parallel nested transactions. When a transaction that is a parallel nested transaction or a child transaction of the parallel nested transaction executes a retry, a read set of the transaction is registered for the retry. When a decision is made to propagate the retry past a parallel nested transaction parent of the transaction, keeping the read set registered and making the read set part of a parent read set.
    Type: Grant
    Filed: September 18, 2012
    Date of Patent: August 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael M. Magruder, David Detlefs, John J. Duffy, Goetz Graefe, Vinod K. Grover
  • Patent number: 9286039
    Abstract: A front-end compiler compiles source code into intermediate code, that may later be compiled into binary code. The source code defines an execution scope and includes a contract. When a contract is encountered at runtime of an execution scope, further execution of that execution scope is conditioned on whether a predicate associated with the contract is true. The front-end compiler operates so as to preserve the contract so that the contract continues to be semantically structured such that the predicate may be removed from the intermediate language code. The contract may thus continue to be understood by semantic analysis of the contract. Thus, the predicate may be understood by static analysis tools that operate on the intermediate code.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Jared Porter Parsons, Colin Stebbins Gordon, Alexander Daniel Bromfield, Martin Taillefer, David Allen Bartolomeo, Michael Barnett
  • Patent number: 9229959
    Abstract: The type definition of particular types such that different portions of the corresponding object graph may have different permissions assigned to those portions during instantiation. This allows structured permissions to be applied to instantiations of the object graphs of those defined types, allowing fine grained control over what access permissions are enforced against which portions of the object graph. In some embodiments, different instantiations of the object graph may apply permissions differently.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: G. Shon Katzenberger, Jared Porter Parsons, Alexander Daniel Bromfield, John J. Duffy, Krzysztof J. Cwalina
  • Patent number: 9189446
    Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
  • Publication number: 20150324175
    Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.
    Type: Application
    Filed: June 25, 2015
    Publication date: November 12, 2015
    Inventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Alexander Daniel Bromfield, Krzysztof J. Cwalina
  • Patent number: 9141422
    Abstract: A parallel execution runtime allows tasks to be executed concurrently in a runtime environment. The parallel execution runtime delegates the implementation of task queuing, dispatch, and thread management to one or more plug-in schedulers in a runtime environment of a computer system. The plug-in schedulers may be provided by user code or other suitable sources and include interfaces that operate in conjunction with the runtime. The runtime tracks the schedulers and maintains control of all aspects of the execution of tasks from user code including task initialization, task status, task waiting, task cancellation, task continuations, and task exception handling.
    Type: Grant
    Filed: May 18, 2010
    Date of Patent: September 22, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen H. Toub, Huseyin S. Yildiz, Joseph E. Hoag, John J. Duffy, Danny Shih
  • Patent number: 9098269
    Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: August 4, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Alexander Daniel Bromfield, Krzysztof J. Cwalina
  • Patent number: 8997101
    Abstract: Embodiments described herein are directed to dynamically controlling the number of spins for a selected processing thread among a plurality of processing threads. A computer system tracks both the number of waiting processing threads and each thread's turn, wherein a selected thread's turn comprises the total number of waiting processing threads after the selected thread's arrival at the processor. Next, the computer system determines, based on the selected thread's turn, the number of spins that are to occur before the selected thread checks for an available thread lock. The computer system also, based on the selected thread's turn, changes the number of spins, such that the number of spins for the selected thread is a function of the number of waiting processing threads and processors in the computer system.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: March 31, 2015
    Assignee: Microsoft Corporation
    Inventors: Emad A. Omara, John J. Duffy
  • Publication number: 20140282448
    Abstract: A front-end compiler compiles source code into intermediate code, that may later be compiled into binary code. The source code defines an execution scope and includes a contract. When a contract is encountered at runtime of an execution scope, further execution of that execution scope is conditioned on whether a predicate associated with the contract is true. The front-end compiler operates so as to preserve the contract so that the contract continues to be semantically structured such that the predicate may be removed from the intermediate language code. The contract may thus continue to be understood by semantic analysis of the contract. Thus, the predicate may be understood by static analysis tools that operate on the intermediate code.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: John J. Duffy, Jared Porter Parsons, Colin Stebbins Gordon, Alexander Daniel Bromfield, Martin Taillefer, David Allen Bartolomeo, Michael Barnett
  • Publication number: 20140195862
    Abstract: Handing errors in program execution. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that one or more of the explicitly identified failure conditions has occurred. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition. An alternative embodiment may be practiced in a computing environment, and includes a method handing errors. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Martin Taillefer, Jinsong Yu, John J. Duffy, Sean E. Trowbridge, Alexander D. Bromfield