Patents by Inventor Shy Cohen

Shy Cohen 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: 20100192025
    Abstract: 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: Application
    Filed: March 31, 2010
    Publication date: July 29, 2010
    Applicant: Microsoft Corporation
    Inventors: Rodney T. Limprecht, Richard D. Hill, David E. Langworthy, Harry Essam Ramadan, Shy Cohen
  • Patent number: 7693952
    Abstract: 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: Grant
    Filed: March 27, 2003
    Date of Patent: April 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Rodney T. Limprecht, Richard D. Hill, David E. Langworthy, Hany Essam Ramadan, Shy Cohen
  • Patent number: 7676580
    Abstract: 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: Grant
    Filed: March 27, 2003
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Rodney T. Limprecht, Hany Essam Ramadan, David E. Langworthy, Shy Cohen
  • Patent number: 7562147
    Abstract: A system and protocol for enabling bi-directional HTTP-based reliable messaging through a Web proxy server via the Internet is presented. The client processor residing on the private computer network side of the Web proxy establishes two virtual channels with a server. One of the channels is used for outgoing messages from the client to the server, and message delivery acknowledgments. The other channel is used for incoming messages from the server to the client, and message delivery acknowledgments. This incoming channel is established and maintained by the client through the Web proxy server so that the client has full control over the channel. The establishment is accomplished by the transmission of an HTTP-based “request” to the server. The server does not respond until and unless it has a message to be transmitted to the client. Once such a message is generated, the server generates an HTTP-based “reply” to this request, and transmits it to the client via the Web proxy server.
    Type: Grant
    Filed: October 2, 2000
    Date of Patent: July 14, 2009
    Assignee: Microsoft Corporation
    Inventor: Shy Cohen
  • 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: 7359919
    Abstract: A reliable request-response mechanism allows a requesting computer system and a responding computer system in an established end-to-end connection to send and receive messages in a manner that the responding computer system processes a request as intended by the requesting computer system, such that all the message communication is initiated by the requesting computer system. The requesting computer system and responding computer system can accommodate a wide range of messaging failures, such as intermittent network connections or failure of a transport of SOAP intermediary by resending cached versions of previously sent messages, and by acknowledging receipt of each message received. Cached messages on either computer system are deleted after being appropriately acknowledged.
    Type: Grant
    Filed: March 8, 2005
    Date of Patent: April 15, 2008
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, Kirill Gavrylyuk, Ondrej Hrebicek, Richard Hill, Stefan R. Batres
  • Patent number: 7349384
    Abstract: 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: Grant
    Filed: December 10, 2004
    Date of Patent: March 25, 2008
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Stefan R. Batres, Shy Cohen, Michael T. Dice, Rodney T. Limprecht
  • Publication number: 20060206558
    Abstract: A reliable request-response mechanism allows a requesting computer system and a responding computer system in an established end-to-end connection to send and receive messages in a manner that the responding computer system processes a request as intended by the requesting computer system, such that all the message communication is initiated by the requesting computer system. The requesting computer system and responding computer system can accommodate a wide range of messaging failures, such as intermittent network connections or failure of a transport of SOAP intermediary by resending cached versions of previously sent messages, and by acknowledging receipt of each message received. Cached messages on either computer system are deleted after being appropriately acknowledged.
    Type: Application
    Filed: March 8, 2005
    Publication date: September 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Kirill Gavrylyuk, Ondrej Hrebicek, Richard Hill, Stefan Batres
  • Patent number: 7107428
    Abstract: A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, deallocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: September 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, John T. Spivey, Eyal Schwartz
  • Publication number: 20060178152
    Abstract: The present invention provides for a channel model capable of generating a runtime communication channel with pluggable modular channel components. These channel components implement one of a set of standard interfaces that allow processing details of communication semantics between components to be represented in a polymorphic way. A message and corresponding communication semantics are recursively passed through the channel components using the standard interface, thereby abstracting other modules and components from specific implementation details of how the communication semantics are performed. The message may then be sent to the next appropriate module for further processing, or the processing may be completed at that particular component or module. Note also that the message can also be de-multiplexed on the service side in a similar fashion as that described above.
    Type: Application
    Filed: February 4, 2005
    Publication date: August 10, 2006
    Applicant: Microsoft Corporation
    Inventors: Bradford Lovering, David Wortendyke, Elliot Waingold, Erik Christensen, Kenneth Wolf, Michael Vernal, Shy Cohen, Stefan Pharies
  • Publication number: 20060174016
    Abstract: The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presenting 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-multiplex 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 binging objects organized based on industry need.
    Type: Application
    Filed: February 1, 2005
    Publication date: August 3, 2006
    Applicant: Microsoft Corporation
    Inventors: Craig Critchley, David Wortendyke, Elliot Waingold, Eric Zinda, Erik Christensen, Giovanni Della-Libera, Kenneth Wolf, Michael Vernal, Shy Cohen, Stefan Pharies, Stephen Millet, Stephen Swartz, Tomasz Janczuk, Uday Hegde, Yaniv Pessach
  • Publication number: 20060150200
    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: Application
    Filed: December 3, 2004
    Publication date: July 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Geary Eppley, Douglas Purdy, James Johnson, Stephen Millet, Stephen Swartz, Vijay Gajjala, Aaron Stern, Alexander DeJarnatt, Alfred Lee, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya Upadhyay, Christopher Kaler, Craig Critchley, David Levin, David Driver, David Wortendyke, Douglas Walter, Elliot Waingold, Erik Christensen, Erin Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni Della-Libera, Jesus Ruiz-Scougall, John Doty, Jonathan Wheeler, Kapil Gupta, Kenneth Wolf, Krishnan Srinivasan, Lance Olson, Matthew Tavis, Mauro Ottaviani, Max Feingold, Michael Coulson, Michael Marucheck, Michael Vernal, Michael Dice, Mohamed-Hany Ramadan, Mohammad Makarechian, Natasha Jethanandani, Richard Dievendorff, Richard Hill, Ryan Sturgell, Saurab Nog, Scott Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan Srinivasan, Stefan Batres, Stefan Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday Hegde, Umesh Madan, Vaithialingam Balayogan, Vipul Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20060129690
    Abstract: 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: Application
    Filed: December 10, 2004
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: Richard Hill, Stefan Batres, Shy Cohen, Michael Dice, Rodney Limprecht
  • Publication number: 20060123119
    Abstract: The present invention monitors the receipt of messages between two endpoints on established sequence session in accordance with a Reliable Messaging protocol for Web Services (RM-WS protocol). The messages received may be application or infrastructure messages (e.g., acknowledgement messages in accordance with the RM-WS protocol). Further, the present invention defines a time period known as the inactivity timeout, which is an upper limit to the time that may pass without receiving a message (either application or infrastructure) on the sequence session. Based on this inactivity timeout period, the present invention calculates time periods for sending idempotent infrastructure messages in accordance with the RM-WS protocol for verifying and maintaining connection liveliness.
    Type: Application
    Filed: December 8, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Richard Hill, Stefan Batres, Shy Cohen, Michael Moroney, Rodney Limprecht, Margaret Lye
  • Publication number: 20050268064
    Abstract: A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, deallocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.
    Type: Application
    Filed: July 1, 2005
    Publication date: December 1, 2005
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, John Spivey, Eyal Schwartz
  • Patent number: 6965978
    Abstract: A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, de-allocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.
    Type: Grant
    Filed: May 15, 2003
    Date of Patent: November 15, 2005
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, John T. Spivey, Eyal Schwartz
  • Publication number: 20040249853
    Abstract: Embodiments of the present invention provide a system and method for use in a computing environment to manage event registration and create and fire events. The system includes a memory structure wherein event types are associated with event identifications (ID). The system further includes a module that is operable to retrieve an event identification (ID) from the memory structure when the event's ID is requested by either an event-consumer or an event-producer and a module to register an event type if the event type is not found in the memory structure. Additional modules are operable to create event objects, to attach an event-consumer to and detach from an event type, and to fire an event object. According to the method, when the system receives a request for an event's ID, it will search the memory structure. If the event type is registered within the memory structure, the system will return the event ID to the requesting object.
    Type: Application
    Filed: June 5, 2003
    Publication date: December 9, 2004
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Samuel D. Clement
  • Publication number: 20040230763
    Abstract: A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, de-allocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.
    Type: Application
    Filed: May 15, 2003
    Publication date: November 18, 2004
    Inventors: Shy Cohen, John T. Spivey, Eyal Schwartz
  • Publication number: 20040205781
    Abstract: 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: Application
    Filed: March 27, 2003
    Publication date: October 14, 2004
    Inventors: Richard D. Hill, Rodney T. Limprecht, Hany Essam Ramadan, David E. Langworthy, Shy Cohen
  • Publication number: 20040205124
    Abstract: 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: Application
    Filed: March 27, 2003
    Publication date: October 14, 2004
    Inventors: Rodney T. Limprecht, Richard D. Hill, David E. Langworthy, Hany Essam Ramadan, Shy Cohen