Patents by Inventor Paul Leach

Paul Leach 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: 20060161554
    Abstract: A schema-based service for Internet access to per-user services data, wherein access to data is based on each user's identity. The service includes a schema that defines rules and a structure for each user's data, and also includes methods that provide access to the data in a defined way. The services schema thus corresponds to a logical document containing the data for each user. The user manipulates (e.g., reads or writes) data in the logical document by data access requests through defined methods. In one implementation, the services schemas are arranged as XML documents, and the services provide methods that control access to the data based on the requesting user's identification, defined role and scope for that role. In this way, data can be accessed by its owner, and shared to an extent determined by the owner.
    Type: Application
    Filed: March 9, 2006
    Publication date: July 20, 2006
    Applicant: Microsoft Corporation
    Inventors: Mark Lucovsky, Shaun Pierce, Ramu Movva, Jagadeesh Kalki, David Auerbach, Peter Ford, Yun-Qi Yuan, Yi-Wen Guu, Samuel George, William Hoffman, Jay Jacobs, Paul Steckler, Walter Hsueh, Kendall Keil, Burra Gopal, Steven White, Paul Leach, Richard Ward, Philip Smoot, Lijiang Fang, Michael Taylor, Suresh Kannan, Winnie Wu
  • Publication number: 20060059359
    Abstract: A system and method for controlling access to a computer provides for loose security within a local network while retaining strong security against external access to the network. In one embodiment, a user has access to trusted nodes in a secured group within an unmanaged network, without being required to choose, enter and remember a login password. To establish such a secure blank password or one-click logon account for the user on a computer, a strong random password is generated and stored, and the account is designated as a blank password account. If the device is part of a secured network group, the strong random password is replicated to the other trusted nodes. When a user with a blank password account wishes to log in to a computer, the stored strong random password is retrieved and the user is authenticated.
    Type: Application
    Filed: September 15, 2004
    Publication date: March 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Sterling Reasor, Ramesh Chinta, Paul Leach, John Brezak, Eric Flo
  • Publication number: 20060041929
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: February 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20060041743
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: February 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20050240665
    Abstract: A device control model provides an integrated set of addressing, naming, discovery and description processes that enables automatic, dynamic and ad-hoc self-setup by devices to interoperate with other devices on a network. This permits a computing device when introduced into a network to automatically configure so as to connect and interact with other computing devices available on the network, without a user installation experience and without downloading driver software or persisting a configuration setup for connecting and interacting with such other computing devices. Upon completing interaction with such other devices, the computing device automatically releases the setup for such other devices so as to avoid persistent device configurations that might create a configuration maintenance and management burden.
    Type: Application
    Filed: March 2, 2005
    Publication date: October 27, 2005
    Applicant: Microsoft Corporation
    Inventors: Ye Gu, Peter Ford, Holly Knight, Yaron Goland, Paul Leach
  • Publication number: 20050097503
    Abstract: A universal plug and play (UPnP) device makes itself known through a set of processes—discovery, description, control, eventing, and presentation. Following discovery of a UPnP device, an entity can learn more about the device and its capabilities by retrieving the device's description. The description includes vendor-specific manufacturer information like the model name and number, serial number, manufacturer name, URLs to vendor-specific Web sites, etc. The description also includes a list of any embedded devices or services, as well as URLs for control, eventing, and presentation. The description is written by a vendor, and is usually based on a device template produced by a UPnP forum working committee. The template is derived from a template language that is used to define elements to describe the device and any services supported by the device. The template language is written using an XML-based syntax that organizes and structures the elements.
    Type: Application
    Filed: November 4, 2004
    Publication date: May 5, 2005
    Applicant: Microsoft Corporation
    Inventors: William Zintel, Amar Gandhi, Ye Gu, Shyamalan Pather, Jeffrey Schlimmer, Christopher Rude, Daniel Weisman, Donald Ryan, Paul Leach, Ting Cai, Holly Knight, Peter Ford
  • Publication number: 20050091518
    Abstract: The present invention relates to a system and methodology to facilitate security for data items residing within (or associated with) a hierarchical database or storage structure. A database security system is provided having a hierarchical data structure associated with one or more data items. The system includes a security component that applies a security policy to the data items from a global location or region associated with a database. Various components and processes are employed to enable explicit and/or inherited security properties to be received by and propagated to the data items depending on the type of data structure encountered or processed.
    Type: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Inventors: Sameet Agarwal, Balan Raman, Sanjay Anand, Paul Leach, Richard Ward
  • Publication number: 20050080865
    Abstract: Processing a response to a network request using information that was transplanted into the response from a specific portion of the request. A requesting computer system generates an electronic request that includes the specific portion. The requesting computer system then submits the request to a responding computer system, which processes the request to form a response to the request. During processing of the request, the responding system transplants the specific portion of the request to the response. The responding computer system then transmits the response to the request to a processing computer system that processes the request. The processing computer system receives the response and extracts the information from the specific portion of the response. The processing computer system then uses the extracted information to process the request.
    Type: Application
    Filed: October 19, 2004
    Publication date: April 14, 2005
    Applicant: Microsoft Corporation
    Inventors: Paul Leach, Chris Kaler, Ferhan Elvanoglu, Mark Lucovsky, Shaun Pierce
  • Publication number: 20050074018
    Abstract: A universal plug and play (UPnP) device makes itself known through a set of processes—discovery, description, control, eventing, and presentation. Following discovery of a UPnP device, an entity can learn more about the device and its capabilities by retrieving the device's description. The description includes vendor-specific manufacturer information like the model name and number, serial number, manufacturer name, URLs to vendor-specific Web sites, etc. The description also includes a list of any embedded devices or services, as well as URLs for control, eventing, and presentation. The description is written by a vendor, and is usually based on a device template produced by a UPnP forum working committee. The template is derived from a template language that is used to define elements to describe the device and any services supported by the device. The template language is written using an XML-based syntax that organizes and structures the elements.
    Type: Application
    Filed: November 4, 2004
    Publication date: April 7, 2005
    Applicant: Microsoft Corporation
    Inventors: William Zintel, Amar Gandhi, Ye Gu, Shyamalan Pather, Jeffrey Schlimmer, Christopher Rude, Daniel Weisman, Donald Ryan, Paul Leach, Ting Cai, Holly Knight, Peter Ford
  • Publication number: 20020184380
    Abstract: A method for generating an index to be provided by data sources or lower level index servers to higher order index servers is suited for use in connection with a distributed directory service comprising a hierarchical arrangement of data sources, data servers and index servers. The method involves determining the amount of data to be indexed, and comparing the amount of data to be indexed to a predefined maximum index size. An index of reduced size is generated if the amount of data to be indexed is greater than the maximum index size, and then this index is provided to higher order index servers. The index is formed by parsing the data in accordance with a prescribed data hierarchy (e.g., left or right) and using portions of the data while omitting other portions of the data. The index is formed such that it will meet the criteria of (a) producing no false negatives when queried and (b) comprising less data than the data to be indexed.
    Type: Application
    Filed: April 12, 2002
    Publication date: December 5, 2002
    Inventors: Chris Weider, Paul Leach
  • Patent number: 6490589
    Abstract: A distributed directory service includes data sources (DS#1 through DS#5), index servers (IS#1, IS#2 and IS#3) and a client. The data sources generate an index of their data as well as a listing of their schema and a mapping from their schema to their index server's schema. This information is then transmitted to the index server for each data source, which repeats the process by providing an index and mapping information to its index server(s), if any.
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: December 3, 2002
    Assignee: Microsoft Corporation
    Inventors: Chris Weider, Paul Leach
  • Patent number: 6412020
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: June 16, 1998
    Date of Patent: June 25, 2002
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 6374253
    Abstract: A method for generating an index to be provided by data sources or lower level index servers to higher order index servers is suited for use in connection with a distributed directory service comprising a hierarchical arrangement of data sources, data servers and index servers. The method involves determining the amount of data to be indexed, and comparing the amount of data to be indexed to a predefined maximum index size. An index of reduced size is generated if the amount of data to be indexed is greater than the maximum index size, and then this index is provided to higher order index servers. The index is formed by parsing the data in accordance with a prescribed data hierarchy (e.g., left or right) and using portions of the data while omitting other portions of the data. The index is formed such that it will meet the criteria of (a) producing no false negatives when queried and (b) comprising less data than the data to be indexed.
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: April 16, 2002
    Assignee: Microsoft Corporation
    Inventors: Chris Weider, Paul Leach
  • Patent number: 6243764
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: June 5, 2001
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 6240465
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: March 4, 1997
    Date of Patent: May 29, 2001
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 6108715
    Abstract: A method and system that allows a client process to invoke a remote procedure. An operating system maintains a table with an entry for each remote procedure. Each entry of this table contains a signature that specifies a format in which parameters are exchanged between the client process and the remote procedure. When the client process requests the invocation of the remote procedure, the operating system creates a stack for the remote procedure. This stack is then mapped into the operating system's address space. By mapping the remote procedure's stack in this fashion, the operating system can simultaneously access the client's stack and the remote procedure's stack. The operating system then copies, in accordance with the remote procedure's signature, parameters directly from the client's stack to the remote procedure's stack. Once the parameters are copied, the remote procedure executes using the data contained on its own stack.
    Type: Grant
    Filed: July 15, 1997
    Date of Patent: August 22, 2000
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Richard Draves
  • Patent number: 5805885
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: January 24, 1994
    Date of Patent: September 8, 1998
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 5802367
    Abstract: A method and system for transparently executing code using a surrogate process is provided. In a preferred embodiment, the underlying system provides a surrogate program that can execute server dynamic-link libraries. When a client program wishes to access an object of a sharable class or a class factory object, the client program requests a service control manager to execute the server code for the sharable class. In response, the service control manager determines from a registration database whether the server code is available in the form of a server executable or a server dynamic-link library.
    Type: Grant
    Filed: January 16, 1996
    Date of Patent: September 1, 1998
    Assignee: Microsoft Corporation
    Inventors: Andrew F. Held, Edward K. Jung, Paul Leach, Pradyumna K. Misra, Richard K. Sailor, Michael R. C. Seaman, Nathaniel S. Brown
  • Patent number: 5745764
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: April 28, 1998
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 5724588
    Abstract: A computer method and system for passing a pointer to an interface from a server process to a client process. In a preferred embodiment, the server process instantiates an object that has multiple interfaces. The server process identifies an interface to pass to the client process and creates a stub object for receiving a request to invoke a function member of the interface and for invoking the requested function member upon receiving the request. The server process then sends an identifier of the stub to the client process. When the client process receives the identifier of the stub, it instantiates a proxy object for receiving requests to invoke a function member of the interface and for sending the request to the identified stub. The client process can then invoke the function members of the interface by invoking function members of the proxy object. The proxy object sends a request to the identified stub. The identified stub then invokes the corresponding function member of the interface.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: March 3, 1998
    Assignee: Microsoft Corporation
    Inventors: Richard Douglas Hill, Antony S. Williams, Robert G. Atkinson, Tom Corbett, Paul Leach, Shannon John Chan, Alexander Adams Mitchell, Edward K. Jung, Craig Henry Wittenberg