Patents by Inventor Patrick Helland

Patrick Helland 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: 20070130478
    Abstract: Reliable end-to-end messaging in which tracking and acknowledgement information are contained in the electronic message that is visible to layers above the transport layer, thereby being independent of what transport protocols, and whether different transport protocols, are used to comununicate between the two end points. Furthermore, acknowledgment messages may identify multiple ranges of sequence numbers corresponding to received electronic messages, thereby permitting further flexibility and completeness in acknowledging received messages.
    Type: Application
    Filed: October 10, 2006
    Publication date: June 7, 2007
    Applicant: Microsoft Corporation
    Inventors: David Langworthy, Christopher Kaler, Luis Cabrera, Patrick Helland, Steven Lucco, John Shewchuk
  • Publication number: 20060047947
    Abstract: Reliable end-to-end messaging in which tracking and acknowledgement information are contained in the electronic message that is visible to layers above the transport layer, thereby being independent of what transport protocols, and whether different transport protocols, are used to communicate between the two end points. Furthermore, acknowledgment messages may identify multiple ranges of sequence numbers corresponding to received electronic messages, thereby permitting further flexibility and completeness in acknowledging received messages.
    Type: Application
    Filed: October 14, 2005
    Publication date: March 2, 2006
    Applicant: Microsoft Corporation
    Inventors: David Langworthy, Christopher Kaler, Luis Cabrera, Patrick Helland, Steven Lucco, John Shewchuk
  • Publication number: 20050232426
    Abstract: A system and method for employing a key exchange key to facilitate secure communication is provided. The key exchange key can be employed, for example, to encrypt and/or decrypt dialog session key(s) that are used to encrypt and/or decrypt message(s) that form a dialog between an initiator system and target system. In one example, a key exchange key is unique to a service pair, while a dialog session key is unique to a particular dialog between the service pair. The system can facilitate end-to-end encryption of message data in a dialog—the message data is encrypted at one dialog endpoint and not decrypted until it reaches the other dialog endpoint. The system can be employed to facilitate secure dialog with minimal performance overhead when compared with conventional system(s). Optionally, the system can facilitate load balancing (e.g., among deployed instances of a service).
    Type: Application
    Filed: April 14, 2004
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Scott Konersmann, Patrick Helland
  • Publication number: 20050204139
    Abstract: A system and method facilitating the exchange and/or using of a session key (e.g., symmetric key) to facilitate secure communication is provided. The session key can be employed, for example, to encrypt and/or decrypt message(s) that form a dialog between an initiator system and target system(s). “Dialog” refers to bidirectional streams of messages between two endpoints (e.g., initiator system and target system(s)). The systems and methods of the present invention can facilitate, for example, dialog authentication (e.g., ensuring that the initiator and target of the dialog are who they say they are by exchanging security credentials), and, authorization (e.g., only allowing authorized users to send and receive messages). The system(s) and method(s) of the present invention can further facilitate location transparency of service(s) and/or scalable secure monolog(s). The system employs public key/private key asymmetric encryption and/or decryption technique(s) to authenticate and secure information (e.g.
    Type: Application
    Filed: March 10, 2004
    Publication date: September 15, 2005
    Inventors: Patrick Helland, Scott Konersmann, Matthew McCline
  • Publication number: 20050198127
    Abstract: The present invention relates to systems and methods that facilitate serial access to related messages stored within a queue. The systems and methods comprise a conversation manager that generates conversation groups and associated conversation group identifiers for related messages, wherein related messages are associated with one or more dialog conversations between services. The conversation manager utilizes a respective conversation group identifier to lock a conversation group and provide exclusive serial access to the related messages therein and any related incoming messages to a reader such that only one reader at a time can access and process the related messages; other readers can still concurrently dequeue and process messages associated with other conversation groups. The present invention employs order queuing techniques that ensure messages are stored in-order, which facilitates in-order serial processing of messages in a conversation group.
    Type: Application
    Filed: February 11, 2004
    Publication date: September 8, 2005
    Inventors: Patrick Helland, Gerald Hinson
  • Publication number: 20050149953
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Application
    Filed: February 15, 2005
    Publication date: July 7, 2005
    Applicant: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick Helland, Mohsen Agsen
  • Publication number: 20050144590
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Application
    Filed: February 15, 2005
    Publication date: June 30, 2005
    Applicant: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick Helland, Mohsen Agsen
  • Publication number: 20050125804
    Abstract: Queued component interface passing provides a way for a queued component to convey results of processing a client program's method invocations made asynchronously via a queue. A queued component recorder for a “processing” queued component operates to marshal-by-value a method invocation parameter that is reference to another queued component recorder for another “results” queued component into a data stream of recorded method invocations, which is then submitted as a message to a queue associated with the processing queued component. On receipt of the message from the queue, a queued component player for the processing queued component unmarshals the reference to the other queued component recorder and passes this reference to the processing queued component. The processing queued component uses the passed reference to invoke methods of the results queued component through its message queue, which conveys the processing queued component's results.
    Type: Application
    Filed: January 6, 2005
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick Helland, Gagan Chopra, Mohsen Al-Ghosein
  • Publication number: 20050015775
    Abstract: A run-time executive of an object management system for managing execution of software components in an object execution environment uses a component context object to store intrinsic context properties related to an associated component. The run-time executive maintains an implicit association of the component context object with the application component. For example, the context properties can include a client id, an activity id, and a transaction reference. The component context object also provides an interface accessible to the associated component, with member functions for use in transaction processing, in creating additional other application components inheriting component's context properties, and in access control based on abstract user classes (roles).
    Type: Application
    Filed: May 26, 2004
    Publication date: January 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Wilfred Russell, Patrick Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Gray