Patents by Inventor Mohsen Al-Ghosein

Mohsen Al-Ghosein 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: 7146618
    Abstract: An application layer protocol is provided on top of HTTP 1.0/1.1 to allow for COM Automation objects to be invoked over the Internet through IIS/ISAPI servers. The format essentially encodes the automation object's name, method to invoke, and any [in], [out], [in, out] parameters that the method signature requires, packages them up into a custom MIME type and marshals it to the ISAPI dynamic link library (DLL) on the IIS/HTTP server. There, the ISAPI DLL contains the logic to unpack the SOAP request, parses it, creates the Automation object, invokes the method with the marshaled parameters, and then returns any [out] parameters to the caller/client using the SOAP protocol. It is a stateless protocol, meaning that object lifetimes only extend to one method, and are recreated between multiple calls to the object.
    Type: Grant
    Filed: January 21, 2003
    Date of Patent: December 5, 2006
    Assignee: Microsoft Corporation
    Inventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
  • Patent number: 7076784
    Abstract: A run-time executive of an object management system for managing execution of software components in an object execution environment uses a component context object to store intrinsic context properties related to an associated component. The run-time executive maintains an implicit association of the component context object with the application component. For example, the context properties can include a client id, an activity id, and a transaction reference. The component context object also provides an interface accessible to the associated component, with member functions for use in transaction processing, in creating additional other application components inheriting component's context properties, and in access control based on abstract user classes (roles).
    Type: Grant
    Filed: October 22, 1999
    Date of Patent: July 11, 2006
    Assignee: Microsoft Corporation
    Inventors: Wilfred G. Russell, Patrick James Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Stephen Gray
  • Patent number: 7043733
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: June 14, 2004
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Patent number: 6920636
    Abstract: Queued component interface passing provides a way for a queued component to convey results of processing a client program's method invocations made asynchronously via a queue. A queued component recorder for a “processing” queued component operates to marshal-by-value a method invocation parameter that is reference to another queued component recorder for another “results” queued component into a data stream of recorded method invocations, which is then submitted as a message to a queue associated with the processing queued component. On receipt of the message from the queue, a queued component player for the processing queued component unmarshals the reference to the other queued component recorder and passes this reference to the processing queued component. The processing queued component uses the passed reference to invoke methods of the results queued component through its message queue, which conveys the processing queued component's results.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: July 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
  • Publication number: 20050125804
    Abstract: Queued component interface passing provides a way for a queued component to convey results of processing a client program's method invocations made asynchronously via a queue. A queued component recorder for a “processing” queued component operates to marshal-by-value a method invocation parameter that is reference to another queued component recorder for another “results” queued component into a data stream of recorded method invocations, which is then submitted as a message to a queue associated with the processing queued component. On receipt of the message from the queue, a queued component player for the processing queued component unmarshals the reference to the other queued component recorder and passes this reference to the processing queued component. The processing queued component uses the passed reference to invoke methods of the results queued component through its message queue, which conveys the processing queued component's results.
    Type: Application
    Filed: January 6, 2005
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick Helland, Gagan Chopra, Mohsen Al-Ghosein
  • Publication number: 20050071849
    Abstract: An object-based event communications system supplies an event distribution object having an outgoing-from-publisher event interface and associated with unique identifiers defined for a publisher that is programmed to fire events by calling a method on the event distribution object's outgoing-from-publisher event interface. The event communications system stores subscriptions of subscriber objects to methods of the outgoing-from-publisher event interface. On receiving a call from a publisher to its outgoing-from-publisher interface methods, the event distribution object multi-casts calls to counterpart methods of subscriber objects that have stored subscriptions to the respective outgoing-from-publisher interface methods.
    Type: Application
    Filed: November 18, 2004
    Publication date: March 31, 2005
    Applicant: Microsoft Corporation
    Inventors: Gerald Hinson, Mohsen Al-Ghosein, Donald Dumitru, Donald McCrady, Seth Pollack, Stephen Swartz
  • Publication number: 20050044554
    Abstract: An object-based event communications system supplies an event distribution object having an outgoing-from-publisher event interface and associated with unique identifiers defined for a publisher that is programmed to fire events by calling a method on the event distribution object's outgoing-from-publisher event interface. The event communications system stores subscriptions of subscriber objects to methods of the outgoing-from-publisher event interface. On receiving a call from a publisher to its outgoing-from-publisher interface methods, the event distribution object multi-casts calls to counterpart methods of subscriber objects that have stored subscriptions to the respective outgoing-from-publisher interface methods.
    Type: Application
    Filed: September 29, 2004
    Publication date: February 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Gerald Hinson, Mohsen Al-Ghosein, Donald Dumitru, Donald McCrady, Seth Pollack, Stephen Swartz
  • Publication number: 20050015775
    Abstract: A run-time executive of an object management system for managing execution of software components in an object execution environment uses a component context object to store intrinsic context properties related to an associated component. The run-time executive maintains an implicit association of the component context object with the application component. For example, the context properties can include a client id, an activity id, and a transaction reference. The component context object also provides an interface accessible to the associated component, with member functions for use in transaction processing, in creating additional other application components inheriting component's context properties, and in access control based on abstract user classes (roles).
    Type: Application
    Filed: May 26, 2004
    Publication date: January 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Wilfred Russell, Patrick Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Gray
  • Patent number: 6829770
    Abstract: An object-based event communications system supplies an event distribution object having an outgoing-from-publisher event interface and associated with unique identifiers defined for a publisher that is programmed to fire events by calling a method on the event distribution object's outgoing-from-publisher event interface. The event communications system stores subscriptions of subscriber objects to methods of the outgoing-from-publisher event interface. On receiving a call from a publisher to its outgoing-from-publisher interface methods, the event distribution object multi-casts calls to counterpart methods of subscriber objects that have stored subscriptions to the respective outgoing-from-publisher interface methods.
    Type: Grant
    Filed: February 23, 1999
    Date of Patent: December 7, 2004
    Assignee: Microsoft Corporation
    Inventors: Gerald L. Hinson, Mohsen Al-Ghosein, Donald W. Dumitru, Donald J. McCrady, Seth B. Pollack, Stephen T. Swartz
  • Publication number: 20040230986
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Application
    Filed: June 14, 2004
    Publication date: November 18, 2004
    Applicant: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Patent number: 6813769
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: November 2, 2004
    Assignee: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Patent number: 6782542
    Abstract: An application layer protocol is provided on top of HTTP 1.0/1.1 to allow for COM Automation objects to be invoked over the Internet through IIS/ISAPI servers. The format essentially encodes the automation object's name, method to invoke, and any [in], [out], [in, out] parameters that the method signature requires, packages them up into a custom MIME type and marshals it to the ISAPI dynamic link library (DLL) on the IIS/HTTP server. There, the ISAPI DLL contains the logic to unpack the SOAP request, parses it, creates the Automation object, invokes the method with the marshaled parameters, and then returns any [out] parameters to the caller/client using the SOAP protocol. It is a stateless protocol, meaning that object lifetimes only extend to one method, and are recreated between multiple calls to the object.
    Type: Grant
    Filed: December 15, 2000
    Date of Patent: August 24, 2004
    Assignee: Microsoft Corporation
    Inventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
  • Patent number: 6714962
    Abstract: A multi-tier server application architecture provides a simplified programming model of multiple user server applications that enhances programmer productivity. The multi-tier architecture comprises a client tier for client application code that initiates processing by the server application in response to user input, a middle tier of object-oriented server application code, and a database tier of shared access data and management code. A run-time environment for the object-oriented server application code limits access to instantiated objects of the middle tier server application code to a single one of the users. Objects in the middle tier that are instantiated to initiate processing for a particular user and grouped into a collection. The run-time environment manages the flow of execution into the collection such that the collection has only a single logical thread of execution and access by the client application code is exclusive to the particular user.
    Type: Grant
    Filed: March 16, 2000
    Date of Patent: March 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, David R. Reed
  • Patent number: 6678696
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment which automatically processes work of component-based server applications in transactions according to transactional rules or behaviors declaratively specified to apply to the respective components. A transaction attribute is declaratively specified for a server application component that represents whether the component requires execution in a transaction. When a client requests creation of a server application component without having first initiated a transaction and the component's transaction attribute indicates a transaction is required, the framework automatically initiates a transaction in which to run the server application component. The framework also completes the automatically initiated transaction upon receiving an indication from the server application component that its transactional work is complete.
    Type: Grant
    Filed: January 4, 1999
    Date of Patent: January 13, 2004
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell
  • Patent number: 6631425
    Abstract: A run-time environment implemented as system services and component integration interfaces provides scalable and robust component-based server applications by deactivating server application components between uses by a client program on separate items of work while allowing the client program to retain references to server application components when deactivated. When a server application component is deactivated, a data state of the component and any resources held by the component are released. The run-time environment activates a component on receiving a call by the client to the component while the component is deactivated, whereupon the component is instantiated with an initial data state.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: October 7, 2003
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell, Jan Stephen Gray
  • Patent number: 6473791
    Abstract: Intelligent Trust Management provides a centralized security facility that gives system components a flexible mechanism for implementing security policies. System components such as applications create a request describing an action that needs to be checked against an appropriate security policy. The request is given to a trust system that determines which policy object applies to the request, and may pass request arguments to the policy. The policy objects include executable code that uses any arguments along with dynamically obtained variable information to make a decision. The decision is returned to the system component, which then operates accordingly. Policy objects may maintain state and interface with the user independent of the system component in order to obtain information to make their decisions. Policy objects may call other policy objects and/or mathematically combine the results of other policy objects to make a decision.
    Type: Grant
    Filed: August 17, 1998
    Date of Patent: October 29, 2002
    Assignee: Microsoft Corporation
    Inventors: Mohsen Al-Ghosein, Jan S. Gray, Amit Mital, Rodney Limprecht
  • Patent number: 6457066
    Abstract: An application layer protocol is provided on top of HTTP 1.0/1.1 to allow for COM Automation objects to be invoked over the Internet through IIS/ISAPI servers. The format essentially encodes the automation object's name, method to invoke, and any [in], [out], [in, out] parameters that the method signature requires, packages them up into a custom MIME type and marshals it to the ISAPI dynamic link library (DLL) on the IIS/HTTP server. There, the ISAPI DLL contains the logic to unpack the SOAP request, parses it, creates the Automation object, invokes the method with the marshaled parameters, and then returns any [out] parameters to the caller/client using the SOAP protocol. It is a stateless protocol, meaning that object lifetimes only extend to one method, and are recreated between multiple calls to the object.
    Type: Grant
    Filed: November 10, 1997
    Date of Patent: September 24, 2002
    Assignee: Microsoft Corporation
    Inventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
  • Patent number: 6425017
    Abstract: An object runtime architecture allows method invocations to be made on either a synchronous, real-time basis or a queued basis using the normal call semantics of an object model. The object runtime architecture provides a proxy of an object with a method invocation recorder for receiving method calls of a client on the object, and marshaling the method calls into a message for sending to a queue associated with the object. The object runtime architecture further provides a listener for dispatching the message from the queue to a player which uses a stub to unmarshal the message in order to issue the method calls to the object. The object runtime architecture thus decouples the client and objects lifetimes and availability, without requiring explicit programming of the client and object to perform message queuing. Accordingly, with no modification of the object's interface structure or code, the same object can be used in either a real-time or queued environment.
    Type: Grant
    Filed: August 17, 1998
    Date of Patent: July 23, 2002
    Assignee: Microsoft Corporation
    Inventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
  • Patent number: 6301601
    Abstract: A run-time environment implemented as system services and component integration interfaces provides a capability for components of a component-based server application to reversibly disable committal of a transaction in which the component participates. On return from a call to the component which leaves the component's transactional work in an invalid state, the component can disable commit of the transaction so as to avoid premature committal of the component's transactional work. On return from a call to the component which renders the component's transactional work in a valid state, the component re-enables commit of the transaction. If committal of the transaction is initiated when any component in the transaction disables commit, the transaction is aborted.
    Type: Grant
    Filed: July 12, 1999
    Date of Patent: October 9, 2001
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein
  • Patent number: 6134594
    Abstract: A multi-tier server application architecture provides a simplified programming model of multiple user server applications that enhances programmer productivity. The multi-tier architecture comprises a client tier for client application code that initiates processing by the server application in response to user input, a middle tier of object-oriented server application code, and a database tier of shared access data and management code. A run-time environment for the object-oriented server application code limits access to instantiated objects of the middle tier server application code to a single one of the users. Objects in the middle tier that are instantiated to initiate processing for a particular user and grouped into a collection. The run-time environment manages the flow of execution into the collection such that the collection has only a single logical thread of execution and access by the client application code is exclusive to the particular user.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: October 17, 2000
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, David R. Reed