Patents by Inventor Richard Dievendorff

Richard Dievendorff 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: 7797306
    Abstract: The present invention relates to a system and methodology to facilitate subscription, delivery, processing, and reception of notification services. A global service framework is provided that operates in conjunction with a notification platform architecture to deliver information from one or more event sources to one or more notification sinks that receive information from the services. The global framework includes discovery and description components that provide information relating to available notification services. Subscriptions can be obtained via subscription events, whereby notifications can be delivered via notification events, wherein such events can be modeled as part of the global service framework. Various communications protocols can also be provided to facilitate communications with the notification services and global services framework.
    Type: Grant
    Filed: February 26, 2003
    Date of Patent: September 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Shyamalan Pather, Lon Eugene Fisher, Richard Dievendorff, Praveen Seshadri, Philip Garrett, Holly Knight, Vincent H. Curley, Robert F. Blanch, Charles Tete Mensa-Annan
  • Patent number: 7634777
    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: Grant
    Filed: January 6, 2005
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen M. Al-Ghosein
  • Patent number: 7512957
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, Geary L. Eppley, Douglas M. Purdy, James E. Johnson, Stephen J. Millet, Stephen T. Swartz, Vijay K. Gajjala, Aaron Abraham Stern, Alexander Martin DeJarnatt, Alfred M. Lee, IV, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya D. Upadhyay, Christopher G. Kaler, Craig Andrew Critchley, David Edwin Levin, David Owen Driver, David Wortendyke, Douglas A. Walter, Elliot Lee Waingold, Erik Bo Christensen, Erin P. Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni M. Della-Libera, Jesus Ruiz-Scougall, John David Doty, Jonathan T. Wheeler, Kapil Gupta, Kenneth David Wolf, Krishnan Srinivasan, Lance E. Olson, Matthew Thomas Tavis, Mauro Ottaviani, Max Attar Feingold, Michael James Coulson, Michael Jon Marucheck, Michael Steven Vernal, Michael Thomas Dice, Mohamed-Hany Essam Ramadan, Mohammad Makarechian, Natasha Harish Jethanandani, Richard Dievendorff, Richard Douglas Hill, Ryan Thomas Sturgell, Saurab Nog, Scott Christopher Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan K. Srinivasan, Stefan Batres, Stefan Harrington Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday S. Hegde, Umesh Madan, Vaithialingam B. Balayogan, Vipul Arunkant Modi, Yaniv Pessach, Yasser Shohoud
  • Patent number: 7421501
    Abstract: Systems and methods in accordance with the present invention allow for messages to be delivered from one application to another over a network in discrete groupings or communication sessions. For example, a sending computer system sends a group of related messages to a queue at a recipient computer system. The recipient computer system identifies that the messages of the group are related, and initiates a session-oriented communication channel. The recipient computer passes the group of messages to an appropriate application, and opens a different, new session-oriented communication channel for a new group of messages that are not necessarily related to the first group of messages. In one implementation, an order identifier in each of the received messages instructs the recipient computer system on what order, if any, the messages in a group are to be processed by the specific application.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: September 2, 2008
    Assignee: Microsoft Corporation
    Inventors: Craig A. Critchley, Richard Dievendorff, Krishnan Srinivasan, Richard Hill, Uday Hegde
  • Publication number: 20070156656
    Abstract: The present invention relates to a subscription modeling system and methodology. A query processor receives subscription query and subscriber information and transforms the query and subscriber information into data. An index component propagates at least one database with the transformed data; and a matching component that associates the transformed data with event data to generate a database of notification data that can be delivered to subscribers. The invention provides for abstracting subscription and subscriber information (as well as event information if desired) to high-level classes (e.g., data fields)—thus the invention provides for modeling such notification related information as data. Subscription applications can thus be developed at high levels wherein complex subscription queries and subscriber information can be defined as data fields for example. Databases in accordance with the data fields can be propagated with subscription/subscriber specific information.
    Type: Application
    Filed: November 30, 2006
    Publication date: July 5, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Shyamalan Pather, Praveen Seshadri, Phil Garrett, Robert Blanch, Holly Knight, Richard Dievendorff, Vince Curley
  • Publication number: 20060177069
    Abstract: Systems and methods in accordance with the present invention allow for messages to be delivered from one application to another over a network in discrete groupings or communication sessions. For example, a sending computer system sends a group of related messages to a queue at a recipient computer system. The recipient computer system identifies that the messages of the group are related, and initiates a session-oriented communication channel. The recipient computer passes the group of messages to an appropriate application, and opens a different, new session-oriented communication channel for a new group of messages that are not necessarily related to the first group of messages. In one implementation, an order identifier in each of the received messages instructs the recipient computer system on what order, if any, the messages in a group are to be processed by the specific application.
    Type: Application
    Filed: February 4, 2005
    Publication date: August 10, 2006
    Applicant: Microsoft Corporation
    Inventors: Craig Critchley, Richard Dievendorff, Krishnan Srinivasan, Richard Hill, Uday Hedge
  • Publication number: 20060150200
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Application
    Filed: December 3, 2004
    Publication date: July 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Geary Eppley, Douglas Purdy, James Johnson, Stephen Millet, Stephen Swartz, Vijay Gajjala, Aaron Stern, Alexander DeJarnatt, Alfred Lee, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya Upadhyay, Christopher Kaler, Craig Critchley, David Levin, David Driver, David Wortendyke, Douglas Walter, Elliot Waingold, Erik Christensen, Erin Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni Della-Libera, Jesus Ruiz-Scougall, John Doty, Jonathan Wheeler, Kapil Gupta, Kenneth Wolf, Krishnan Srinivasan, Lance Olson, Matthew Tavis, Mauro Ottaviani, Max Feingold, Michael Coulson, Michael Marucheck, Michael Vernal, Michael Dice, Mohamed-Hany Ramadan, Mohammad Makarechian, Natasha Jethanandani, Richard Dievendorff, Richard Hill, Ryan Sturgell, Saurab Nog, Scott Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan Srinivasan, Stefan Batres, Stefan Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday Hegde, Umesh Madan, Vaithialingam Balayogan, Vipul Modi, Yaniv Pessach, Yasser Shohoud
  • Patent number: 6963882
    Abstract: Various enhancements are made to the architecture of a list processor to facilitate its use in implementing a message queue that is shared by queue managers residing across a multisystem complex. A new list structure control—a program list entry identifier indicator, or PLEIDI—is defined to allow the user to specify whether user-defined entry IDs are used when the list is allocated. A new delete list (DL) command is added that sequentially processes list entries in the order in which they exist on the specified list. A new move list entries (MLES) command provides a performance-optimized means to process an input list of entries. New key comparison functions and list monitoring enhancements have also been added. A new type of key called a secondary list entry key (SLEK) allows the user to specify a secondary key value as a means to identify a list entry.
    Type: Grant
    Filed: October 2, 2000
    Date of Patent: November 8, 2005
    Assignee: International Business Machines Corporation
    Inventors: David A. Elko, Richard Dievendorff, Dermot J. Flaherty, Jeffrey M. Nick, David H. Surman, James H. Warnes, Douglas W. Westcott
  • Patent number: 6920636
    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: Grant
    Filed: December 15, 1999
    Date of Patent: July 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
  • 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
  • Patent number: 6862595
    Abstract: A method and apparatus for implementing a shared message queue using a list structure. A put list is defined comprising a sequence of list entries, each of which corresponds to a message in the queue and has an associated list entry key. Each list entry key corresponding to an uncommitted message falls within an uncommitted key range defining an uncommitted portion of the put list, while each list entry key corresponding to a committed message falls within a committed key range defining a committed portion of the put list. To write a message to the queue, a list entry is added to the put list having a list entry key within the uncommitted key range.
    Type: Grant
    Filed: October 2, 2000
    Date of Patent: March 1, 2005
    Assignee: International Business Machines Corporation
    Inventors: David A. Elko, Richard Dievendorff, Dermot J. Flaherty, Jeffrey M. Nick, David H. Surman, James H. Warnes, Douglas W. Westcott
  • Publication number: 20040002972
    Abstract: The present invention relates to a subscription modeling system and methodology. A query processor receives subscription query and subscriber information and transforms the query and subscriber information into data. An index component propagates at least one database with the transformed data; and a matching component that associates the transformed data with event data to generate a database of notification data that can be delivered to subscribers. The invention provides for abstracting subscription and subscriber information (as well as event information if desired) to high-level classes (e.g., data fields)—thus the invention provides for modeling such notification related information as data. Subscription applications can thus be developed at high levels wherein complex subscription queries and subscriber information can be defined as data fields for example. Databases in accordance with the data fields can be propagated with subscription/subscriber specific information.
    Type: Application
    Filed: June 26, 2002
    Publication date: January 1, 2004
    Inventors: Shyamalan Pather, Praveen Seshadri, Phil Garrett, Robert F. Blanch, Holly Knight, Richard Dievendorff, Vincent H. Curley
  • Publication number: 20040002988
    Abstract: The present invention relates to a system and methodology for modeling subscription information and/or subscriber information as data. An interface provides for developers of subscription applications to enter subscription queries and subscriber information. The interface includes an application definition file (ADF) by which the developers can specify subscription application specific information; and an execution engine that processes the ADF by reading contents thereof and building application specific databases from schema information corresponding to the processed ADF.
    Type: Application
    Filed: June 26, 2002
    Publication date: January 1, 2004
    Inventors: Praveen Seshadri, Phil Garrett, Prakash Sundaresan, Robert F. Blanch, Holly Knight, Richard Dievendorff
  • Publication number: 20040002958
    Abstract: The present invention relates to a notification system architecture for hosting subscription applications. The architecture models applications as set oriented data concept to achieve matching efficiency and employs a transactional database as a queue to provide reliable services. Additionally, the architecture consists of distinct components such as an event provider, notification engine, and distributor that are able to be coupled/decoupled and replicated as necessary to enable system scalability.
    Type: Application
    Filed: June 26, 2002
    Publication date: January 1, 2004
    Inventors: Praveen Seshadri, Phil Garrett, Robert F. Blanch, Shyamalan Pather, Holly Knight, Richard Dievendorff, Vincent H. Curley
  • Patent number: 6425017
    Abstract: An object runtime architecture allows method invocations to be made on either a synchronous, real-time basis or a queued basis using the normal call semantics of an object model. The object runtime architecture provides a proxy of an object with a method invocation recorder for receiving method calls of a client on the object, and marshaling the method calls into a message for sending to a queue associated with the object. The object runtime architecture further provides a listener for dispatching the message from the queue to a player which uses a stub to unmarshal the message in order to issue the method calls to the object. The object runtime architecture thus decouples the client and objects lifetimes and availability, without requiring explicit programming of the client and object to perform message queuing. Accordingly, with no modification of the object's interface structure or code, the same object can be used in either a real-time or queued environment.
    Type: Grant
    Filed: August 17, 1998
    Date of Patent: July 23, 2002
    Assignee: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
  • Patent number: 5546582
    Abstract: An extension of the two phase commit protocol allows distributed participation among physically distant agents independent of the communications mechanism being used in a data processing system. An extra stage of processing is added to the two phase commit protocol called End Phase One Processing (EPOP) which enables a distribution of the coordinator function across systems using any communication mechanism. EPOP is an extra stage in which a participant can receive control. In this extra stage, a participant flows two phase commit protocol sequences to distributed systems. The communication mechanism is used in such a way that it becomes part of a distributed coordinator. The coordinator itself does not need knowledge of other systems. The extra stage of processing is enabled by an operating system service called Enable End Phase One Exit Processing (EEPOEP). EEPOEP causes an extension of two phase commit protocol to be used on the issuing system.
    Type: Grant
    Filed: February 2, 1995
    Date of Patent: August 13, 1996
    Assignee: International Business Machines Corporation
    Inventors: Roger L. Brockmeyer, Richard Dievendorff, Daniel E. House, Earle H. Jenner, Margaret K. LaBelle, Michael G. Mall, Stuart L. Silen
  • Patent number: 5465328
    Abstract: In transaction processing systems, it is known for resource-updating operations within a transaction to be backed out at the request of an application program following detection of error conditions during processing of the transaction. If the error condition is very likely to recur, it may be undesirable for the operations request to be presented to the application exactly as before. A transaction-oriented data processing system and a method of transaction-oriented data processing are provided in which operation requests or data packets may be marked to be excluded from the effects of application-requested backouts.
    Type: Grant
    Filed: January 14, 1994
    Date of Patent: November 7, 1995
    Assignee: International Business Machines Corporation
    Inventors: Richard Dievendorff, Chandrasekaran Mohan
  • Patent number: 5452430
    Abstract: A data processing system for the storage of persistent and non-persistent data in a queue, and a method for the storage of data which is required to survive a system failure (persistent data) and data which is not required to survive a system failure (non-persistent data) on a single queue, are disclosed. The method involves receiving persistent and non-persistent data to be stored in a queue, then marking the data in time sequence order, before storing the persistent data in a first set of data pages and the non-persistent data in a second set of data pages. Upon receiving a request for removal of data from the queue, both the first and second sets of pages are checked and the data is removed in time sequence order. A log is preferably created to enable recovery in the event of failure and restart of the queue. When receiving and removing persistent data to be stored in and to be removed from the queue, log entries are made of changes to the persistent data only.
    Type: Grant
    Filed: March 23, 1994
    Date of Patent: September 19, 1995
    Assignee: International Business Machines Corporation
    Inventors: Richard Dievendorff, Chandrasekaran Mohan