Patents by Inventor Richard D. Hill

Richard D. Hill 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: 20090199208
    Abstract: Embodiments described herein allow a service component author to write service components without having to handle incoming messages being received at any time. This may be facilitated by a message dispatch engine that dispatches messages from the incoming message queue only when the destination service component has indicated that it is ready to receive the message having that context. If the service component is not yet ready for the message, the message dispatch component may lock the message at least until the destination service component indicates that it is now ready to receive the message. Until that time, the message dispatch engine may ignore the locked message when finding messages to dispatch.
    Type: Application
    Filed: January 31, 2008
    Publication date: August 6, 2009
    Applicant: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Stephen J. Millet, Richard D. Hill, Nicholas Alexander Allen, John Anthony Taylor
  • Publication number: 20090132671
    Abstract: The present invention extends to methods, systems, and computer program products for maintaining message state at a cursor. A message consumer requests messages from a cursor. The cursor can maintain state information for the message consumers separately from a message log that stores messages. Any of a variety of message delivery assurances can be used when delivering a message to a message consumer.
    Type: Application
    Filed: November 3, 2008
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Publication number: 20090133039
    Abstract: The present invention extends to methods, systems, and computer program products for durable exactly once message delivery at scale. A message capture system uses a synchronous capture channel and transactions to provide durable exactly once message capture. Messages are sent from the message capture system to a message delivery system over a network using an at least once transfer protocol. The message delivery system implements a durable at most once messaging behavior, the combination of which results in durable exactly once transfer of messages from the message capture system to the message delivery system. The message delivery system uses a synchronous delivery channel and transactions to provide durable exactly once message delivery. Cursors maintaining message consumer state are collocated with message consumers, freeing up message log resources to process increased volumes of messages, such as, for example, in a queued or pub/sub environment.
    Type: Application
    Filed: September 29, 2008
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Publication number: 20090132868
    Abstract: The present invention extends to methods, systems, and computer program products for maintaining message state at a message log. Messages are accumulated at a message log in accordance with a message retention policy. Any of a variety of message capture assurances can be used when capturing a message from a message producer within a message log. A message becomes visible to message consumers after the outcome of writing the message is known (either failure or success). Messages are requested using (e.g., monotonically increasing) sequence numbers. Messages are also dropped from the message log in accordance with the message retention policy.
    Type: Application
    Filed: November 3, 2008
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramond Gurunath
  • Publication number: 20090133038
    Abstract: The present invention extends to methods, systems, and computer program products for configuring assurances within distributed messaging systems. A defined set of message log and cursor components are configurably activatable and deactivatable to compose a variety of different capture assurances, transfer assurances, and delivery assurances within a distributed messaging system. A composition of a capture assurance, a transfer assurance, and a delivery assurance can provide an end-to-end assurance for a messaging system. End-to-end assurances can include one of best effort, at-most-once, at-least-once, and exactly once and can include one of: durable or non-durable. Using a defined set of activatable and deactivatable message log and cursor components facilities more efficient transitions between desired assurances. In some embodiments, a composition of a capture assurance, a transfer assurance, and a delivery assurance provides durable exactly-once message delivery.
    Type: Application
    Filed: June 27, 2008
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Patent number: 7437711
    Abstract: Communication among agile objects and context-bound objects within object-oriented programming environments, including communication across contextual boundaries, is disclosed. In one embodiment, a reference to a second object within a second context is wrapped in a proxy wrapper. A first object within a first context calls the second object via the wrapped reference. No direct reference is held by the first object to the second object. Other embodiments relate to agile objects. Agile objects called by context-bound objects execute in the contexts of their callers. The context of a calling context-bound object becomes the context of an agile object for calling of the agile object by the calling context-bound object. Direct reference to the agile object by the context-bound object is thus permitted.
    Type: Grant
    Filed: August 4, 2003
    Date of Patent: October 14, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher W. Brumme, James M. Lyon, Michael J. Toutonghi, Satish R. Thatte, Gopal Krishna R. Kakivaya, Richard D. Hill, Jan S. Gray, Craig H. Wittenberg, Rebecca A. Norlander, Scott G. Robinson, Eric W. Johnson
  • Patent number: 7349384
    Abstract: Example embodiments provide for a binding mechanism between RM protocols and request-response transport protocols (e.g., HTTP) in a one-way message exchange pattern. The present invention leverages existing network characteristics of request-response transport protocols without reconfiguration or deployment of new infrastructure services. A request-response transport model is asymmetrical in nature and provides two data-flows; a request flow and a reply flow. When an initiator is not addressable and/or when communication requires a request-response transport, the present invention allows infrastructure and application messages to be sent on the request flow, while acknowledgments and other infrastructure messages may be sent back across the reply flow of the transport.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: March 25, 2008
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Stefan R. Batres, Shy Cohen, Michael T. Dice, Rodney T. Limprecht
  • Publication number: 20070177590
    Abstract: Embodiments described herein provide for a message contract programming model, which is a mechanism for service developers to control the processing, layout, and creation of messages (e.g., SOAP) without losing the benefits of a strongly-typed data contract model. Such programming model is based on attributes, which can be used to define the action or operations, headers, and body parts components of a message. These attributes may be used on a type annotated with message contract or on a service operation to control the manner in which the message (e.g., SOAP) is constructed from a service process, process parameters, and/or return values. The use of the message contract in conjunction with a message formatter as defined herein provides for many advantageous features and embodiments described herein.
    Type: Application
    Filed: August 31, 2006
    Publication date: August 2, 2007
    Applicant: Microsoft Corporation
    Inventors: Michael S. Vernal, Alex DeJarnatt, Donald F. Box, Douglas M. Purdy, Jesus Ruiz-Scougall, Eugene Osovetsky, Richard D. Hill, Stephen J. Millet, Yasser Shohoud, Stephen T. Swartz, Stefan H. Pharies
  • Publication number: 20040205781
    Abstract: A single programming model is provided for accessing a plurality of distinct message transports while developing one or more applications for message delivery between two endpoints. The programming model allows for independently configurable assurances and features for transporting the messages. The configurable assurances may be selected from at least once delivery, at most once message delivery, in order message delivery, and message time to live. The independently chosen features may include a session state storage, an extension of time to live, and transacted message buffering.
    Type: Application
    Filed: March 27, 2003
    Publication date: October 14, 2004
    Inventors: Richard D. Hill, Rodney T. Limprecht, Hany Essam Ramadan, David E. Langworthy, Shy Cohen
  • Publication number: 20040205124
    Abstract: Methods, systems, and computer program products that provide for a runtime messaging infrastructure, which abstracts send and receive operations for exchanging messages with partner endpoint. The messaging infrastructure improves availability and scalability of a message application by improving on the availability and scalability of the underlying message transports. In particular, availability and scalability are improved by linking the message application at runtime with any number of the message transports, without the message application specifying a transport at development time. The message infrastructure receives instructions from the message application specifying end-to-end delivery assurances. The infrastructure uses transports in order to fulfill the specified delivery assurance, and creates a link between the message application and transports for use in exchanging messages.
    Type: Application
    Filed: March 27, 2003
    Publication date: October 14, 2004
    Inventors: Rodney T. Limprecht, Richard D. Hill, David E. Langworthy, Hany Essam Ramadan, Shy Cohen
  • Patent number: 6749109
    Abstract: A system for protecting cluster mailboxes such as neighborhood delivery and collection box units (NDCBU's) and Cluster Box Units (CBU's)from vandalism or theft of the mail. A custom-fit protective gate is built and installed around the mail carrier access doors of a cluster mailbox. The protective gate is built to aesthetically blend in with the neighborhood environment and may include decorative accoutrements such as decorative screening. Further, the system provides a means to install USPTO locks thereby providing uniform access by mail carriers. Even further, the system provides for double nesting doors to access a flat wall unit collection box, such that users may have secured access to individual mailboxes and a mail person may have secured master access to all mailboxes.
    Type: Grant
    Filed: January 7, 2003
    Date of Patent: June 15, 2004
    Inventor: Richard D. Hill
  • Publication number: 20040068732
    Abstract: Communication among agile objects and context-bound objects within object-oriented programming environments, including communication across contextual boundaries, is disclosed. In one embodiment, a reference to a second object within a second context is wrapped in a proxy wrapper. A first object within a first context calls the second object via the wrapped reference. No direct reference is held by the first object to the second object. Other embodiments relate to agile objects. Agile objects called by context-bound objects execute in the contexts of their callers. The context of a calling context-bound object becomes the context of an agile object for calling of the agile object by the calling context-bound object. Direct reference to the agile object by the context-bound object is thus permitted.
    Type: Application
    Filed: August 4, 2003
    Publication date: April 8, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher W. Brumme, James M. Lyon, Michael J. Toutonghi, Satish R. Thatte, Gopal Krishna R. Kakivaya, Richard D. Hill, Jans S. Gray, Craig H. Wittenberg, Rebecca A. Norlander, Scott G. Robinson, Eric W. Johnson
  • Patent number: 6606711
    Abstract: An object-based security framework provides for intra-process security boundaries. An application developer can define security settings declaratively at the object, interface, and method level using a graphical interface. When the application is deployed, the settings are placed into a central store and can be modified at a later time. At runtime, logic outside the application objects enforces the security boundaries, relieving the developer of having to incorporate security logic into the application. Changes to the security can be implemented by changing the settings without having to change the application objects. In addition to checking for identity, the security framework supports roles and enforces specified authentication levels. The integrity of an application's security scheme is retained when the application is combined with another application in the framework.
    Type: Grant
    Filed: October 29, 2002
    Date of Patent: August 12, 2003
    Assignee: Microsoft Corporation
    Inventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
  • Publication number: 20030127504
    Abstract: A system for protecting cluster mailboxes such as neighborhood delivery and collection box units (NDCBU's) and Cluster Box Units (CBU's)from vandalism or theft of the mail. A custom-fit protective gate is built and installed around the mail carrier access doors of a cluster mailbox. The protective gate is built to aesthetically blend in with the neighborhood environment and may include decorative accoutrements such as decorative screening. Further, the system provides a means to install USPTO locks thereby providing uniform access by mail carriers. Even further, the system provides for double nesting doors to access a flat wall unit collection box, such that users may have secured access to individual mailboxes and a mail person may have secured master access to all mailboxes.
    Type: Application
    Filed: January 7, 2003
    Publication date: July 10, 2003
    Inventor: Richard D. Hill
  • Publication number: 20030115487
    Abstract: An object-based security framework provides for intra-process security boundaries. An application developer can define security settings declaratively at the object, interface, and method level using a graphical interface. When the application is deployed, the settings are placed into a central store and can be modified at a later time. At runtime, logic outside the application objects enforces the security boundaries, relieving the developer of having to incorporate security logic into the application. Changes to the security can be implemented by changing the settings without having to change the application objects. In addition to checking for identity, the security framework supports roles and enforces specified authentication levels. The integrity of an application's security scheme is retained when the application is combined with another application in the framework.
    Type: Application
    Filed: October 29, 2002
    Publication date: June 19, 2003
    Applicant: Microsoft Corporation
    Inventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
  • Patent number: 6487665
    Abstract: An object-based security framework provides for intra-process security boundaries. An application developer can define security settings declaratively at the object, interface, and method level using a graphical interface. When the application is deployed, the settings are placed into a central store and can be modified at a later time. At runtime, logic outside the application objects enforces the security boundaries, relieving the developer of having to incorporate security logic into the application. Changes to the security can be implemented by changing the settings without having to change the application objects. In addition to checking for identity, the security framework supports roles and enforces specified authentication levels. The integrity of an application's security scheme is retained when the application is combined with another application in the framework.
    Type: Grant
    Filed: November 30, 1998
    Date of Patent: November 26, 2002
    Assignee: Microsoft Corporation
    Inventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
  • Patent number: 6442620
    Abstract: An object system provides composable object execution environment extensions with an object model that defines a framework with contexts, policies, policy makers and activators that act as object creation-time, reference creation-time and call-time event sinks to provide processing of effects specific to the environment extensions. At object creation time, an object instantiation service of the object system delegates to the activators to establish a context in which the object is created. The context contains context properties that represent particular of the composable environment extensions in which the object is to execute. The context properties also can act as policy makers that contribute policies to an optimized policy set for references that cross context boundaries. The policies in such optimized sets are issued policy events on calls across the context boundary to process effects of switching between the environment extensions of the two contexts.
    Type: Grant
    Filed: August 17, 1998
    Date of Patent: August 27, 2002
    Assignee: Microsoft Corporation
    Inventors: Satish R. Thatte, Richard D. Hill, Jan S. Gray, Gopal Krishna R. Kakivaya, Craig H. Wittenberg, James M. Lyon, Rebecca A. Norlander, Eric W. Johnson, Scott G. Robinson
  • Patent number: 6208952
    Abstract: A method and system for delayed registration of a remote protocol for communicating between a client computer system and a server computer system. The server computer system has a communications process that registers a plurality of protocols. When the client process needs to communicate with the server process, it sends a request to the communications process along with an indication of the protocols that it supports. The communications process selects a protocol that is supported by both the client computer system and the server computer system and directs the server process to register that protocol. The communication process provides the server endpoint for that protocol to the client process which can then communicate directly with the server process.
    Type: Grant
    Filed: October 24, 1996
    Date of Patent: March 27, 2001
    Assignee: Microsoft Corporation
    Inventors: Mario C. Goertzel, Richard D. Hill, Alexander A. Mitchell, Bharat Shah
  • Patent number: 6141696
    Abstract: A method and system for preventing incorrect information from corrupting server object information maintained by a client machine. A DCOM client machine is provided with object reference information for accessing remote objects. DCOM unmarshals the information into server object information, including an object identifier and string bindings of a remote resolver through which the client machine may contact the remote server to obtain string bindings for that remote object. Each resolver string bindings received by a client machine are compared against known resolver string bindings and each unique permutation of string bindings is associated with a unique machine identifier locally generated therefor. Each object identifier is paired with its corresponding unique machine identifier so that all references to a remote object include the identity of the machine on which the object was created.
    Type: Grant
    Filed: January 29, 1997
    Date of Patent: October 31, 2000
    Assignee: Microsoft Corporation
    Inventors: Mario C. Goertzel, Alexander A. Mitchell, Richard D. Hill
  • Patent number: 5951653
    Abstract: A computer-based method and system for accessing objects of different thread types in a single process. The system provides single-threaded apartments (STAs) for loading apartment-threaded objects and a multi-threaded apartment (MTA) for loading free-threaded objects. Each STA has a single thread, and the MTA has multiple threads. When an STA thread requests to access a free-threaded object, the system creates an MTA thread and requests the MTA thread to instantiate the free-threaded object. The STA thread then receives a marshalled pointer to the free-threaded object and unmarshals the received pointer. The STA thread then accesses the free-threaded object using the unmarshalled pointer so that the MTA thread accesses the free-threaded object on behalf of the STA thread. When an MTA thread requests access to an apartment-threaded object, the system creates an STA thread and requests the STA thread to instantiate the apartment-threaded object.
    Type: Grant
    Filed: January 29, 1997
    Date of Patent: September 14, 1999
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Alexander A. Mitchell