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: 7853609
    Abstract: 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: Grant
    Filed: March 12, 2004
    Date of Patent: December 14, 2010
    Assignee: Microsoft Corporation
    Inventors: 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: 7818754
    Abstract: 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: Grant
    Filed: June 14, 2004
    Date of Patent: October 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Larry A. Morris, Susan A. Dey, Michael J. Thomson, John R. Eldridge, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
  • Patent number: 7539686
    Abstract: 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: Grant
    Filed: March 12, 2004
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: Marc Shepard, Derek P. Menzies, David Dehghan, Aaron H. Averbuch, Jeanette R. Fisher, Dennis Craig Marl, Seong Kook Khang
  • Patent number: 7478381
    Abstract: 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: Grant
    Filed: December 15, 2003
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Jason Roberts, Mazhar Mohammed, Walter Wittel, Marc Shepard
  • Patent number: 7386859
    Abstract: 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: Grant
    Filed: May 28, 2002
    Date of Patent: June 10, 2008
    Assignee: Microsoft Corporation
    Inventors: Upender Sandadi, David Bakin, Andrew L. Nicholson, David Sauntry, Marc Shepard
  • Publication number: 20080133289
    Abstract: 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: Application
    Filed: December 5, 2006
    Publication date: June 5, 2008
    Applicant: Microsoft Corporation
    Inventors: David Armour, Marc Shepard, Camron Smith, Mark Sterin
  • Publication number: 20070240151
    Abstract: 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: Application
    Filed: January 29, 2006
    Publication date: October 11, 2007
    Applicant: Microsoft Corporation
    Inventors: Craig Marl, David Hennessey, Derek Menzies, Edward Reus, Jianbo Hou, Marc Shepard
  • Publication number: 20070234343
    Abstract: 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: Application
    Filed: January 27, 2006
    Publication date: October 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Christopher Gouge, Craig Marl, David Hennessey, David Kays, Edward Reus, Krishnan Rangarajan, Marc Shepard, Mazhar Mohammed, Steve Shih
  • Publication number: 20070198525
    Abstract: 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: Application
    Filed: February 13, 2006
    Publication date: August 23, 2007
    Applicant: Microsoft Corporation
    Inventors: 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: 7111280
    Abstract: 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: Grant
    Filed: February 23, 2001
    Date of Patent: September 19, 2006
    Assignee: Wind River Systems, Inc.
    Inventors: Richard B. Levien, Cy H. Myers, Anthony A. Mowers, Christopher J. Schille, Marc Shepard
  • Publication number: 20050228798
    Abstract: 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: Application
    Filed: March 12, 2004
    Publication date: October 13, 2005
    Applicant: Microsoft Corporation
    Inventors: Marc Shepard, Derek Menzies, David Dehghan, Aaron Averbuch, Jeanette Fisher, Dennis Marl, Seong Khang
  • Publication number: 20050203968
    Abstract: 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: Application
    Filed: March 12, 2004
    Publication date: September 15, 2005
    Inventors: 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: 20050132349
    Abstract: 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: Application
    Filed: December 15, 2003
    Publication date: June 16, 2005
    Inventors: Jason Roberts, Mazhar Mohammed, Walter Wittel, Marc Shepard
  • Publication number: 20040244011
    Abstract: 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: Application
    Filed: June 14, 2004
    Publication date: December 2, 2004
    Applicant: Microsoft Corporation
    Inventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
  • Patent number: 6785893
    Abstract: 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: Grant
    Filed: November 30, 2000
    Date of Patent: August 31, 2004
    Assignee: Microsoft Corporation
    Inventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
  • Publication number: 20030225870
    Abstract: 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: Application
    Filed: May 28, 2002
    Publication date: December 4, 2003
    Applicant: Microsoft Corporation
    Inventors: Upender Sandadi, David Bakin, Andrew L. Nicholson, David Sauntry, Marc Shepard
  • Publication number: 20020065948
    Abstract: 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: Application
    Filed: November 30, 2000
    Publication date: May 30, 2002
    Inventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
  • Publication number: 20010037494
    Abstract: 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: Application
    Filed: February 23, 2001
    Publication date: November 1, 2001
    Inventors: Richard B. Levien, Cy H. Myers, Anthony A. Mowers, Christopher J. Schille, Marc Shepard