Patents by Inventor Niklas Gustafsson

Niklas Gustafsson 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: 9753698
    Abstract: A method and/or computer program that incorporates isolation principles of separate address spaces and enforces the principles with a compiler and supporting runtime through a language-based model is disclosed. This approach significantly lowers the required overhead and retains the beneficial qualities of the scalable, isolated model. The model is implemented in a programming language where memory-based state is partitioned into a plurality of domains where the variables inside of a domain are isolated from external components. Agents are introduced inside of the domain and act on behalf of clients outside of the domain. The agents communicate with their clients via message-passing to enforce the isolation of the domain state. The domain-based isolation addresses the partitioning of memory-based state without the introduction of separate processes. Domains can also be used in conjunction with a distributed model either within a single computing device or between computing devices.
    Type: Grant
    Filed: June 10, 2009
    Date of Patent: September 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Artur Laksberg, Joshua Phillips
  • Patent number: 9690604
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: June 27, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • 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
  • Publication number: 20170123776
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Application
    Filed: January 17, 2017
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • 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: 9547511
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Grant
    Filed: June 5, 2009
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • Patent number: 9378062
    Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.
    Type: Grant
    Filed: June 18, 2009
    Date of Patent: June 28, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
  • Patent number: 9367350
    Abstract: A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: June 14, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Joseph L. Hellerstein
  • Publication number: 20160130029
    Abstract: A snack food container having a square base, side walls substantially consisting of four right triangular panels and two isosceles triangular panels, and a flat, two dimensional end seal. The container is opened by use of a tear feature just below the end seal. The container is of paperboard construction and is resealable by virtue of a score line on each side of the container located below the end seal in combination with a horizontal cut through the container located below one score line. After opening, the container can be resealed by folding the container over the score lines towards the horizontal cut. An edge of the container is then secured in the horizontal cut.
    Type: Application
    Filed: January 5, 2016
    Publication date: May 12, 2016
    Inventors: Johannes BAYER, Martin Bernhard DIERL, Eduard EDWARDS, Niklas GUSTAFSSON, David LESTAGE, Sunitha NAIR, Bich-Van PHAM, Stephen TYNER, Patrick Ryan WINDLEY
  • Patent number: 9003377
    Abstract: Unsuspended co-routines are handled by the machine call stack mechanism in which the stack grows and shrinks as recursive calls are made and returned from. When a co-routine is suspended, however, additional call stack processing is performed. A suspension message is issued, and the entire resume-able part of the call stack is removed, and is copied to the heap. A frame that returns control to a driver method (a resumer) is copied to the call stack so that resumption of the co-routine does not recursively reactivate the whole call stack. Instead the resumer reactivates only the topmost or most current frame called the leaf frame. When a co-routine is suspended, it does not return to its caller, but instead returns to the resumer that has reactivated it.
    Type: Grant
    Filed: January 7, 2010
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neal M. Gafter, Mads Torgersen, Henricus Johannes Maria Meijer, Niklas Gustafsson
  • Patent number: 8959517
    Abstract: A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.
    Type: Grant
    Filed: June 10, 2009
    Date of Patent: February 17, 2015
    Assignee: Microsoft Corporation
    Inventors: William R. Messmer, David Callahan, Paul F. Ringseth, Niklas Gustafsson
  • Patent number: D743349
    Type: Grant
    Filed: April 7, 2014
    Date of Patent: November 17, 2015
    Assignee: Honeywell International Inc.
    Inventors: Shanna Leeland, Philip Shen, Albert Holaso, Eric Helzer, Kevin Clinger, Maria Lalli, Robert C. Frost, Seonmee Kong, Niklas Gustafsson, J Matthew Baranauskas
  • Patent number: D756939
    Type: Grant
    Filed: April 7, 2014
    Date of Patent: May 24, 2016
    Assignee: Honeywell International Inc.
    Inventors: Shanna Leeland, Philip Shen, Albert Holaso, Eric Helzer, Kevin Clinger, Maria Lalli, Robert C. Frost, Seonmee Kong, Niklas Gustafsson, J Matthew Baranauskas
  • Patent number: D767297
    Type: Grant
    Filed: September 15, 2015
    Date of Patent: September 27, 2016
    Assignee: Georgia-Pacific Consumer Products LP
    Inventors: Nickolas Everett Madsen, Niklas Gustafsson, Joel Eric Tetreault, Larisa Schulze
  • Patent number: D768405
    Type: Grant
    Filed: September 15, 2015
    Date of Patent: October 11, 2016
    Assignee: Georgia-Pacific Consumer Products LP
    Inventors: Robert Patterson, Niklas Gustafsson, Joel Eric Tetreault, Larisa Schulze
  • Patent number: D781067
    Type: Grant
    Filed: September 15, 2015
    Date of Patent: March 14, 2017
    Assignee: Georgia-Pacific Consumer Products LP
    Inventors: Brandon Seth Cross, Nathan Patrick Roche, Niklas Gustafsson, Larisa Schulze, Joel Eric Tetreault
  • Patent number: D793967
    Type: Grant
    Filed: April 28, 2016
    Date of Patent: August 8, 2017
    Assignee: Honeywell International Inc.
    Inventors: Shanna Leeland, Philip Shen, Albert Holaso, Eric Helzer, Kevin Clinger, Maria Lalli, Robert C. Frost, Seonmee Kong, Niklas Gustafsson, J Matthew Baranauskas
  • Patent number: D829556
    Type: Grant
    Filed: April 21, 2017
    Date of Patent: October 2, 2018
    Assignee: PepsiCo, Inc.
    Inventors: Emilian D. Cartis, William R. Eaton, Niklas Gustafsson, Kamal Mahajan, Charles White
  • Patent number: D844437
    Type: Grant
    Filed: August 11, 2017
    Date of Patent: April 2, 2019
    Assignee: PepsiCo, Inc.
    Inventors: Emilian Dan Cartis, Ryan Campbell, Niklas Gustafsson, Meatta T. Kemokai, Kamal Mahajan, Syed Peer, Bruno Telesca, Koby Hebborn Trout, Moreno Barel
  • Patent number: D860793
    Type: Grant
    Filed: January 19, 2018
    Date of Patent: September 24, 2019
    Assignee: PepsiCo, Inc.
    Inventors: Emilian Dan Cartis, Ryan James Campbell, Niklas Gustafsson, Meatta T. Kemokai, Kamal Mahajan, Syed Peer, Bruno Telesca, Koby Hebborn Trout, Moreno Barel