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: 20090199208Abstract: 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: ApplicationFiled: January 31, 2008Publication date: August 6, 2009Applicant: Microsoft CorporationInventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Stephen J. Millet, Richard D. Hill, Nicholas Alexander Allen, John Anthony Taylor
-
Publication number: 20090132671Abstract: 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: ApplicationFiled: November 3, 2008Publication date: May 21, 2009Applicant: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Publication number: 20090133039Abstract: 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: ApplicationFiled: September 29, 2008Publication date: May 21, 2009Applicant: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Publication number: 20090132868Abstract: 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: ApplicationFiled: November 3, 2008Publication date: May 21, 2009Applicant: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramond Gurunath
-
Publication number: 20090133038Abstract: 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: ApplicationFiled: June 27, 2008Publication date: May 21, 2009Applicant: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Patent number: 7437711Abstract: 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: GrantFiled: August 4, 2003Date of Patent: October 14, 2008Assignee: Microsoft CorporationInventors: 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: 7349384Abstract: 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: GrantFiled: December 10, 2004Date of Patent: March 25, 2008Assignee: Microsoft CorporationInventors: Richard D. Hill, Stefan R. Batres, Shy Cohen, Michael T. Dice, Rodney T. Limprecht
-
Publication number: 20070177590Abstract: 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: ApplicationFiled: August 31, 2006Publication date: August 2, 2007Applicant: Microsoft CorporationInventors: 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: 20040205781Abstract: 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: ApplicationFiled: March 27, 2003Publication date: October 14, 2004Inventors: Richard D. Hill, Rodney T. Limprecht, Hany Essam Ramadan, David E. Langworthy, Shy Cohen
-
Publication number: 20040205124Abstract: 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: ApplicationFiled: March 27, 2003Publication date: October 14, 2004Inventors: Rodney T. Limprecht, Richard D. Hill, David E. Langworthy, Hany Essam Ramadan, Shy Cohen
-
Patent number: 6749109Abstract: 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: GrantFiled: January 7, 2003Date of Patent: June 15, 2004Inventor: Richard D. Hill
-
Publication number: 20040068732Abstract: 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: ApplicationFiled: August 4, 2003Publication date: April 8, 2004Applicant: Microsoft CorporationInventors: 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: 6606711Abstract: 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: GrantFiled: October 29, 2002Date of Patent: August 12, 2003Assignee: Microsoft CorporationInventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
-
Publication number: 20030127504Abstract: 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: ApplicationFiled: January 7, 2003Publication date: July 10, 2003Inventor: Richard D. Hill
-
Publication number: 20030115487Abstract: 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: ApplicationFiled: October 29, 2002Publication date: June 19, 2003Applicant: Microsoft CorporationInventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
-
Patent number: 6487665Abstract: 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: GrantFiled: November 30, 1998Date of Patent: November 26, 2002Assignee: Microsoft CorporationInventors: Anthony D. Andrews, Satish R. Thatte, Richard D. Hill, Rebecca A. Norlander, Alexander A. Armanasu
-
Patent number: 6442620Abstract: 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: GrantFiled: August 17, 1998Date of Patent: August 27, 2002Assignee: Microsoft CorporationInventors: 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: 6208952Abstract: 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: GrantFiled: October 24, 1996Date of Patent: March 27, 2001Assignee: Microsoft CorporationInventors: Mario C. Goertzel, Richard D. Hill, Alexander A. Mitchell, Bharat Shah
-
Patent number: 6141696Abstract: 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: GrantFiled: January 29, 1997Date of Patent: October 31, 2000Assignee: Microsoft CorporationInventors: Mario C. Goertzel, Alexander A. Mitchell, Richard D. Hill
-
Patent number: 5951653Abstract: 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: GrantFiled: January 29, 1997Date of Patent: September 14, 1999Assignee: Microsoft CorporationInventors: Richard D. Hill, Alexander A. Mitchell