Patents by Inventor Dominique Fortier
Dominique Fortier 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: 20120323977Abstract: A storage abstraction system is described herein that exposes storage from an operating system as a uniform storage device and abstracts from applications the selection of a particular storage location and different properties of storage devices. The application provides the data to store and some information about the application's goals for storing the data, and lets the operating system route the data to the right place based on the data's characteristics. The operating system may choose to store data anywhere from L2 cache to a cloud-based storage service and anything in between, based on information about the data's persistence requirements, expected usage, access frequency, security needs, and so forth. The system lets applications and users focus on expressing their goals and needs for the data, and lets the operating system manage the hardware.Type: ApplicationFiled: June 20, 2011Publication date: December 20, 2012Applicant: Microsoft CorporationInventors: Dominique Fortier, Steven Maillet, Jered Aasheim
-
Publication number: 20120324434Abstract: An application management system is described herein that uses context information based on what the user is currently doing and what platform the user is using to determine which applications to offer to a user and to affect behavior of applications that the user invokes. The system provides a hardware/software driven policy manager coupled with context data in an application manifest to provide for device- and situation-specific application modes. Such a model leverages device-specific dynamics to create context aware installation, cataloging, management, interaction, and uninstallation of applications, hence providing better user engagement and experience. Thus, the application management system makes it easier for users to find relevant applications, configures applications to work well on the user's present device, and makes application experiences more relevant to what the user is currently doing.Type: ApplicationFiled: June 17, 2011Publication date: December 20, 2012Applicant: Microsoft CorporationInventors: Ritwik Tewari, Dominique Fortier
-
Publication number: 20120317645Abstract: An application safety system is described herein that provides a scoring system of how dangerous an application is based on behavioral inspection of the application. Upon detecting installation of an application or first execution of the application, the application safety system performs static analysis before the new application is executed by the operating system. The system allows the user to approve running the application after displaying information about what the application does. Next, the system performs dynamic analysis as the application runs and alerts the user to any potentially harmful behavior. Over time, the system determines when the application may be acting in a manner that is out of character and informs the user. The system also allows users to restrict behavior that a particular application can perform.Type: ApplicationFiled: June 13, 2011Publication date: December 13, 2012Applicant: Microsoft CorporationInventor: Dominique Fortier
-
Publication number: 20120240048Abstract: Techniques for managing a variety of types of client devices from a device management platform are provided herein. At least one client device is selected to have a management task performed, such as an imaging task. The client device(s) is/are coupled to a client administration system that administers the client device(s). A deployment job is generated for the management task. A begin request is transmitted to a plug-in module of the client administration system to begin the deployment job. The plug-in module is customized to be capable of managing received deployment jobs for the client administration system. The plug-in module enables the deployment job to be performed on the client device(s) in response to the begin request.Type: ApplicationFiled: March 18, 2011Publication date: September 20, 2012Applicant: Microsoft CorporationInventors: Dominique Fortier, Jonathan Hutchinson, Artem Zhurid, Tobiasz Zielinski
-
Publication number: 20120166604Abstract: A network policy system is described herein that allows computing devices to manage and control various networking decisions based on a specific policy defined by a policy administrator that may include the device manufacturer, information technology (IT) personnel maintaining the devices, or the network provider. The policies can include many factors defined by the policy administrator under various conditions, including cost, power consumption, central processing unit (CPU) time, battery life, use of pooled minutes, and so forth. Packet routing in the device happens today primarily based on hardcoded factors such as bandwidth availability or cost, but there may be other considerations that appeal to policy administrators. The network policy system allows the policy administrator to define one or more flexible policies suited to the administrator's purpose.Type: ApplicationFiled: December 28, 2010Publication date: June 28, 2012Applicant: MICROSOFT CORPORATIONInventors: Dominique Fortier, Jeremiah C. Spradlin, Poonam Sigroha, Alistair Fulton
-
Publication number: 20120167044Abstract: A device virtualization system is described herein that separates common computer processing tasks of an embedded device from the application-specific peripherals of the embedded device to allow at least some functions of the device to be offloaded to servers or other computing devices. The device virtualization system greatly simplifies management, configuration, and control of virtual embedded devices. Because much of the software of the device runs on the virtualization server, information technology (IT) personnel can be assigned to manage the virtualization server and to apply any updates and diagnose any problems that occur. Moreover, a single server or group of servers can be used to provide virtualization services for a wide variety of virtualized embedded devices for a wide variety of users. Thus, the system enhances the usefulness of embedded devices and allows a longer lifetime and wider variety of uses than embedded devices today.Type: ApplicationFiled: December 28, 2010Publication date: June 28, 2012Applicant: MICROSOFT CORPORATIONInventors: Dominique Fortier, Poonam Sigroha
-
Publication number: 20120159478Abstract: A state branching system is described herein that allows parallel execution of complex state transitions while leveraging time invested to setup a starting state. By allowing branching at the virtual machine level, the state branching system allows setup of a particular condition or state in a virtual machine, then copying and branching to parallel instances of the virtual machine to explore different possible subsequent states. Upon detecting a large state change with unknown outcome, the state branching system instructs the hypervisor to copy the executing virtual machine into one or more separate virtual machines. The system then allows divergent branching between the two or more virtual machines to explore different states from a similar starting point. Once the executions have reached the next state, the system coordinates to determine which copies will continue execution. Thus, the state branching system allows faster exploration of complex state changes.Type: ApplicationFiled: December 17, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Jeremiah C. Spradlin, Dominique Fortier
-
Patent number: 7941167Abstract: A system for data communication is disclosed. The system comprises a detection module that ascertains when a mobile wireless communication device is located within a first range of a data source. The system further comprises a data module that automatically sends information to the mobile wireless communication device when the mobile wireless communication device is within the first range. Methods of using the system are also disclosed.Type: GrantFiled: March 31, 2005Date of Patent: May 10, 2011Assignee: Microsoft CorporationInventors: Jon Xu, Dominique Fortier, Anil Kumar Dhawan
-
Patent number: 7631301Abstract: Customizing a binary content file without having to recompile source code associated with the binary content file. A variable initialization module receives a binary content file and a script file. Included in the binary content file are current values for one or more variables. Included in the script file are updated values for the one or more variables. The variable initialization module processes the script file to overwrite the current values for the one or more variables with the updated values for the one or more variables. Variables are updated directly in the binary content file. Variables included in a script file may be identified from associated map files or by a scanner module that scans binary content files. Script files may include conditional statements for updating values differently depending on the configuration of a destination computing device.Type: GrantFiled: February 10, 2006Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventor: Dominique Fortier
-
Patent number: 7577849Abstract: A keyed-build system for controlling the distribution of software. The system and method of the present invention control distribution of software by keying computer-executable programs with device identifications. Each of the computing devices of the keyed-build system contains a device identification that is uniquely associated with and is embedded in the device. A computer-executable program for use in a particular computing device is keyed with the device's unique device identification during the build process of the program. When the computer-executable program is launched on a computing device, the device identification in the program is compared with the device identification embedded in the computing device. If the two device identifications do not match, the computer-executable program is disabled.Type: GrantFiled: April 2, 2003Date of Patent: August 18, 2009Assignee: Microsoft CorporationInventors: Chee Chew, Michael P. Calligaro, Dominique Fortier, Igor Borisov Peev
-
Patent number: 7188182Abstract: A sending system, which includes one or more computer systems including a sending computer system, sends, via a predetermined transport, data indicative of an intent to send an object from the sending computer system. A receiving system, which includes one or more computer systems including a receiving computer system, receives the data indicative of an intent to send the object. In some embodiments, the receiving system may analyze the data indicative of an intent to send the object and select an appropriate transfer mechanism to receive the object. The receiving system sends data indicative of an intent to receive the object at the receiving computer system. The sending system may receive the data indicative of an intent to receive the object, may analyze the data, and select an appropriate transfer mechanism to send the object.Type: GrantFiled: March 20, 2002Date of Patent: March 6, 2007Assignee: Microsoft CorporationInventors: Felix G. T. I. Andrew, Dominique Fortier
-
Publication number: 20060223556Abstract: A system for data communication is disclosed. The system comprises a detection module that ascertains when a mobile wireless communication device is located within a first range of a data source. The system further comprises a data module that automatically sends information to the mobile wireless communication device when the mobile wireless communication device is within the first range. Methods of using the system are also disclosed.Type: ApplicationFiled: March 31, 2005Publication date: October 5, 2006Applicant: Microsoft CorporationInventors: Jon Xu, Dominique Fortier, Anil Dhawan
-
Patent number: 7073168Abstract: Customizing a binary content file without having to recompile source code associated with the binary content file. A variable initialization module receives a binary content file and a script file. Included in the binary content file are current values for one or more variables. Included in the script file are updated values for the one or more variables. The variable initialization module processes the script file to overwrite the current values for the one or more variables with the updated values for the one or more variables. Variables are updated directly in the binary content file. Variables included in a script file may be identified from associated map files or by a scanner module that scans binary content files. Script files may include conditional statements for updating values differently depending on the configuration of a destination computing device.Type: GrantFiled: December 6, 2001Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventor: Dominique Fortier
-
Publication number: 20060130024Abstract: Customizing a binary content file without having to recompile source code associated with the binary content file. A variable initialization module receives a binary content file and a script file. Included in the binary content file are current values for one or more variables. Included in the script file are updated values for the one or more variables. The variable initialization module processes the script file to overwrite the current values for the one or more variables with the updated values for the one or more variables. Variables are updated directly in the binary content file. Variables included in a script file may be identified from associated map files or by a scanner module that scans binary content files. Script files may include conditional statements for updating values differently depending on the configuration of a destination computing device.Type: ApplicationFiled: February 10, 2006Publication date: June 15, 2006Applicant: Microsoft CorporationInventor: Dominique Fortier
-
Publication number: 20060095549Abstract: Systems and methods for managing asynchronous object transfers over multiple wireless networks. At a device, each received object is detected and parsed to extract identifying information such as sender and object type. Each object is stored in a temporary storage without being processed by any application of the device. The user is prompted to either accept or reject each object, one at a time or all together. Each accepted object is persistently stored on the device and processed by an application that is associated with the type of object. Rejected objects are deleted from the temporary storage and are not persistently stored on the device.Type: ApplicationFiled: December 16, 2005Publication date: May 4, 2006Applicant: Microsoft CorporationInventors: Andrew Jacobs, Dominique Fortier, Joseph Ollis
-
Patent number: 7017004Abstract: Upgrading a non-volatile memory image such as a flash ROM is accomplished by partitioning the flash ROM into a plurality of flash ROM regions. One of the flash ROM regions is selected to receive the software upgrade, which can then be directly overwritten without having to overwrite the flash ROM image in its entirety. Through the use of an image buffer, which stores information about the ROM regions, it is possible to move ROM regions, delete ROM regions, add ROM regions, expand/contact ROM regions, update ROM regions, and enable/disable ROM regions without having to modify the entire ROM image or shadow parts of the ROM image in RAM. Additionally, security and registry information can also be logically linked to a particular region.Type: GrantFiled: March 29, 2002Date of Patent: March 21, 2006Assignee: Microsoft CorporationInventors: Michael P. Calligaro, Chee H. Chew, Dominique Fortier, Eric Lawrence Albert Lantz, Randal James Ramig
-
Patent number: 6993552Abstract: Systems and methods for managing asynchronous object transfers over multiple wireless networks. At a device, each received object is detected and parsed to extract identifying information such as sender and object type. Each object is stored in a temporary storage without being processed by any application of the device. The user is prompted to either accept or reject each object, one at a time or all together. Each accepted object is persistently stored on the device and processed by an application that is associated with the type of object. Rejected objects are deleted from the temporary storage and are not persistently stored on the device.Type: GrantFiled: September 26, 2001Date of Patent: January 31, 2006Assignee: Microsoft CorporationInventors: Andrew W. Jacobs, Dominique Fortier, Joseph K. Ollis
-
Publication number: 20050132357Abstract: Described is a system and method in which a system and method in which a device manufacturer or software image provider controls which devices are allowed to install or to run a software image. An image keying mechanism uses package data and UUID associated with the device or class of devices to key an image. Because the UUID is used in the key, an installer verifier and/or boot-time verifier can ensure that the device is authorized to install and/or run the image. Any package, including existing device packages or the package for which installation is requested can demand that keying be enforced. An installer mechanism checks whether the device is allowed to install the image. A boot-time enforcement mechanism prevents an improperly installed image from operating by halting the boot process if a demanded key is invalid or missing.Type: ApplicationFiled: May 1, 2004Publication date: June 16, 2005Applicant: Microsoft CorporationInventors: Scott Shell, Dominique Fortier, Diane Curtis
-
Publication number: 20040199766Abstract: A keyed-build system for controlling the distribution of software. The system and method of the present invention control distribution of software by keying computer-executable programs with device identifications. Each of the computing devices of the keyed-build system contains a device identification that is uniquely associated with and is embedded in the device. A computer-executable program for use in a particular computing device is keyed with the device's unique device identification during the build process of the program. When the computer-executable program is launched on a computing device, the device identification in the program is compared with the device identification embedded in the computing device. If the two device identifications do not match, the computer-executable program is disabled.Type: ApplicationFiled: April 2, 2003Publication date: October 7, 2004Applicant: Microsoft CorporationInventors: Chee Chew, Michael P. Calligaro, Dominique Fortier, Igor Borisov Peev
-
Publication number: 20030182441Abstract: A sending system, which includes one or more computer systems including a sending computer system, sends, via a predetermined transport, data indicative of an intent to send an object from the sending computer system. A receiving system, which includes one or more computer systems including a receiving computer system, receives the data indicative of an intent to send the object. In some embodiments, the receiving system may analyze the data indicative of an intent to send the object and select an appropriate transfer mechanism to receive the object. The receiving system sends data indicative of an intent to receive the object at the receiving computer system. The sending system may receive the data indicative of an intent to receive the object, may analyze the data, and select an appropriate transfer mechanism to send the object.Type: ApplicationFiled: March 20, 2002Publication date: September 25, 2003Inventors: Felix G.T.I. Andrew, Dominique Fortier