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: 9977695Abstract: 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: GrantFiled: April 26, 2013Date of Patent: May 22, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Johannes Helander, Stefan B. Sigurdsson
-
Patent number: 8505022Abstract: 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: GrantFiled: February 27, 2012Date of Patent: August 6, 2013Assignee: Microsoft CorporationInventor: Johannes Helander
-
Publication number: 20120180064Abstract: 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: ApplicationFiled: February 27, 2012Publication date: July 12, 2012Applicant: MICROSOFT CORPORATIONInventor: Johannes Helander
-
Patent number: 8156500Abstract: 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: GrantFiled: July 1, 2005Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventor: Johannes Helander
-
Patent number: 7933964Abstract: 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: GrantFiled: August 31, 2006Date of Patent: April 26, 2011Assignee: Microsoft CorporationInventors: Raymond W. McCollum, Alexander Nosov, Brian Reistad, Johannes Helander
-
Patent number: 7680906Abstract: 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: GrantFiled: April 13, 2006Date of Patent: March 16, 2010Assignee: Microsoft CorporationInventor: Johannes Helander
-
Publication number: 20080052711Abstract: 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: ApplicationFiled: October 31, 2007Publication date: February 28, 2008Applicant: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander
-
Publication number: 20070256087Abstract: 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: ApplicationFiled: August 20, 2004Publication date: November 1, 2007Applicant: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander
-
Publication number: 20070198663Abstract: 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: ApplicationFiled: April 13, 2006Publication date: August 23, 2007Applicant: Microsoft CorporationInventor: Johannes Helander
-
Publication number: 20070192502Abstract: 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: ApplicationFiled: August 31, 2006Publication date: August 16, 2007Applicant: Microsoft CorporationInventors: Raymond W. McCollum, Alexander Nosov, Brian Reistad, Johannes Helander
-
Publication number: 20070011683Abstract: 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: ApplicationFiled: July 1, 2005Publication date: January 11, 2007Applicant: Microsoft CorporationInventor: Johannes Helander
-
Publication number: 20050226406Abstract: 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: ApplicationFiled: May 23, 2005Publication date: October 13, 2005Applicant: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander
-
Publication number: 20050223018Abstract: 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: ApplicationFiled: May 23, 2005Publication date: October 6, 2005Applicant: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander
-
Patent number: 6640290Abstract: 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: GrantFiled: November 28, 2000Date of Patent: October 28, 2003Assignee: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander
-
Patent number: 6175900Abstract: 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: GrantFiled: February 9, 1998Date of Patent: January 16, 2001Assignee: Microsoft CorporationInventors: Alessandro Forin, Johannes Helander