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: 11582522Abstract: A system can be configured to receive entertainment content requested by a user and identify content segments and content features from the entertainment content. The content segments can be utilized to identify portions of the entertainment content for enrichment and/or enhancement by the system. The content features can be utilized to associate the entertainment content and the content segments with supplemental content that includes or is associated with the content features. The content features can indicate genres, scene classifications, significant figures credited with creating the entertainment content, and other points of interests for users interested in the entertainment content. The associations between the entertainment content and the supplemental content can enable the system to engage the users by presenting the supplemental content determined to match interests of the users.Type: GrantFiled: May 27, 2021Date of Patent: February 14, 2023Assignee: Amazon Technologies, Inc.Inventors: Hooman Mahyar, Shiva Krishnamurthy, Steven David Prinz, Craig Critchley, Arjun Cholkar, Andrew James McVeigh
-
Patent number: 8549180Abstract: 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: GrantFiled: June 22, 2010Date of Patent: October 1, 2013Assignee: Microsoft CorporationInventors: Craig A. Critchley, David A. Wortendyke, Michael J. Marucheck, Richard L. Hasha
-
Patent number: 8271454Abstract: 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: GrantFiled: December 18, 2007Date of Patent: September 18, 2012Assignee: Microsoft CorporationInventors: John D. Doty, Craig A. Critchley
-
Patent number: 8214847Abstract: 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: GrantFiled: June 27, 2008Date of Patent: July 3, 2012Assignee: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Patent number: 8200836Abstract: 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: GrantFiled: September 29, 2008Date of Patent: June 12, 2012Assignee: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Patent number: 8001075Abstract: 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: GrantFiled: June 1, 2007Date of Patent: August 16, 2011Assignee: Microsoft CorporationInventors: John D Doty, Craig A Critchley
-
Patent number: 7949787Abstract: 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: GrantFiled: March 15, 2004Date of Patent: May 24, 2011Assignee: Microsoft CorporationInventors: 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: 7945631Abstract: 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: GrantFiled: November 3, 2008Date of Patent: May 17, 2011Assignee: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Patent number: 7945819Abstract: 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: GrantFiled: November 3, 2008Date of Patent: May 17, 2011Assignee: Microsoft CorporationInventors: Gueorgui Chkodrov, Richard D. Hill, Craig A. Critchley, Krishnan Srinivasan, Tihomir Tarnavski, Mitchell G. Morris, Pramod Gurunath
-
Patent number: 7921216Abstract: 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: GrantFiled: February 1, 2005Date of Patent: April 5, 2011Assignee: Microsoft CorporationInventors: 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: 20100262717Abstract: 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: ApplicationFiled: June 22, 2010Publication date: October 14, 2010Applicant: Microsoft CorporationInventors: Craig A. Critchley, David A. Wortendyke, Michael J. Marucheck, Richard L. Hasha
-
Patent number: 7624308Abstract: 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: GrantFiled: March 28, 2005Date of Patent: November 24, 2009Assignee: Microsoft CorporationInventors: Craig A. Critchley, Richard D. Hill, Krishnan Srinivasan, Uday S. Hedge, Alexander Dadiomov
-
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
-
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: 20080301200Abstract: 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: ApplicationFiled: June 1, 2007Publication date: December 4, 2008Applicant: Microsoft CorporationInventors: John D. Doty, Craig A. Critchley
-
Patent number: 7421501Abstract: 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: GrantFiled: February 4, 2005Date of Patent: September 2, 2008Assignee: Microsoft CorporationInventors: Craig A. Critchley, Richard Dievendorff, Krishnan Srinivasan, Richard Hill, Uday Hegde
-
Patent number: 7254579Abstract: 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: GrantFiled: March 15, 2004Date of Patent: August 7, 2007Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, Geary L. Eppley, Jeffrey C. Schlimmer, David Wortendyke, Bradford H. Lovering, Craig A Critchley
-
Publication number: 20060218238Abstract: 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: ApplicationFiled: March 28, 2005Publication date: September 28, 2006Applicant: Microsoft CorporationInventors: Craig Critchley, Richard Hill, Krishnan Srinivasan, Uday Hedge, Alexander Dadiomov