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: 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
  • Publication number: 20100042759
    Abstract: 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: Application
    Filed: October 5, 2009
    Publication date: February 18, 2010
    Applicant: SONICS, INC.
    Inventors: Krishnan Srinivasan, Drew E. Wingard, Chien-Chun Chou
  • 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
  • Patent number: 7613830
    Abstract: 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: Grant
    Filed: December 10, 2004
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
  • Patent number: 7613831
    Abstract: 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: Grant
    Filed: June 23, 2005
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
  • Patent number: 7613832
    Abstract: 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: Grant
    Filed: June 23, 2005
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Krishnan Srinivasan, Craig Andrew Critchley, Uday Shanker Hegde, Alan S. Geller, David Owen Driver, Richard Douglas Hill, Rodney Thomas Limprecht
  • Publication number: 20090254525
    Abstract: 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: Application
    Filed: April 7, 2008
    Publication date: October 8, 2009
    Inventors: Krishnan Srinivasan, Chien-Chun Chou, Pascal Chauvet
  • Publication number: 20090235020
    Abstract: 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: Application
    Filed: March 12, 2009
    Publication date: September 17, 2009
    Applicant: SONICS, INC.
    Inventors: Krishnan Srinivasan, Drew E. Wingard, Vida Vakilotojar, Chien-Chun Chou
  • Publication number: 20090150857
    Abstract: 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: Application
    Filed: December 7, 2007
    Publication date: June 11, 2009
    Inventors: KRISHNAN SRINIVASAN, Chien-Chun Chou, Drew Wingard
  • 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
  • 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
  • Patent number: 7512957
    Abstract: 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: Grant
    Filed: December 3, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: 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: 7467388
    Abstract: 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: Grant
    Filed: November 22, 2005
    Date of Patent: December 16, 2008
    Assignee: Microsoft Corporation
    Inventors: David O. Driver, Geoffrey M. Kizer, Krishnan Srinivasan, Uday S. Hedge
  • Publication number: 20080295058
    Abstract: 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: Application
    Filed: May 24, 2007
    Publication date: November 27, 2008
    Applicant: Microsoft Corporation
    Inventors: Hari Krishnan Srinivasan, Perraju Bendapudi
  • 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
  • Publication number: 20070118841
    Abstract: 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: Application
    Filed: November 22, 2005
    Publication date: May 24, 2007
    Inventors: David Driver, Geoffrey Kizer, Krishnan Srinivasan, Uday Hedge
  • 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