Patents by Inventor John M. Parchem
John M. Parchem 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: 20100082984Abstract: Messages, including messages in conformance with various protocols, can be hashed and the hash values added to an event log and provided to a Trusted Platform Module (TPM), which can extend one or more Platform Configuration Registers (PCRs) with the hash value, much as it would with the hash of a component that was installed or executed on the computing device with the TPM. Subsequently, the TPM can sign one or more of the PCRs and the signed PCRs can be transmitted, together with the event log and a copy of the messages. The recipient can verify the sender based on the signed PCRs, can confirm that the signed PCRs match the event log, and can verify the hash of the message in the event log by independently hashing it. In another embodiment, an intermediate hashing of the message can avoid transmission of potentially malicious executable instructions within a message.Type: ApplicationFiled: September 26, 2008Publication date: April 1, 2010Applicant: MICROSOFT CORPORATIONInventors: Carl Melvin Ellison, John M. Parchem
-
Patent number: 7689676Abstract: In accordance with certain aspects of the model-based policy application, each of a plurality of policies is associated with appropriate parts of a model of a heterogeneous system. A deployment agent is invoked to apply each of the plurality of policies to components associated with the parts of the model. An identification of a change to one of the plurality of policies is received, and the deployment agent is also invoked to apply the changed policy to selected ones of the components associated with the parts of the model.Type: GrantFiled: January 12, 2007Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Anders B. Vinberg, Bruce W. Copeland, Robert Fries, Kevin D. J. Grealish, Jonathan C. Hardwick, Michael J. Healy, Galen C. Hunt, Aamer Hydrie, David C. James, Anand Lakshminarayanan, Edwin R. Lassettre, Raymond W. McCollum, Rob Mensching, Mazhar Mohammed, Rajagopalan Badri Narayanan, Geoffrey H. Outhred, Zhengkai Kenneth Pan, Efstathios Papaefstathiou, John M. Parchem, Vij Rajarajan, Ashvinkumar J. Sanghvi, Bassam Tabbara, Rene Antonio Vega, Vitaly Voloshin, Robert V. Welland, John H. Wilson, Eric J. Winner, Jeffrey A. Woolsey
-
Publication number: 20100077197Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.Type: ApplicationFiled: November 30, 2009Publication date: March 25, 2010Applicant: Microsoft CorporationInventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
-
Publication number: 20100031370Abstract: Computer-executable instructions can implement a software-based Trusted Platform Module (TPM) that can have more computational power than the hardware TPM. The software TPM can be protected from modification, or other unauthorized access, via a memory partitioning scheme that enables other computer-executable instructions to access the software TPM in a predefined manner, but yet prohibits other access. A tri-partied partitioning scheme can be used wherein the computer executable instructions of the software TPM reside in a first region, a jump table to appropriate ones of those instructions resides in a second region, and everything else resides in the third region. The storage key of the software TPM can be sealed by the hardware TPM to be released only if the software TPM, and the computing device, are in a known good state, as determined by the Platform Configuration Registers of the hardware TPM, thereby further protecting the software TPM from tampering.Type: ApplicationFiled: July 30, 2008Publication date: February 4, 2010Applicant: MICROSOFT CORPORATIONInventors: Carl Melvin Ellison, John M. Parchem
-
Patent number: 7644239Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.Type: GrantFiled: May 3, 2004Date of Patent: January 5, 2010Assignee: Microsoft CorporationInventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
-
Publication number: 20090265180Abstract: A method of representing a first end-user license agreement (EULA) offered to a user and automatically responding to a subsequent EULA offered to the user is disclosed. The representation may be in a logical language having parameters corresponding to legal terms of the EULA, logical operators, and the capability to form and nest logical expressions. A logical library may store parameters corresponding to legal terms. A logical expression may be created that corresponds to a user's term preferences, and may be evaluated using the terms of a subsequent EULA to automatically determine the user's acceptance or rejection of the subsequent EULA. A user's application preferences of the logical expressions and terms may be received and used by the method. EULA responses may be signified in a log and/or by sending a record or message to the offering party. A similar method is disclosed for other types of electronic agreements.Type: ApplicationFiled: April 21, 2008Publication date: October 22, 2009Applicant: MICROSOFT CORPORATIONInventors: Carl M. Ellison, Valerie R. See, John M. Parchem, Charles Thomas Lenzmeier, Darryl E. Havens, Richard B. Ward
-
Publication number: 20090113221Abstract: A plurality of power budgets are sent to a corresponding plurality of power consumers by a power management point, wherein a total power budget managed by the power management point includes a sum of the plurality of power budgets and an available power budget not assigned to the plurality of power consumers. An additional power request having a power increase amount is received from a first power consumer of the plurality of power consumers. The additional power request is approved when the power increase amount does not exceed the available power budget. The available power budget is decreased by the power increase amount. An approval of the additional power request is sent to the first power consumer.Type: ApplicationFiled: October 29, 2007Publication date: April 30, 2009Applicant: MICROSOFT CORPORATIONInventors: Matthew H. Holle, Stephen R. Berard, Sean N. McGrane, John M. Parchem
-
Patent number: 7433349Abstract: Automatic compilation of address filter information permits a cable modem to route incoming data packets to destination devices. A cable modem uses address filter information, such as for example, a list of addresses of communication devices that have previously registered with the cable modem, to identify incoming data packets that are addressed to communication devices associated with the cable modem. Incoming data packets with addresses that are not in the address filter information are filtered out. However, the cable modem may have insufficient filter information, when, for instance, a new communication device is associated with the cable modem. In order to automatically register communication devices associated with the cable modem, the cable modem inspects the source addresses of outgoing data packets. If the source address is not included in the address filter information, the source address is added.Type: GrantFiled: February 3, 2005Date of Patent: October 7, 2008Assignee: Microsoft CorporationInventors: Jun Liu, John M. Parchem, Daniel J. Shoff, Soemin Tjong
-
Publication number: 20080178029Abstract: Aspects of the subject matter described herein relate to using priorities to select power usage for multiple devices. In aspects, workloads or the devices to which they are assigned are each assigned a priority. To remain within a power budget, the power levels on one or more of the devices may be adjusted based on the priority assigned to the device (or a workload thereon). If needed, devices may be instructed to operate at lower power than associated with their priority or may even be shut down to remain within the budget. A data structure is used to associate workloads or devices with priorities.Type: ApplicationFiled: January 19, 2007Publication date: July 24, 2008Applicant: Microsoft CorporationInventors: Sean Nicholas McGrane, John M. Parchem
-
Publication number: 20080178018Abstract: Aspects of the subject matter described herein relate to a data structure for budgeting power for multiple devices. In aspects, devices are allotted a power budget. The devices are each capable of operating at one or more power levels. A console queries the devices to obtain the power capabilities of the devices. The console stores the power capabilities in a data structure. The data structure together with the power budget may then be used to instruct each device to operate at a particular power level. The data structure includes fields for storing power levels for the devices as well as fields that associate the power levels with the devices. In addition, the data structure includes a group field that associates the devices with the power budget.Type: ApplicationFiled: January 19, 2007Publication date: July 24, 2008Applicant: Microsoft CorporationInventors: Sean Nicholas McGrane, John M. Parchem, Stephen Roland Berard
-
Publication number: 20080178019Abstract: Aspects of the subject matter described herein relate to using priorities and power usage to allocate power budget to devices. In aspects, a console that maintains power usage, priorities, and other power data regarding a set of devices may receive a notification that a device has exceeded its budgeted power. In response, using priorities and power usage associated with the devices, the console determines one or more devices to instruct to use less power. A device that exceeded its budgeted power may be instructed to operate at a lower power level or another device (e.g., a lower priority device that is underutilizing its budgeted power) may be instructed to reduce its power to remain below a power budget for the set of devices.Type: ApplicationFiled: January 19, 2007Publication date: July 24, 2008Applicant: Microsoft CorporationInventors: Sean Nicholas McGrane, John M. Parchem
-
Patent number: 7143405Abstract: Improved methods and arrangements are provided for updating software and other data in managed devices. The methods and arrangements provide for a failsafe upgrade to all of the code and any data in the managed device, including any code or data used to provide such upgrades. For example, a method for providing software to a device is provided that includes identifying essential software within the device; essential software including software necessary to operate the device and provide external communications. The method further includes identifying remaining portions of software within the device as non-essential software, and downloading new essential software from an external source to the device and storing the new essential software in memory by overwriting at least a portion of the non-essential software.Type: GrantFiled: January 5, 2001Date of Patent: November 28, 2006Assignee: Microsoft CorporationInventors: Jun Liu, Sureshkumar Natarajan, Vladimir Rovinsky, John M. Parchem, Soemin Tjong
-
Patent number: 7082495Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. The hard drive includes solid state, non-volatile (NV) memory as a read/write cache. Data specified by the operating system is stored in the NV memory. The operating system provides a list of data to be put in NV memory. The data includes data to be pinned in NV memory and data that is dynamic. Pinned data persists in NV memory until the operating system commands it to be flushed. Dynamic data can be flushed by the hard drive controller. Data sent by an application for storage is temporary stored in NV memory in data blocks until the operating system commits it to the disk.Type: GrantFiled: February 21, 2003Date of Patent: July 25, 2006Assignee: Microsoft CorporationInventors: Dean L. DeWhitt, Clark D. Nicholson, W. Jeff Westerinen, Michael R. Fortin, John M. Parchem, Charles P. Thacker
-
Patent number: 6889258Abstract: Automatic compilation of address filter information that permits a cable modem to appropriately route incoming data packets to destination devices is described. Cable modems use address filter information to identify incoming data packets that are addressed to communication devices associated with the cable modem. The address filter information might be, for example, a list of addresses of communication devices that have previously registered with the cable modem. On occasion, the cable modem may have incorrect or insufficient or incomplete filter information when, for instance, a new communication device is added to a group of networked communication devices associated with the cable modem. In order to automatically recognize associated communication devices that are to be registered with the cable modem, a cable modem driver inspects the source address of outgoing data packets.Type: GrantFiled: August 10, 1999Date of Patent: May 3, 2005Assignee: WebTV Networks, Inc.Inventors: Jun Liu, John M. Parchem, Daniel J. Shoff, Soemin Tjong
-
Patent number: 6775713Abstract: Provided is a system and method for integrating a cable modem with a host customer premises equipment, such as a computer or set top box. An interface is provided which receives data packets from the cable modem of any manufacturer and transmits the data packet to a media access control layer. The media access control layer determines the destination of the data packet and forwards it to that destination, which may be the cable modem or may be the host computer of the cable modem or any other customer premises equipment networked with the host computer. The interface also receives data packets from the media access control layer and transmits the data packets to the cable modem for transmission upstream. The interface abstracts the control of the cable modem to the media access control layer. The system maintains a protocol stack for the cable modem that is separate from the protocol stack associated with the operating system of the host computer.Type: GrantFiled: August 10, 1999Date of Patent: August 10, 2004Assignee: WebTV Newtorks, Inc.Inventors: Jun Liu, John M. Parchem, Daniel J. Shoff, Sureshkumar Natarajan, Soemin Tjong
-
Publication number: 20040064647Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. The hard drive includes solid state, non-volatile (NV) memory as a read/write cache. Data specified by the operating system is stored in the NV memory. The operating system provides a list of data to be put in NV memory. The data includes data to be pinned in NV memory and data that is dynamic. Pinned data persists in NV memory until the operating system commands it to be flushed. Dynamic data can be flushed by the hard drive controller. Data sent by an application for storage is temporary stored in NV memory in data blocks until the operating system commits it to the disk.Type: ApplicationFiled: February 21, 2003Publication date: April 1, 2004Applicant: Microsoft CorporationInventors: Dean L. DeWhitt, Clark D. Nicholson, W. Jeff Westerinen, Michael R. Fortin, John M. Parchem, Charles P. Thacker
-
Patent number: 6618386Abstract: A computer system that hosts a cable modem is described. The cable modem may be used to send and receive messages over the Internet using a cable network managed by a cable operator. Unlike external modems, the cable modem uses the same CPU and memory that are used by the computer system's operating system. However, the cable modem has a different network address than the computer system. When the cable modem receives a data packet having the network address of the cable modem, a cable modem driver forwards the packet to a protocol stack for the cable modem. When the cable modem receives a data packet having the network address of the computer system, the packet is forwarded to a different protocol stack for the computer system. Since the protocol stacks of the cable modem and computer system are different, direct communication from the computer system to the cable modem is not permitted.Type: GrantFiled: August 10, 1999Date of Patent: September 9, 2003Assignee: WEBTV Networks, Inc.Inventors: Jun Liu, John M. Parchem, Daniel J. Shoff, Soemin Tjong
-
Patent number: 6618387Abstract: Provided is a system and method for integrating a cable modem with a host customer premises equipment, such as a computer or set top box. An interface is provided which receives data packets from the cable modem of any manufacturer and transmits the data packet to a media access control layer. The media access control layer determines the destination of the data packet and forwards it to that destination, which may be the cable modem or may be the host computer of the cable modem or any other customer premises equipment networked with the host computer. The interface also receives data packets from the media access control layer and transmits the data packets to the cable modem for transmission upstream. The interface abstracts the control of the cable modem to the media access control layer. The system maintains a protocol stack for the cable modem that is separate from the protocol stack associated with the operating system of the host computer.Type: GrantFiled: August 10, 1999Date of Patent: September 9, 2003Assignee: WEBTV Networks, Inc.Inventors: Jun Liu, John M. Parchem, Daniel J. Shoff, Sureshkumar Natarajan, Soemin Tjong
-
Publication number: 20020092011Abstract: Improved methods and arrangements are provided for updating software and other data in managed devices. The methods and arrangements provide for a failsafe upgrade to all of the code and any data in the managed device, including any code or data used to provide such upgrades. For example, a method for providing software to a device is provided that includes identifying essential software within the device; essential software including software necessary to operate the device and provide external communications. The method further includes identifying remaining portions of software within the device as non-essential software, and downloading new essential software from an external source to the device and storing the new essential software in memory by overwriting at least a portion of the non-essential software.Type: ApplicationFiled: January 5, 2001Publication date: July 11, 2002Inventors: Jun Liu, Sureshkumar Natarajan, Vladimir Rovinsky, John M. Parchem, Soemin Tjong
-
Publication number: 20020091720Abstract: Improved methods and arrangements are provided that employ a novel software version control technique that can be used to expedite for updating of software and other data in managed devices. By way of example, a software version control method is provided which includes assigning data files to groups, compressing each group to form corresponding compressed images, associating each compressed image with a unique identifier, generating a listing of unique identifiers, and storing the compressed images and the listing of unique identifiers within a client device. The method further includes, during an upgrade process, comparing the listing of unique identifiers with a downloaded latest listing of unique identifiers from a source device, and selectively downloading compressed images whose unique identifiers appears in the latest listing of unique identifiers from the source device but not in the listing of unique identifiers in client device.Type: ApplicationFiled: January 5, 2001Publication date: July 11, 2002Inventors: Jun Liu, Sureshkumar Natarajan, Vladimir Rovinsky, John M. Parchem, Soemin Tjong