Patents by Inventor Philip J. Lafornara

Philip J. Lafornara 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: 8762862
    Abstract: Technologies are described herein for launching an online support chat session in response to an occurrence of a support event on a personal computer and transmitting detailed event information via the chat session for display to support personnel. When an error or other event occurs on a computer, an online support chat session is established using an online support chat client associated with the error or event. The pertinent information about the error or event along with additional data regarding the computer and the user are transmitted via the online support chat session for display to the support personnel.
    Type: Grant
    Filed: June 5, 2008
    Date of Patent: June 24, 2014
    Assignee: Microsoft Corporation
    Inventors: Ram Pratap Singh, Jon D. Pulsipher, Philip J. Lafornara
  • Patent number: 8078604
    Abstract: Systems, methods, and computer-readable media for identifying executable scenario solutions relevant to a user query and returning such executable scenario solutions as search results in response to the user query are provided. Upon receiving a user query, a plurality of results is returned, each result being representative of a series of steps which may be implemented to address a particular issue relevant to the received user query. Often, a series of steps or scenario includes a number of sub-scenarios, each of which is to be executed sequentially to achieve the desired result. Accordingly, upon selection of a particular search result, the user may be guided through a series of sub-scenario result options until an item having direct association to a series of steps is selected. Once selected, the executable scenario solution is presented to the user for execution.
    Type: Grant
    Filed: March 19, 2007
    Date of Patent: December 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Thekkthalackal Varugis Kurien, Steven E. Jackson, Scott A. Field, Philip J. Lafornara
  • Patent number: 8046593
    Abstract: Access to a storage device, such as a disk, is controlled by performing a disk operation using a single cryptographic engine. Keys associated with each layer of a layered structure associated with controlling access to the storage device are combined. The resultant of this combination is used as the key to the cryptographic engine. Data to be retrieved from and written to the storage device are operated on by the cryptographic engine utilizing the combined key. Keys are combined by combining functions associated with layers of the layered structure. A combining function can include an exclusive or function, a cryptographic hash function, or a combination thereof.
    Type: Grant
    Filed: June 7, 2006
    Date of Patent: October 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
  • Patent number: 7739516
    Abstract: The import address table of a software module is verified in order to prevent detouring attacks. A determination is made regarding which entries in the IAT must be verified; all of the entries may be verified or some subset of the entries that are critical may be verified. For each external function, the external module containing the external function is loaded, if it is not already loaded. The function address in the exported function table is found. That address is compared to the address for the function in the IAT. Additionally, the external module, in one embodiment, is verified to ensure that it has not been modified. For a delay load IAT, a similar procedure is followed; however the delay load IAT may be periodically checked to ensure that the delay load IAT entries are either valid (indicating that the external function has been bound) or in their initial state (indicating that no binding has yet occurred).
    Type: Grant
    Filed: March 5, 2004
    Date of Patent: June 15, 2010
    Assignee: Microsoft Corporation
    Inventors: Scott A. Brender, Philip J. Lafornara, Michael David Marr, Robert Ian Oliver
  • Patent number: 7644287
    Abstract: Dynamic run-time verification of a module which is loaded in memory (in whole or in part) for execution is enabled by using pre-computed portion-level verification data for portions of the module smaller than the whole (e.g. at the page-level). A portion of the module as loaded into memory for execution can be verified. Pre-computed portion-level verification data is retrieved from storage and used to verify the loaded portions of the executable. Verification data may be, for example, a digitally signed hash of the portion. Where the operating system loader has modified the portion for execution, the modifications are reversed, removing any changes performed by the operating system. If the portion has not been tampered, this will return the portion to its original pre-loaded state. This version is then used to determine validity using the pre-computed portion-level verification.
    Type: Grant
    Filed: July 29, 2004
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Timothy J. Oerting, Philip J. Lafornara, Robert Ian Oliver, Scott A. Brender, Michael David Marr
  • Publication number: 20090307612
    Abstract: Technologies are described herein for launching an online support chat session in response to an occurrence of a support event on a personal computer and transmitting detailed event information via the chat session for display to support personnel. When an error or other event occurs on a computer, an online support chat session is established using an online support chat client associated with the error or event. The pertinent information about the error or event along with additional data regarding the computer and the user are transmitted via the online support chat session for display to the support personnel.
    Type: Application
    Filed: June 5, 2008
    Publication date: December 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ram Pratap Singh, Jon D. Pulsipher, Philip J. Lafornara
  • Publication number: 20080235179
    Abstract: Systems, methods, and computer-readable media for identifying executable scenario solutions relevant to a user query and returning such executable scenario solutions as search results in response to the user query are provided. Upon receiving a user query, a plurality of results is returned, each result being representative of a series of steps which may be implemented to address a particular issue relevant to the received user query. Often, a series of steps or scenario includes a number of sub-scenarios, each of which is to be executed sequentially to achieve the desired result. Accordingly, upon selection of a particular search result, the user may be guided through a series of sub-scenario result options until an item having direct association to a series of steps is selected. Once selected, the executable scenario solution is presented to the user for execution.
    Type: Application
    Filed: March 19, 2007
    Publication date: September 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Thekkthalackal Varugis Kurien, Steven E. Jackson, Scott A. Field, Philip J. Lafornara
  • Publication number: 20080022132
    Abstract: Access to a storage device, such as a disk, is controlled by performing a disk operation using a single cryptographic engine. Keys associated with each layer of a layered structure associated with controlling access to the storage device are combined. The resultant of this combination is used as the key to the cryptographic engine. Data to be retrieved from and written to the storage device are operated on by the cryptographic engine utilizing the combined key. Keys are combined by combining functions associated with layers of the layered structure. A combining function can include an exclusive or function, a cryptographic hash function, or a combination thereof.
    Type: Application
    Filed: June 7, 2006
    Publication date: January 24, 2008
    Applicant: Microsoft Corporation
    Inventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
  • Patent number: 7305366
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Grant
    Filed: November 3, 2005
    Date of Patent: December 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Charlie David Chase, Jr., Krishnamurthy Ganesan, Philip J. Lafornara, Jeffrey Richard McKune, Clifford Paul Strom, Vijay K. Gajjala
  • Patent number: 7110985
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Grant
    Filed: November 3, 2005
    Date of Patent: September 19, 2006
    Assignee: Microsoft Corporation
    Inventors: Charlie David Chase, Jr., Krishnamurthy Ganesan, Philip J. Lafornara, Jeffrey Richard McKune, Clifford Paul Strom, Vijay K. Gajjala
  • Patent number: 7080043
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Grant
    Filed: March 26, 2002
    Date of Patent: July 18, 2006
    Assignee: Microsoft Corporation
    Inventors: Charlie David Chase, Jr., Krishnamurthy Ganesan, Philip J. Lafornara, Jeffrey Richard McKune, Clifford Paul Strom, Vijay K. Gajjala
  • Publication number: 20030187801
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Application
    Filed: March 26, 2002
    Publication date: October 2, 2003
    Applicant: Microsoft Corporation
    Inventors: Charlie David Chase, Krishnamurthy Ganesan, Philip J. Lafornara, Jeffrey Richard McKune, Clifford Paul Strom, Vijay K. Gajjala
  • Patent number: 5715441
    Abstract: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: February 3, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams
  • Patent number: 5706504
    Abstract: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: January 6, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams
  • Patent number: 5506983
    Abstract: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium. In another aspect, the present invention provides for the transactioning of modifications to data in a file that is stored in a tree structure having nodes. When modifications are made to a node that is not transacted, the modifications are associated with the closest ancestor node that is transacted.
    Type: Grant
    Filed: July 6, 1992
    Date of Patent: April 9, 1996
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams