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: 20070130478Abstract: 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: ApplicationFiled: October 10, 2006Publication date: June 7, 2007Applicant: Microsoft CorporationInventors: David Langworthy, Christopher Kaler, Luis Cabrera, Patrick Helland, Steven Lucco, John Shewchuk
-
Publication number: 20060047947Abstract: 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: ApplicationFiled: October 14, 2005Publication date: March 2, 2006Applicant: Microsoft CorporationInventors: David Langworthy, Christopher Kaler, Luis Cabrera, Patrick Helland, Steven Lucco, John Shewchuk
-
Publication number: 20050232426Abstract: 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: ApplicationFiled: April 14, 2004Publication date: October 20, 2005Applicant: Microsoft CorporationInventors: Scott Konersmann, Patrick Helland
-
Publication number: 20050204139Abstract: 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: ApplicationFiled: March 10, 2004Publication date: September 15, 2005Inventors: Patrick Helland, Scott Konersmann, Matthew McCline
-
Publication number: 20050198127Abstract: 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: ApplicationFiled: February 11, 2004Publication date: September 8, 2005Inventors: Patrick Helland, Gerald Hinson
-
Publication number: 20050149953Abstract: 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: ApplicationFiled: February 15, 2005Publication date: July 7, 2005Applicant: Microsoft CorporationInventors: Rodney Limprecht, Patrick Helland, Mohsen Agsen
-
Publication number: 20050144590Abstract: 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: ApplicationFiled: February 15, 2005Publication date: June 30, 2005Applicant: Microsoft CorporationInventors: Rodney Limprecht, Patrick Helland, Mohsen Agsen
-
Publication number: 20050125804Abstract: 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: ApplicationFiled: January 6, 2005Publication date: June 9, 2005Applicant: Microsoft CorporationInventors: Richard Dievendorff, Patrick Helland, Gagan Chopra, Mohsen Al-Ghosein
-
Publication number: 20050015775Abstract: 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: ApplicationFiled: May 26, 2004Publication date: January 20, 2005Applicant: Microsoft CorporationInventors: Wilfred Russell, Patrick Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Gray