Patents by Inventor Krishnan Srinivasan
Krishnan Srinivasan 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: 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
-
Publication number: 20100042759Abstract: Various methods and apparatus are described for a target with multiple channels. Address decoding logic is configured to implement a distribution of requests from individual burst requests to two or more memory channels making up an aggregate target. The address decoding logic implements a channel-selection hash function to allow requests from each individual burst request to be distributed amongst the two or more channels in a non-linear sequential pattern in channel round order that make up the aggregate target.Type: ApplicationFiled: October 5, 2009Publication date: February 18, 2010Applicant: SONICS, INC.Inventors: Krishnan Srinivasan, Drew E. Wingard, Chien-Chun Chou
-
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
-
Patent number: 7613830Abstract: The present invention extends to methods, systems, and computer program products for reliably and securely transferring queued application messages. Application messages are (e.g.,. binary or text) encoded and then encapsulated in transfer messages, enqueue messages, and dequeue responses such that composable protocol elements used in application messages can be reused in the transfer messages, enqueue messages, and dequeue responses. Transfer message headers are encoded and then encapsulated along with encoded application messages such that composable protocol elements used in transfer headers and application messages can be reused in the store and forward messages. Application messages, transfer messages, enqueue messages, dequeue responses, and store and forward messages can all be configured in accordance with the same messaging protocol, such as, for example, Simple Object Access Protocol.Type: GrantFiled: December 10, 2004Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
-
Patent number: 7613831Abstract: The present invention extends to methods, systems, and computer program products for reliably and securely transferring queued application messages. Application messages are (e.g.,. binary or text) encoded and then encapsulated in transfer messages, enqueue messages, and dequeue responses such that composable protocol elements used in application messages can be reused in the transfer messages, enqueue messages, and dequeue responses. Transfer message headers are encoded and then encapsulated along with encoded application messages such that composable protocol elements used in transfer headers and application messages can be reused in the store and forward messages. Application messages, transfer messages, enqueue messages, dequeue responses, and store and forward messages can all be configured in accordance with the same messaging protocol, such as, for example, Simple Object Access Protocol.Type: GrantFiled: June 23, 2005Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
-
Patent number: 7613832Abstract: The present invention extends to methods, systems, and computer program products for reliably and securely transferring queued application messages. Application messages are (e.g., binary or text) encoded and then encapsulated in transfer messages, enqueue messages, and dequeue responses such that composable protocol elements used in application messages can be reused in the transfer messages, enqueue messages, and dequeue responses. Transfer message headers are encoded and then encapsulated along with encoded application messages such that composable protocol elements used in transfer headers and application messages can be reused in the store and forward messages. Application messages, transfer messages, enqueue messages, dequeue responses, and store and forward messages can all be configured in accordance with the same messaging protocol, such as, for example, Simple Object Access Protocol.Type: GrantFiled: June 23, 2005Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
-
Publication number: 20090254525Abstract: Various methods and apparatuses are described that provide instrumentation and analysis of an electronic design having one or more bus interconnects. A relational database may have defined tables designed for interconnect analysis of transactions occurring between initiator intellectual property (IP) cores and target IP cores of the electronic design. A query tool may be configured to format input data to be stored in the defined tables, and have application programming interfaces to retrieve data from the defined tables based on performing a query. The query tool executes an algorithm based on the query to provide the interconnect analysis.Type: ApplicationFiled: April 7, 2008Publication date: October 8, 2009Inventors: Krishnan Srinivasan, Chien-Chun Chou, Pascal Chauvet
-
Publication number: 20090235020Abstract: Various methods and apparatus are described for a memory scheduler. The memory scheduler couples to a target memory core that includes a bank of memories. The memory scheduler contains two or more configurable address tiling functions to transform an incoming address of data requested in a request to the target memory core to determine what physical addresses in the bank of memories will service the first request. The two or more configurable address tiling functions are programmable by a user to create two or more distinctly different memory regions in the target memory core. Each memory region has its own distinct tiling function based on configuration parameters 1) selected by the user and 2) stored in tiling registers in the memory scheduler. The multiple tiling functions are configured to operate concurrently in the integrated circuit.Type: ApplicationFiled: March 12, 2009Publication date: September 17, 2009Applicant: SONICS, INC.Inventors: Krishnan Srinivasan, Drew E. Wingard, Vida Vakilotojar, Chien-Chun Chou
-
Publication number: 20090150857Abstract: Various methods and apparatuses are described that provide instrumentation and analysis of an electronic design. A method for providing performance instrumentation and analysis of the electronic design includes defining a first and second set of intended software instrumentation test points and an associated first and second set of performance analysis units. The method further includes instrumenting the first and second sets of software instrumentation test points and the associated first and second sets of performance analysis units to a first model and a second model, respectively. The method further includes creating a first and a second set of software instances associated with the first and second sets of intended software instrumentation test points and associated sets of performance analysis units during run time of a first simulation and a second simulation of the electronic design associated with the first model and second model, respectively.Type: ApplicationFiled: December 7, 2007Publication date: June 11, 2009Inventors: KRISHNAN SRINIVASAN, Chien-Chun Chou, Drew Wingard
-
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
-
Patent number: 7512957Abstract: 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: GrantFiled: December 3, 2004Date of Patent: March 31, 2009Assignee: Microsoft CorporationInventors: 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: 7467388Abstract: Allowing queue messages to be pulled by one or more applications. A method may be practiced, for example, in a computing environment including applications configured to receive messages from queues. The method includes correlating applications to queues by correlating queue names to application locations. A queue is monitored to discover new messages in the queue. The method further includes receiving a notification that a new message has been added to the queue. An indication is provided to an activation service to allow the activation service to activate an application correlated to the queue and to allow the application to pull the new message from the queue.Type: GrantFiled: November 22, 2005Date of Patent: December 16, 2008Assignee: Microsoft CorporationInventors: David O. Driver, Geoffrey M. Kizer, Krishnan Srinivasan, Uday S. Hedge
-
Publication number: 20080295058Abstract: A high level intermediate representation of a binary is generated. Circuit nodes from the high level intermediate representation are built, wherein a circuit node represents an operation in the high level intermediate representation. The circuit nodes are connecting using a flow analysis of the binary to build a circuit that represents the binary.Type: ApplicationFiled: May 24, 2007Publication date: November 27, 2008Applicant: Microsoft CorporationInventors: Hari Krishnan Srinivasan, Perraju Bendapudi
-
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
-
Publication number: 20070118841Abstract: Allowing queue messages to be pulled by one or more applications. A method may be practiced, for example, in a computing environment including applications configured to receive messages from queues. The method includes correlating applications to queues by correlating queue names to application locations. A queue is monitored to discover new messages in the queue. The method further includes receiving a notification that a new message has been added to the queue. An indication is provided to an activation service to allow the activation service to activate an application correlated to the queue and to allow the application to pull the new message from the queue.Type: ApplicationFiled: November 22, 2005Publication date: May 24, 2007Inventors: David Driver, Geoffrey Kizer, Krishnan Srinivasan, Uday Hedge
-
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