Patents by Inventor Marc Shepard
Marc Shepard 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: 7853609Abstract: A hierarchical software update distribution system and method for distributing software updates is presented. The update distribution system includes a root update service node and at least one update service node. In an update distribution system, each update service node, except the root update service node, has one parent update service node. Each update service node may function as a parent update service node to child update service nodes.Type: GrantFiled: March 12, 2004Date of Patent: December 14, 2010Assignee: Microsoft CorporationInventors: David Dehghan, Edward Reus, Nirmal Rajesh Soy, Lie Ma, Marc Shepard, Jianbo Hou, David Hennessey, Varadarajan Thiruvillamalai, Vidyasankar Raman, Thottam R. Sriram, Jason J. Roberts, Mazhar Mohammed, Xiang He
-
Patent number: 7818754Abstract: A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging.Type: GrantFiled: June 14, 2004Date of Patent: October 19, 2010Assignee: Microsoft CorporationInventors: Larry A. Morris, Susan A. Dey, Michael J. Thomson, John R. Eldridge, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
-
Patent number: 7539686Abstract: A tag-based structure for communicating software update metadata information to client computers and to update service nodes is presented. An update metadata file includes: an identifier tag including a software update identifier that uniquely identifies the software update; zero or more general properties tags that carry general property information relating the software update; zero or more localized properties tags that carry localized property information organized according to language; zero or more relationship tags that identify dependency relationships the current software update, as described in the update metadata, has with other software updates; zero or more applicability rules tags that carry information for determining the applicability of the software update to a client computer; zero or more files tags that carry information relating to the software update's payload files; and handler specific data tags that carry information directed to the software handler for installing the software update.Type: GrantFiled: March 12, 2004Date of Patent: May 26, 2009Assignee: Microsoft CorporationInventors: Marc Shepard, Derek P. Menzies, David Dehghan, Aaron H. Averbuch, Jeanette R. Fisher, Dennis Craig Marl, Seong Kook Khang
-
Patent number: 7478381Abstract: The present invention is directed to a system and method for managing software updates. More specifically, the present invention is directed to a system and method for facilitating the selection and implementation of software updates while minimizing the bandwidth and processing resources required to select and implement the software updates. In accordance with an aspect of the present invention, a software update service controls access to software updates stored on servers. In accordance with another aspect, the software update service synchronizes with client machines to identify applicable updates.Type: GrantFiled: December 15, 2003Date of Patent: January 13, 2009Assignee: Microsoft CorporationInventors: Jason Roberts, Mazhar Mohammed, Walter Wittel, Marc Shepard
-
Patent number: 7386859Abstract: Methods, functional components and structures are disclosed for carrying out management of client/server processes operating within separate process spaces within a computer system. The disclosed methods, functional components facilitate and carry out management of client and server processes within a computer system such that a greater degree of control can be exhibited over their execution. An active server component process maintains a list structure identifying each client process that is currently using one of the server component process's interfaces. When a new client references a server, the list structure is augmented to include the system identification (e.g., handle) assigned by the operating system to the client process. A thread within the server process blocks while awaiting a triggering event (e.g., a client process in the list terminates). When the client process terminates, the block on the thread releases and the thread processes the change in client references.Type: GrantFiled: May 28, 2002Date of Patent: June 10, 2008Assignee: Microsoft CorporationInventors: Upender Sandadi, David Bakin, Andrew L. Nicholson, David Sauntry, Marc Shepard
-
Publication number: 20080133289Abstract: In a network, such as an enterprise network, license related data of products of client devices are collected, aggregated, and reported uniformly. The client devices may be part of a managed node, and the license data may be sent (collected) by a central device, such as a server. Furthermore, administration of the products may also be performed.Type: ApplicationFiled: December 5, 2006Publication date: June 5, 2008Applicant: Microsoft CorporationInventors: David Armour, Marc Shepard, Camron Smith, Mark Sterin
-
Publication number: 20070240151Abstract: Performing software installation activities. A method may be practiced for example in a network computing environment including one or more targetable entities organized into target groups. The method includes beginning a rollout including installation activities to a first set of one or more target groups. At least a portion of the installation activities are evaluated in the first set of one or more target groups. A rollout, including installation activities, to a second set of one or more target groups is begun if the installation activities in the first set of one or more target groups meet predetermined criteria.Type: ApplicationFiled: January 29, 2006Publication date: October 11, 2007Applicant: Microsoft CorporationInventors: Craig Marl, David Hennessey, Derek Menzies, Edward Reus, Jianbo Hou, Marc Shepard
-
Publication number: 20070234343Abstract: Sending installation information. A method may be performed, for example, in a network computing environment including one or more servers connected to one or more clients. The method includes signing a package including installation information. A hash of the package is created. A metadata data set is created. The metadata data set includes a description of the package, an identification for the package, applicability rules describing intended recipients of the installation information, the hash of the package, and installation instructions for the package. The metadata data set is sent to a target group of systems in the network computing environment.Type: ApplicationFiled: January 27, 2006Publication date: October 4, 2007Applicant: Microsoft CorporationInventors: Christopher Gouge, Craig Marl, David Hennessey, David Kays, Edward Reus, Krishnan Rangarajan, Marc Shepard, Mazhar Mohammed, Steve Shih
-
Publication number: 20070198525Abstract: A managed network with a quarantine enforcement policy based on the status of installed updates for software on each client seeking access to the managed network. To determine whether a client requesting access has up-to-date software, an access server may communicate directly with an update server to determine the update status of the client requesting access. Information from the update server allows the update server to determine which update the client requesting access is missing. The access server may also receive an indication of the severity of the updates missing from the client requesting access. The access server may use the severity information to apply a quarantine enforcement policy, thereby avoiding the need for either the client or access server to be programmed to identify specific software updates that must be installed for a client to comply with a quarantine enforcement policy.Type: ApplicationFiled: February 13, 2006Publication date: August 23, 2007Applicant: Microsoft CorporationInventors: Arindam Chatterjee, Bashar Kachachi, Bruce Leban, Calvin Choe, Charles Jeffries, Jeffrey Shipman, Lakshmanan Venkitaraman, Marc Shepard, Sachin Sheth, Shankar Seal, Yang Gao, Patrick Stratton, Michael Lee
-
Patent number: 7111280Abstract: A project analysis system and method is described to allow for automated generation of scalable bootable applications and downloadable applications, preferably in connection with an integrated development environment (IDE). The project analysis system and method includes facilities for automatically identifying and including software components in application development projects based on symbol dependencies and component dependencies. The project analysis system and method also includes facilities for automatically identifying and removing software components in application development projects where no symbol dependencies or component dependencies exist, thereby removing unused code. A graphical user interface is provided for user display and selection of includable and excludable components.Type: GrantFiled: February 23, 2001Date of Patent: September 19, 2006Assignee: Wind River Systems, Inc.Inventors: Richard B. Levien, Cy H. Myers, Anthony A. Mowers, Christopher J. Schille, Marc Shepard
-
Publication number: 20050228798Abstract: A tag-based structure for communicating software update metadata information to client computers and to update service nodes is presented. An update metadata file includes: an identifier tag including a software update identifier that uniquely identifies the software update; zero or more general properties tags that carry general property information relating the software update; zero or more localized properties tags that carry localized property information organized according to language; zero or more relationship tags that identify dependency relationships the current software update, as described in the update metadata, has with other software updates; zero or more applicability rules tags that carry information for determining the applicability of the software update to a client computer; zero or more files tags that carry information relating to the software update's payload files; and handler specific data tags that carry information directed to the software handler for installing the software update.Type: ApplicationFiled: March 12, 2004Publication date: October 13, 2005Applicant: Microsoft CorporationInventors: Marc Shepard, Derek Menzies, David Dehghan, Aaron Averbuch, Jeanette Fisher, Dennis Marl, Seong Khang
-
Publication number: 20050203968Abstract: A method for controlling the update installation behavior of a computing device according to installation attributes is presented. When present, a mandatory installation attribute associated with a software update causes the installation process executed on the computing device to disallow a user to selectively not install the software update. A priority installation attribute causes the computing device to request a higher amount of network bandwidth for obtaining the software update's content for installation on the client computing device. A deadline installation attribute associated with the software update causes the computing device to permit a user to selectively not install the software update until an associated deadline passes, at which time the software update is installed without further user interaction.Type: ApplicationFiled: March 12, 2004Publication date: September 15, 2005Inventors: David Dehghan, Edward Reus, Nirmal Soy, Lie Ma, Marc Shepard, Jianbo Hou, David Hennessey, Varadarajan Thiruvillamalai, Vidyasankar Raman, Thottam Sriram, Jason Roberts, Mazhar Mohammed, Xiang He
-
Publication number: 20050132349Abstract: The present invention is directed to a system and method for managing software updates. More specifically, the present invention is directed to a system and method for facilitating the selection and implementation of software updates while minimizing the bandwidth and processing resources required to select and implement the software updates. In accordance with an aspect of the present invention, a software update service controls access to software updates stored on servers. In accordance with another aspect, the software update service synchronizes with client machines to identify applicable updates.Type: ApplicationFiled: December 15, 2003Publication date: June 16, 2005Inventors: Jason Roberts, Mazhar Mohammed, Walter Wittel, Marc Shepard
-
Publication number: 20040244011Abstract: A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging.Type: ApplicationFiled: June 14, 2004Publication date: December 2, 2004Applicant: Microsoft CorporationInventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
-
Patent number: 6785893Abstract: A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging.Type: GrantFiled: November 30, 2000Date of Patent: August 31, 2004Assignee: Microsoft CorporationInventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
-
Publication number: 20030225870Abstract: Methods, functional components and structures are disclosed for carrying out management of client/server processes operating within separate process spaces within a computer system. The disclosed methods, functional components facilitate and carry out management of client and server processes within a computer system such that a greater degree of control can be exhibited over their execution. An active server component process maintains a list structure identifying each client process that is currently using one of the server component process's interfaces. When a new client references a server, the list structure is augmented to include the system identification (e.g., handle) assigned by the operating system to the client process. A thread within the server process blocks while awaiting a triggering event (e.g., a client process in the list terminates). When the client process terminates, the block on the thread releases and the thread processes the change in client references.Type: ApplicationFiled: May 28, 2002Publication date: December 4, 2003Applicant: Microsoft CorporationInventors: Upender Sandadi, David Bakin, Andrew L. Nicholson, David Sauntry, Marc Shepard
-
Publication number: 20020065948Abstract: A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging.Type: ApplicationFiled: November 30, 2000Publication date: May 30, 2002Inventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
-
Publication number: 20010037494Abstract: A project analysis system and method is described to allow for automated generation of scalable bootable applications and downloadable applications, preferably in connection with an integrated development environment (IDE). The project analysis system and method includes facilities for automatically identifying and including software components in application development projects based on symbol dependencies and component dependencies. The project analysis system and method also includes facilities for automatically identifying and removing software components in application development projects where no symbol dependencies or component dependencies exist, thereby removing unused code. A graphical user interface is provided for user display and selection of includable and excludable components.Type: ApplicationFiled: February 23, 2001Publication date: November 1, 2001Inventors: Richard B. Levien, Cy H. Myers, Anthony A. Mowers, Christopher J. Schille, Marc Shepard