Patents by Inventor Johannes Helander

Johannes Helander 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: 9977695
    Abstract: Automatic programming, scheduling, and control of planned activities at “worker nodes” in a distributed environment are provided by a “real-time self tuner”(RTST). The RTST provides self-tuning of controlled interoperation among an interconnected set of distributed components (i.e., worker nodes) including, for example, home appliances, security systems, lighting, sensor networks, medical electronic devices, wearable computers, robotics, industrial controls, wireless communication systems, audio nets, distributed computers, toys, games, etc. The RTST acts as a centralized “planner” that is either one of the nodes or a dedicated computing device. A set of protocols allow applications to communicate with the nodes, and allow one or more nodes to communicate with each other.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: May 22, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Johannes Helander, Stefan B. Sigurdsson
  • Patent number: 8505022
    Abstract: Automatic programming, scheduling, and control of planned activities at “worker nodes” in a distributed environment are provided by a “real-time self tuner” (RTST). The RTST provides self-tuning of controlled interoperation among an interconnected set of distributed components (i.e., worker nodes) including, for example, home appliances, security systems, lighting, sensor networks, medical electronic devices, wearable computers, robotics, industrial controls, wireless communication systems, audio nets, distributed computers, toys, games, etc. The RTST acts as a centralized “planner” that is either one of the nodes or a dedicated computing device. A set of protocols allow applications to communicate with the nodes, and allow one or more nodes to communicate with each other.
    Type: Grant
    Filed: February 27, 2012
    Date of Patent: August 6, 2013
    Assignee: Microsoft Corporation
    Inventor: Johannes Helander
  • Publication number: 20120180064
    Abstract: Automatic programming, scheduling, and control of planned activities at “worker nodes” in a distributed environment are provided by a “real-time self tuner” (RTST). The RTST provides self-tuning of controlled interoperation among an interconnected set of distributed components (i.e., worker nodes) including, for example, home appliances, security systems, lighting, sensor networks, medical electronic devices, wearable computers, robotics, industrial controls, wireless communication systems, audio nets, distributed computers, toys, games, etc. The RTST acts as a centralized “planner” that is either one of the nodes or a dedicated computing device. A set of protocols allow applications to communicate with the nodes, and allow one or more nodes to communicate with each other.
    Type: Application
    Filed: February 27, 2012
    Publication date: July 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventor: Johannes Helander
  • Patent number: 8156500
    Abstract: Automatic programming, scheduling, and control of planned activities at “worker nodes” in a distributed environment are provided by a “real-time self tuner” (RTST). The RTST provides self-tuning of controlled interoperation among an interconnected set of distributed components (i.e., worker nodes) including, for example, home appliances, security systems, lighting, sensor networks, medical electronic devices, wearable computers, robotics, industrial controls, wireless communication systems, audio nets, distributed computers, toys, games, etc. The RTST acts as a centralized “planner” that is either one of the nodes or a dedicated computing device. A set of protocols allow applications to communicate with the nodes, and allow one or more nodes to communicate with each other.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventor: Johannes Helander
  • Patent number: 7933964
    Abstract: Embodiments described herein are based on the principle that shells execute commands as units of characters sent within a message. Accordingly, embodiments herein provide for establishing a remote processing session for commands by using a binding mechanism that binds a series of commands to a remote shell using a message rather than a binary stream of data. More specifically, embodiments herein provided for a mechanism of encapsulating both a command and a binding mechanism (e.g., a shell identifier and/or shell token) into a single message. Accordingly, the binding mechanism can be used throughout the lifetime of the session and allows for modeling the shell processor session (its lifetime) as a series of commands, rather than as a series of characters. In addition, note that because the binding mechanism for the shell sessions is sent within messages, the problems associated with binary or character-by-character establishment of current shell sessions are overcome.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: April 26, 2011
    Assignee: Microsoft Corporation
    Inventors: Raymond W. McCollum, Alexander Nosov, Brian Reistad, Johannes Helander
  • Patent number: 7680906
    Abstract: A “Device Correlator,” operates to identify and configure complementary devices as a combined function of device “touching” and observations of contextual history of human interaction with the various devices in an ad-hoc network environment. New devices are brought into a local trust domain of the network via a “touch-based” process. Further, as each device is added to the trust domain, a contextual history of user interaction with each device is recorded. This recorded context history is evaluated to determine probable device associations. Inter-device associations and device behaviors for trusted devices are then automatically configured as a function of both the context history and the capabilities of the various devices. The result is an automatically configured invisible computing environment, wherein the only actions required by the user are to bring new devices into the local area of the ad-hoc network, and then designate those devices as being trusted.
    Type: Grant
    Filed: April 13, 2006
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventor: Johannes Helander
  • Publication number: 20080052711
    Abstract: The present invention is directed to a loadable virtual memory manager, and generally to a computer operating system capable of supporting application programs running in a computer having a working memory, the computer operating system including a kernel resident in the working memory at run time, and a loadable virtual memory manager resident at link time outside of the working memory and dynamically loadable into the working memory at run time upon demand of one of the application programs. The kernel includes a loader for loading the virtual memory manager into the working memory in response to a demand from one of the application programs. The computer is able to access a storage memory separate from the working memory, the loadable virtual memory manager residing at link time in the storage memory. The loader loads the virtual memory manager from the storage memory to the working memory.
    Type: Application
    Filed: October 31, 2007
    Publication date: February 28, 2008
    Applicant: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander
  • Publication number: 20070256087
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Application
    Filed: August 20, 2004
    Publication date: November 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander
  • Publication number: 20070198663
    Abstract: A “Device Correlator,” operates to identify and configure complementary devices as a combined function of device “touching” and observations of contextual history of human interaction with the various devices in an ad-hoc network environment. New devices are brought into a local trust domain of the network via a “touch-based” process. Further, as each device is added to the trust domain, a contextual history of user interaction with each device is recorded. This recorded context history is evaluated to determine probable device associations. Inter-device associations and device behaviors for trusted devices are then automatically configured as a function of both the context history and the capabilities of the various devices. The result is an automatically configured invisible computing environment, wherein the only actions required by the user are to bring new devices into the local area of the ad-hoc network, and then designate those devices as being trusted.
    Type: Application
    Filed: April 13, 2006
    Publication date: August 23, 2007
    Applicant: Microsoft Corporation
    Inventor: Johannes Helander
  • Publication number: 20070192502
    Abstract: Embodiments described herein are based on the principle that shells execute commands as units of characters sent within a message. Accordingly, embodiments herein provide for establishing a remote processing session for commands by using a binding mechanism that binds a series of commands to a remote shell using a message rather than a binary stream of data. More specifically, embodiments herein provided for a mechanism of encapsulating both a command and a binding mechanism (e.g., a shell identifier and/or shell token) into a single message. Accordingly, the binding mechanism can be used throughout the lifetime of the session and allows for modeling the shell processor session (its lifetime) as a series of commands, rather than as a series of characters. In addition, note that because the binding mechanism for the shell sessions is sent within messages, the problems associated with binary or character-by-character establishment of current shell sessions are overcome.
    Type: Application
    Filed: August 31, 2006
    Publication date: August 16, 2007
    Applicant: Microsoft Corporation
    Inventors: Raymond W. McCollum, Alexander Nosov, Brian Reistad, Johannes Helander
  • Publication number: 20070011683
    Abstract: Automatic programming, scheduling, and control of planned activities at “worker nodes” in a distributed environment are provided by a “real-time self tuner” (RTST). The RTST provides self-tuning of controlled interoperation among an interconnected set of distributed components (i.e., worker nodes) including, for example, home appliances, security systems, lighting, sensor networks, medical electronic devices, wearable computers, robotics, industrial controls, wireless communication systems, audio nets, distributed computers, toys, games, etc. The RTST acts as a centralized “planner” that is either one of the nodes or a dedicated computing device. A set of protocols allow applications to communicate with the nodes, and allow one or more nodes to communicate with each other.
    Type: Application
    Filed: July 1, 2005
    Publication date: January 11, 2007
    Applicant: Microsoft Corporation
    Inventor: Johannes Helander
  • Publication number: 20050226406
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A w method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Application
    Filed: May 23, 2005
    Publication date: October 13, 2005
    Applicant: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander
  • Publication number: 20050223018
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Application
    Filed: May 23, 2005
    Publication date: October 6, 2005
    Applicant: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander
  • Patent number: 6640290
    Abstract: A hierarchical bitmap-based memory manager maintains a hierarchical bitmap having an entry for each memory block in a memory heap. Each bitmap entry contains a multi-bit value that represents an allocation state of the corresponding memory block. The memory manager manages allocation, deallocation, and reallocation of the memory blocks, and tracks the changes in allocation state via the hierarchical bitmap. Using a-two-bit value, the bitmap can represent at most four different allocation states of the corresponding memory block, including a “free” state, a “sub-allocated” state in which the corresponding memory block is itself an allocated set of smaller memory blocks, a “continue” state in which the corresponding memory block is allocated and part of, but not last in, a larger allocation of plural blocks, and a “last” state in which the corresponding memory block is allocated and last in an allocation of one or more memory blocks.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: October 28, 2003
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander
  • Patent number: 6175900
    Abstract: A hierarchical bitmap-based memory manager maintains a hierarchical bitmap having an entry for each memory block in a memory heap. Each bitmap entry contains a multi-bit value that represents an allocation state of the corresponding memory block. The memory manager manages allocation, deallocation, and reallocation of the memory blocks, and tracks the changes in allocation state via the hierarchical bitmap. Using a two-bit value, the bitmap can represent at most four different allocation states of the corresponding memory block, including a “free” state, a “sub-allocated” state in which the corresponding memory block is itself an allocated set of smaller memory blocks, a “continue” state in which the corresponding memory block is allocated and part of, but not last in, a larger allocation of plural blocks, and a “last” state in which the corresponding memory block is allocated and last in an allocation of one or more memory blocks.
    Type: Grant
    Filed: February 9, 1998
    Date of Patent: January 16, 2001
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes Helander