Patents by Inventor Sanjib Saha

Sanjib Saha 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: 7747894
    Abstract: A transport-neutral in-order delivery in a distributed environment is provided. Typically, in-order delivery guarantees that sequential orders received by a transport engine are sent out in the same order they are received. Such delivery may be forwarded either to another transport engine or to some application. In case there is a failure of delivery of messages in a stream, the messages are either resubmitted, suspended, or moved to backup. A user or administrator can configure the desired action. Additionally, any stream can be manually aborted or a specified port can be unenlisted. Deliverable streams of messages are locked on to a back-end transport engines or applications and dequeued sequentially unless one of the above mentioned failure scenarios occurs.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Eldar A. Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Bowen Smith, Lee B. Graber, Sanjib Saha, Satish R. Thatte
  • Publication number: 20090320044
    Abstract: A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue.
    Type: Application
    Filed: June 18, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Affan Arshad Dar, Sanjib Saha
  • Publication number: 20090242956
    Abstract: Tunnel dielectrics for semiconductor devices are generally described. In one example, an apparatus includes a semiconductor substrate, a first tunnel dielectric having a first bandgap coupled to the semiconductor substrate, a second tunnel dielectric having a second bandgap coupled to the first tunnel dielectric, and a third tunnel dielectric having a third bandgap coupled to the second tunnel dielectric wherein the second bandgap is relatively smaller than the first bandgap and the third bandgap.
    Type: Application
    Filed: March 28, 2008
    Publication date: October 1, 2009
    Inventors: Jiunn B. Heng, Sanjib Saha, Richard M. Fastow
  • Publication number: 20080276238
    Abstract: A system and method of using metrics to control throttling and swapping in a message processing system is provided. A workload status of a message processing system is determined, and the system polls for a new message according to the workload status. The message processing system identifies a blocked instance and calculates an expected idle time for the blocked instance. The system dehydrates the blocked instance if the expected idle time exceeds a predetermined threshold.
    Type: Application
    Filed: July 14, 2008
    Publication date: November 6, 2008
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Patent number: 7412513
    Abstract: A system and method of using metrics to control throttling and swapping in a message processing system is provided. A workload status of a message processing system is determined, and the system polls for a new message according to the workload status. The message processing system identifies a blocked instance and calculates an expected idle time for the blocked instance. The system dehydrates the blocked instance if the expected idle time exceeds a predetermined threshold.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: August 12, 2008
    Assignee: Microsoft Corporation
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Publication number: 20080167925
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Application
    Filed: March 25, 2008
    Publication date: July 10, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Patent number: 7370333
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: May 6, 2008
    Assignee: Microsoft Corporation
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Publication number: 20060277317
    Abstract: Systems and methods for controlling the work load on a distributed system comprising a plurality of stages are provided. The capacity of a present stage is monitored, using either various resources of the present stage or rates of work completion and work receipt of the present stage. Information indicating the capacity of a succeeding stage are obtained and communicated to the present stage. The monitored capacity information of the present stage and the communicated information of the succeeding stage, either alone or in combination, are used to determine if a throttling action is necessary to control the load of work at the present stage. A provided throttling technique inserts an appropriate delay before the present stage to allow the present stage to process an amount of work without saturating the capacity of the present stage. This technique is applied at each stage of the distributed system to control the work load of the overall system by controlling the work load at each stage.
    Type: Application
    Filed: June 3, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Wayne Clark, Lee Graber, Kartik Paramasivam, Siddhartha Roy, Sanjib Saha, Sumitra Sujanani
  • Publication number: 20060277319
    Abstract: Systems and methods for reducing the latency incurred during the publication of a message in a message publication system are provided. In a message publication system wherein the publishing component and the receiving component are located within the same processing space, several of the latency components that are usually unavoidably incurred may be eliminated. In such a system, the messaging queue is not used as a medium between the two components but is instead used as a secondary back-up storage. This results in the elimination of one latency component as the message is directly published from the publishing component to the receiving component. Further time reductions or optimizations occur when the durability, or reliability, of the message publication is not a concern and the messaging queue can be completely disregarded. Yet another optimization occurs when the identity of the subscriber is known in advance by the publisher.
    Type: Application
    Filed: June 3, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Jean-Emile Elien, Lee Graber, Sanjib Saha
  • Publication number: 20060277261
    Abstract: The subject invention provides a system and/or a method that facilitates enhancing an adapter utilizing a locking mechanism between a receive location and a process. An interface component can receive a message related to a receive location that is an endpoint. A lock component binds the receive location to the process such that the process exclusively receives the messages from the endpoint at a single instance in real time. Moreover, the lock component can provide a replacement/switching technique, wherein a process that participates in a locking relationship can be switched with another process based at least in part upon the health of the process.
    Type: Application
    Filed: June 7, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Sanjib Saha, Jean-Emile Elien
  • Publication number: 20060274727
    Abstract: A transport-neutral in-order delivery in a distributed environment is provided. Typically, in-order delivery guarantees that sequential orders received by a transport engine are sent out in the same order they are received. Such delivery may be forwarded either to another transport engine or to some application. In case there is a failure of delivery of messages in a stream, the messages are either resubmitted, suspended, or moved to backup. A user or administrator can configure the desired action. Additionally, any stream can be manually aborted or a specified port can be unenlisted. Deliverable streams of messages are locked on to a back-end transport engines or applications and dequeued sequentially unless one of the above mentioned failure scenarios occurs.
    Type: Application
    Filed: June 6, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Eldar Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Smith, Lee Graber, Sanjib Saha, Satish Thatte
  • Publication number: 20060277538
    Abstract: Methods for providing dynamic process recovery that supports recovery of event driven services. The present invention addresses situations where a service-hosting process fails as well as all of the services which were running in that process. To recover from this scenario, the present invention restarts the services a different process from a last know good state. The present invention also provides for situations where a process is shut down in a controlled manner, but the services running within it are still able to drive. Here again, the services are restarted in a secondary process. The recovery modal described here, therefore, advantageously addresses a problem in the design of a distributed event-driven environment.
    Type: Application
    Filed: June 2, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Sanjib Saha, Sumitra Sujanani, Lee Graber
  • Patent number: 7113942
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: September 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Patent number: 7099141
    Abstract: A short-resistant capacitor comprises an electrically conductive planar support substrate having a first thickness, a ceramic film deposited over the support substrate, thereby defining a ceramic surface; and a metallic film deposited over the ceramic surface, said film having a second thickness which is less than the first thickness and which is between 0.01 and 0.1 microns.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: August 29, 2006
    Assignee: The United States of America as represented by the United States Department of Energy
    Inventors: David Y. Kaufman, Sanjib Saha
  • Publication number: 20060129524
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Application
    Filed: February 6, 2006
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Publication number: 20050108398
    Abstract: A system and method of using metrics to control throttling and swapping in a message processing system is provided. A workload status of a message processing system is determined, and the system polls for a new message according to the workload status. The message processing system identifies a blocked instance and calculates an expected idle time for the blocked instance. The system dehydrates the blocked instance if the expected idle time exceeds a predetermined threshold.
    Type: Application
    Filed: November 14, 2003
    Publication date: May 19, 2005
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Musayev, Kevin Smith
  • Publication number: 20050096927
    Abstract: A system and method of processing a message in an asynchronous architecture is provided. In the method, a determination is made that a response to a message sent by an instance of software code is to be received, where the response indicates whether the message succeeded or failed. Another determination is made as to whether the response has been received. If the response has not been received, the instance of the software code is stored in memory, thereby suspending the instance. The response is received, the instance resumed and the response is processed.
    Type: Application
    Filed: October 31, 2003
    Publication date: May 5, 2005
    Inventors: Bimal Mehta, Paul Maybee, Lee Graber, Alexander Dadjomov, Jean-Emile Elien, Eldar Musayev, Johannes Klein, Sanjib Saha, Kevin Smith
  • Publication number: 20050015776
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Application
    Filed: June 2, 2003
    Publication date: January 20, 2005
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish Thatte, Paul Ringseth
  • Publication number: 20040268244
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Publication number: 20030212818
    Abstract: Systems and methodologies are disclosed to facilitate for routing messages in a communications framework, which can include one or more computers. Determinations as to whether and where to route messages are based at least in part upon the content of messages. Services interested in receiving messages specify one or more subscriptions, which are employed to make routing decisions for messages. The subscriptions are evaluated relative to messages, and more particularly content based message properties of respective messages, to determine whether and where to route messages.
    Type: Application
    Filed: May 8, 2002
    Publication date: November 13, 2003
    Inventors: Johannes Klein, Lee Graber, Sanjib Saha, Bimal Kumar Mehta, Jean-Emile Elien