Patents by Inventor Craig Critchley

Craig Critchley 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: 8549180
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing access to federation infrastructure-based resources. Various different layers within a federation infrastructure can signal location change events indicating the hosting location and/or access location for a resource is to be optimized. In response to a location change event, redirection information for accessing the resource is updated within the federation infrastructure. The redirection information is used to redirect resource access requests to appropriately optimized locations within the federation infrastructure. Redirecting resource access requests reduces communication within the federation infrastructure.
    Type: Grant
    Filed: June 22, 2010
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Craig A. Critchley, David A. Wortendyke, Michael J. Marucheck, Richard L. Hasha
  • Patent number: 8271454
    Abstract: The setting up of a circular log implementation to be able to detect amnesia in a circular log, and to the determination of whether or not amnesia has occurred in such a circular log. Upon detecting a checkpoint trigger, information is preserved sufficient to detect whether or not the removed records ever existed in the circular log. If a request for information from a record were subsequently to be received by the circular log implementation, and if the record was not actually in the circular log, the preserved information could then be consulted to see if it indicates that the record had once existed in the circular log. If the information indicates that the record had once existed in the circular log, then amnesia has not occurred. If the information does not indicate that the record had once existed in the circular log, then amnesia has occurred. Accordingly, amnesia detection is made possible even in a complicated circular log implementation.
    Type: Grant
    Filed: December 18, 2007
    Date of Patent: September 18, 2012
    Assignee: Microsoft Corporation
    Inventors: John D. Doty, Craig A. Critchley
  • Patent number: 8214847
    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: Grant
    Filed: June 27, 2008
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Patent number: 8200836
    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: Grant
    Filed: September 29, 2008
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Patent number: 8001075
    Abstract: Log file amnesia detection is accomplished by associating a unique identifier with each record in a log file, where each record receives a unique log sequence number. Multiple time intervals are associated with the log file with different events triggering the beginning of a new time interval. The log file implementation marks the beginnings of these multiple time intervals with a unique identifier. Every time an event occurs that triggers a new time interval a new unique identifier is generated. This unique identifier will be associated with the records in the log file that are created thereafter until the next unique identifier gets generated, marking the beginning of a next time interval. Log file amnesia can be identified when a log client requests information about a record and then comparing the unique identifier and log sequence number of the record with all records in the log file.
    Type: Grant
    Filed: June 1, 2007
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventors: John D Doty, Craig A Critchley
  • Patent number: 7949787
    Abstract: Systems and methods for open content model Web service messaging in a networked computing environment are described. In one aspect, a transport neutral message is generated that includes message recipient, endpoint addressing information, and one or more reference properties. The reference properties include selectively opaque message context. The transport neutral message is bound to a transport protocol for communication to the message recipient. At least a portion of the selectively opaque message context is not directed to the message recipient.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: May 24, 2011
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Christopher G. Kaler, David E. Langworthy, Steven E. Lucco, John Shewchuk, Luis Felipe Cabrera, Craig A Critchley, Geary L. Eppley, Bradford H. Lovering, Jeffrey C. Schlimmer, David Wortendyke, Henrik F. Nielsen
  • Patent number: 7945631
    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: Grant
    Filed: November 3, 2008
    Date of Patent: May 17, 2011
    Assignee: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Patent number: 7945819
    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: Grant
    Filed: November 3, 2008
    Date of Patent: May 17, 2011
    Assignee: Microsoft Corporation
    Inventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
  • Patent number: 7921216
    Abstract: The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presented with and selects binding elements that will ultimately be used to create a runtime communication channel for transporting a message between a client and service endpoint. After receiving the user input, metadata, a channel factory and listener factory are created. The metadata describes binding elements and provides an abstract representation of a protocol stack that implements communication aspects at runtime. The channel factory is configured to use the collection of metadata at runtime to generate the runtime communication channel. Further, the listener factory is configured to accept the runtime communication channel for de-multiplexing the communication aspects in order to process the message at a service endpoint. The present invention also provides for groupings of binding elements and standardized binding objects organized based on industry need.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: April 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Craig A. Critchley, David A. Wortendyke, Elliot L. Waingold, Eric K. Zinda, Erik B. Christensen, Giovanni M. Della-Libera, Kenneth D. Wolf, Michael S. Vernal, Shy Cohen, Stefan H. Pharies, Stephen J. Millet, Stephen T. Swartz, Tomasz Janczuk, Uday S. Hegde, Yaniv Pessach
  • Publication number: 20100262717
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing access to federation infrastructure-based resources. Various different layers within a federation infrastructure can signal location change events indicating the hosting location and/or access location for a resource is to be optimized. In response to a location change event, redirection information for accessing the resource is updated within the federation infrastructure. The redirection information is used to redirect resource access requests to appropriately optimized locations within the federation infrastructure. Redirecting resource access requests reduces communication within the federation infrastructure.
    Type: Application
    Filed: June 22, 2010
    Publication date: October 14, 2010
    Applicant: Microsoft Corporation
    Inventors: Craig A. Critchley, David A. Wortendyke, Michael J. Marucheck, Richard L. Hasha
  • Patent number: 7624308
    Abstract: The present invention extends to methods, systems, and computer program products for failed message error recovery using application specific error queues. An application message, a reference to a receive queue that corresponds to a receiving application, and a reference to an application specific error queue specific to a sending application are received from the sending application. The application message is enqueued in a transmission queue. Transfer of the application message to the receive queue is attempted. It is detected that the application message was not delivered to the receiving application due to an error. The application message is moved from the transmission queue to the application specific error queue. The application message and appropriate error information is returned from the application specific error queue to the sending application.
    Type: Grant
    Filed: March 28, 2005
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Craig A. Critchley, Richard D. Hill, Krishnan Srinivasan, Uday S. Hedge, Alexander Dadiomov
  • 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: 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
  • 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: 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: 20080301200
    Abstract: Log file amnesia detection is accomplished by associating a unique identifier with each record in a log file, where each record receives a unique log sequence number. Multiple time intervals are associated with the log file with different events triggering the beginning of a new time interval. The log file implementation marks the beginnings of these multiple time intervals with a unique identifier. Every time an event occurs that triggers a new time interval a new unique identifier is generated. This unique identifier will be associated with the records in the log file that are created thereafter until the next unique identifier gets generated, marking the beginning of a next time interval. Log file amnesia can be identified when a log client requests information about a record and then comparing the unique identifier and log sequence number of the record with all records in the log file.
    Type: Application
    Filed: June 1, 2007
    Publication date: December 4, 2008
    Applicant: Microsoft Corporation
    Inventors: John D. Doty, Craig A. Critchley
  • 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
  • Patent number: 7254579
    Abstract: Systems and methods for using endpoint references in a publish-subscribe system are described. In one aspect, an endpoint reference is created by a component of the pub-sub system. The endpoint reference includes an endpoint address and one or more contexts. Each context is directed to a respective component of the pub-sub system. Each context is transparent to the respective component, and selectively opaque to all other pub-sub system components.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: August 7, 2007
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, Geary L. Eppley, Jeffrey C. Schlimmer, David Wortendyke, Bradford H. Lovering, Craig A Critchley
  • Publication number: 20060218238
    Abstract: The present invention extends to methods, systems, and computer program products for failed message error recovery using application specific error queues. An application message, a reference to a receive queue that corresponds to a receiving application, and a reference to an application specific error queue specific to a sending application are received from the sending application. The application message is enqueued in a transmission queue. Transfer of the application message to the receive queue is attempted. It is detected that the application message was not delivered to the receiving application due to an error. The application message is moved from the transmission queue to the application specific error queue. The application message and appropriate error information is returned from the application specific error queue to the sending application.
    Type: Application
    Filed: March 28, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Craig Critchley, Richard Hill, Krishnan Srinivasan, Uday Hedge, Alexander Dadiomov
  • 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