Patents by Inventor Brian J. Deen

Brian J. Deen 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: 20080147781
    Abstract: Systems and methods for synchronizing multiple copies of data in a network environment that includes servers and clients so that incremental changes made to one copy of the data can be identified, transferred, and incorporated into all other copies of the data. The synchronization can be accomplished regardless of whether modifications to the data have been made by a client while the client is in an on-line or off-line mode of operation. The clients cache data locally as data are modified and downloaded. The caching enables the clients to access the data and allows the synchronization to be performed without transmitting a particular version more than once between a client and a server. Such elimination of redundant data transmission results in an efficient use of time and network bandwidth.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Alexander I. Hopmann, Rebecca L. Anderson, Brian J. Deen
  • Patent number: 7240091
    Abstract: Systems and methods for synchronizing multiple copies of data in a network environment that includes servers and clients so that incremental changes made to one copy of the data can be identified, transferred, and incorporated into all other copies of the data. The synchronization can be accomplished regardless of whether modifications to the data have been made by a client while the client is in an on-line or off-line mode of operation. The clients cache data locally as data are modified and downloaded. The caching enables the clients to access the data and allows the synchronization to be performed without transmitting a particular version more than once between a client and a server. Such elimination of redundant data transmission results in an efficient use of time and network bandwidth.
    Type: Grant
    Filed: June 10, 2003
    Date of Patent: July 3, 2007
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Rebecca L. Anderson, Brian J. Deen
  • Patent number: 7215777
    Abstract: Methods and systems for efficiently sending notification of the occurrence of events through a firewall. A client system operating inside a firewall, attempts to receive notification of the occurrence of events from a server system operating outside the firewall. The client system attempts to receive communication from the server system using a connectionless protocol, such as UDP. If the client system receives communication using the connectionless protocol, the client system requests notification be sent using the connectionless protocol. The server system notifies the client system by sending a packet to the server system, using the connectionless protocol, when events occur. However, if the client does not receive communication using the connectionless protocol, the client requests notifications be sent using a connection-oriented protocol, such as TCP.
    Type: Grant
    Filed: January 16, 2001
    Date of Patent: May 8, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Alex I. Hopmann, Joel M. Soderberg, Sean O. Lyndersay
  • Patent number: 7065784
    Abstract: Provided are methods and systems for integrating the access controls of computer resources into a namespace or domain. For a remote user, a computer network or system is a namespace represented by a URL. In order to enforce the access controls of the computer network being accesses, a remote user is impersonated by a server of the computer system such that access requests to the resources of a system are made by the server in the security context of the remote user. By impersonating the remote user, the actual rights of the remote user are being presented to the access controls rather than the rights of the server. In this manner, the access control of the system can be enforced directly on the remote user and the access control is effectively extended to the namespace.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: June 20, 2006
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Van C. Van, Brian J. Deen
  • Patent number: 6996770
    Abstract: Methods and systems for generating and sending an XML document are described. In one embodiment, an XML response generator responds to a client request without having to first build and save a hierarchical tree structure in memory that represents the response.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: February 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Joel M. Soderberg
  • Patent number: 6993715
    Abstract: Methods and systems for generating and sending an XML document are described. In a specific implementation, methods and systems for responding to an XML client request utilize an XML response generator that includes one or more request method objects. There is one object for each particular type of client request that might be received. Each request method object knows and gathers the data that is needed to respond to its particular associated client request. An emitter object receives calls from the request method object and translates the data that it receives into response portions that are in proper XML syntactic form.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: January 31, 2006
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Joel M. Soderberg
  • Patent number: 6959415
    Abstract: Methods and structures for parsing an Extensible Markup Language (XML) data stream are described. In the described embodiment, one or more schema modules are defined and are associated with HTTP requests that are received from a client. The schema module(s) has a function that determines whether an XML data stream conforms to a given schema that is associated with the HTTP request. If a portion of the XML data stream does not conform to the given schema, then the schema module disregards that XML data stream portion. In the described embodiment, each schema module has a plurality of states associated therewith. Each state is associated with one or more schema requirements that relate to a particular element that is evaluated by the schema module. Each state is different from the other states and the number of states is a function of the number of layers or elements that are contained within a particular XML data stream.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: October 25, 2005
    Assignee: Microsoft Corporation
    Inventors: Joel M. Soderberg, Brian J. Deen
  • Patent number: 6944642
    Abstract: The present invention provides systems and methods for detecting and resolving resource conflicts. A resource conflict exists when a client version of a resource differs from a server version of the same resource. A resource conflict primarily arises when a client attempts to upload an altered resource to a server where the server version of the resource is no longer equivalent to the version that the client originally downloaded. The conflict is detected by the server and conflict resolution is initiated. The server is the first level of conflict resolution. The server can compare the conflicting versions of the resource to determine if the changes are not actually conflicting. If the server can resolve the conflict, it does and returns a resource tag to the client. The second level of conflict resolution is at the client. The client typically has knowledge of a schema related to the resource which may enable the client to resolve conflicts that the server could not.
    Type: Grant
    Filed: October 4, 1999
    Date of Patent: September 13, 2005
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Becky Anderson, Brian J. Deen
  • Patent number: 6836795
    Abstract: Methods, systems, and computer program products for mapping connections and protocol specific resource identifiers. A front-end server receives a request for content from a client. The front-end server decrypts the request as needed, adds a protocol information to the request that identifies the communication protocol used between the client and the front-end server, and then forwards the request to a back-end server for processing. When the back-end server processes the request, the requested content may include one or more protocol specific resource identifiers. However, the protocol specific resource identifiers are based on the protocol information included in the request rather than the protocol used between the front-end server and the back-end server. Upon receiving the requested content back from the back-end server, the front-end server encrypts the content as needed and sends the content to the requesting client.
    Type: Grant
    Filed: January 31, 2001
    Date of Patent: December 28, 2004
    Assignee: Microsoft Corporation
    Inventors: Joel M. Soderberg, Brian J. Deen, Alexander I. Hopmann
  • Publication number: 20040162997
    Abstract: Provided are methods and systems for integrating the access controls of computer resources into a namespace or domain. For a remote user, a computer network or system is a namespace represented by a URL. In order to enforce the access controls of the computer network being accesses, a remote user is impersonated by a server of the computer system such that access requests to the resources of a system are made by the server in the security context of the remote user. By impersonating the remote user, the actual rights of the remote user are being presented to the access controls rather than the rights of the server. In this manner, the access control of the system can be enforced directly on the remote user and the access control is effectively extended to the namespace.
    Type: Application
    Filed: February 13, 2004
    Publication date: August 19, 2004
    Inventors: Alexander I. Hopmann, Van C. Van, Brian J. Deen
  • Patent number: 6694335
    Abstract: A system and method for synchronizing changes among multiple copies of data is disclosed. The system and method allows the data to be synchronized without any copying or transferring of those portions of the data that have not been changed. In particular, the system and method preferably uses an identifier to represent the current state of the data and the identifier is used to determine what, if any, changes have occurred to the data. Thus, instead of comparing the data itself to see if changes have been made, the identifier is used to simply and easily determine if changes were made to the data. Each identifier preferably includes a first portion that identifies a particular source for the data and a second portion that includes a change number that is changed each time the underlying resource is modified. The identifier is preferably opaque or transparent to the client such that the client does not have to understand anything about the format or use of the identifier.
    Type: Grant
    Filed: October 4, 1999
    Date of Patent: February 17, 2004
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Rebecca L. Anderson, Brian J. Deen
  • Patent number: 6629127
    Abstract: Various embodiments of the invention are directed to closely integrating functionality between an internet server and a WebDAV tool. Areas of specific focus in this document include delegation of duties between the internet server and the WebDAV tool, efficient management of a resource's content-type, support for segregation of a namespace into separate virtual roots, and determinations of whether to invoke certain processing extensions to handle requests for a given HTTP verb.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: September 30, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Joel M. Soderberg, Van C. Van, Henry L. Sanders
  • Publication number: 20030167317
    Abstract: Various embodiments of the invention are directed to closely integrating functionality between an internet server and a WebDAV tool. Areas of specific focus in this document include delegation of duties between the internet server and the WebDAV tool, efficient management of a resource's content-type, support for segregation of a namespace into separate virtual roots, and determinations of whether to invoke certain processing extensions to handle requests for a given HTTP verb.
    Type: Application
    Filed: March 6, 2003
    Publication date: September 4, 2003
    Inventors: Brian J. Deen, Joel M. Soderberg, Van C. Van, Henry L. Sanders
  • Patent number: 6615231
    Abstract: The present invention provides for directing requests to specific processing using an inclusion list. The inclusion list contains a list of methods that an associated process, program, or module is capable of executing. A request contains at least a method and a resource. A server, upon receiving the request, identifies the process module or handler that is associated with the resource by the file extension of the resource. After the process is identified, an inclusion list is examined to determine if the process is capable of performing the identified method. If the method is listed in the inclusion list, then processing is directed to the identified process, which performs the indicated method with regard to the identified resource. If the method is not listed in the inclusion list, then control of the request is not provided to the process.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: September 2, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Van C. Van, Henry L. Sanders
  • Patent number: 6581099
    Abstract: Access of sources of resources within standard request-response protocols such as HTTP is disclosed. In one embodiment, a method specifies a request for application against a resource, where the resource has a source and a response. Within a TRANSLATE header within the request, there is either a FALSE flag to indicate that the source is desired, or a TRUE flag to indicate that the response is desired. In one embodiment, the TRUE flag is the default for the TRANSLATE header. The request is output according to a predetermined request protocol such as HTTP, and in one embodiment, also according to a predetermined markup language such as XML.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: June 17, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian J. Deen, Saveen V. Reddy
  • Patent number: 6578069
    Abstract: Techniques are presented for allowing clients and servers in a computer network executing the WebDAV protocol to identify a specific version of a specific resource a specific version using a resource tag. The resource can be identified even though it has been changed at a server or at an off line local cache of a client that is disconnected from the network and then later re connected to the network for uploading. Also, a resource UID is presented that will not change despite changes to the URL or the resource tag of the resource. Each resource UID of each resource can be cached locally at a client and can be stored at network server in an index. The index allows the resource to be identified uniquely across a collection in a database at a server, across a database at the server, across the entire server, or across all servers in the network.
    Type: Grant
    Filed: October 4, 1999
    Date of Patent: June 10, 2003
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Rebecca L. Anderson, Brian J. Deen
  • Patent number: 6578054
    Abstract: Systems and methods for synchronizing multiple copies of data in a network environment that includes servers and clients so that incremental changes made to one copy of the data can be identified, transferred, and incorporated into all other copies of the data. The synchronization can be accomplished regardless of whether modifications to the data have been made by a client while the client is in an on-line or off-line mode of operation. The clients cache data locally as data are modified and downloaded. The caching enables the clients to access the data and allows the synchronization so be performed without transmitting a particular version more than once between a client and a server. Such elimination of redundant data transmission results in an efficient use of time and network bandwidth.
    Type: Grant
    Filed: October 4, 1999
    Date of Patent: June 10, 2003
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Rebecca L. Anderson, Brian J. Deen
  • Patent number: 6519626
    Abstract: A method is described of converting a file system path corresponding to a resource to a uniform resource locator (URL) corresponding to the resource. After receiving the file system path, the following information is obtained related to the resource located in the inputted file system path: the protocol prefix, domain name, the port number if different than default, and the URL fixed subdirectory structure if any. This information may be obtained, for example, by reference to a URL provided to a conversion module. The URL is then manufactured by first assigning the protocol prefix as the left-most characters of the URL. Then, the domain name, a colon “:” and port number if different than default, any subdirectory structure, and a latter portion of the file system path are added to the protocol prefix. Finally, any back slashes “\” are converted to forward slashes “/” to complete the conversion to the URL.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: February 11, 2003
    Assignee: Microsoft Corporation
    Inventors: Joel M. Soderberg, Van C. Van, Brian J. Deen
  • Patent number: 6499031
    Abstract: Provided is a method for locking computer resources and for accessing locked computer resources. Resources being used by remote users can be locked such that other remote users and local users have restricted access to those resources. The remote user provides the resource to be locked, the type of lock to place on the resource and the duration of the lock. If the resource is available and the user has the proper credentials and the proper access permissions, the resource is locked and a lock token is provided to the remote user. A resource handle is also provided to the remote user. Once a resource has been locked, the lock token must be provided and verified before access to the resource is granted. Because the locks can be discovered, a security token of the owner of the lock is associated with the lock token. The security token of the remote user must also match the security token associated with the stored lock token before access to the resource is granted. The locks can either expire or be refreshed.
    Type: Grant
    Filed: July 26, 1999
    Date of Patent: December 24, 2002
    Assignee: Microsoft Corporation
    Inventors: Alexander I. Hopmann, Van C. Van, Brian J. Deen
  • Publication number: 20020103857
    Abstract: Methods, systems, and computer program products for mapping connections and protocol specific resource identifiers. A front-end server receives a request for content from a client. The front-end server decrypts the request as needed, adds a protocol information to the request that identifies the communication protocol used between the client and the front-end server, and then forwards the request to a back-end server for processing. When the back-end server processes the request, the requested content may include one or more protocol specific resource identifiers. However, the protocol specific resource identifiers are based on the protocol information included in the request rather than the protocol used between the front-end server and the back-end server. Upon receiving the requested content back from the back-end server, the front-end server encrypts the content as needed and sends the content to the requesting client.
    Type: Application
    Filed: January 31, 2001
    Publication date: August 1, 2002
    Applicant: Microsoft Corporation
    Inventors: Joel M. Soderberg, Brian J. Deen, Alexander I. Hopmann