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: 7146618Abstract: 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: GrantFiled: January 21, 2003Date of Patent: December 5, 2006Assignee: Microsoft CorporationInventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
-
Patent number: 7076784Abstract: 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: GrantFiled: October 22, 1999Date of Patent: July 11, 2006Assignee: Microsoft CorporationInventors: Wilfred G. Russell, Patrick James Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Stephen Gray
-
Patent number: 7043733Abstract: 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: GrantFiled: June 14, 2004Date of Patent: May 9, 2006Assignee: Microsoft CorporationInventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
-
Patent number: 6920636Abstract: 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: GrantFiled: December 15, 1999Date of Patent: July 19, 2005Assignee: Microsoft CorporationInventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
-
Publication number: 20050125804Abstract: 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: ApplicationFiled: January 6, 2005Publication date: June 9, 2005Applicant: Microsoft CorporationInventors: Richard Dievendorff, Patrick Helland, Gagan Chopra, Mohsen Al-Ghosein
-
Publication number: 20050071849Abstract: 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: ApplicationFiled: November 18, 2004Publication date: March 31, 2005Applicant: Microsoft CorporationInventors: Gerald Hinson, Mohsen Al-Ghosein, Donald Dumitru, Donald McCrady, Seth Pollack, Stephen Swartz
-
Publication number: 20050044554Abstract: 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: ApplicationFiled: September 29, 2004Publication date: February 24, 2005Applicant: Microsoft CorporationInventors: Gerald Hinson, Mohsen Al-Ghosein, Donald Dumitru, Donald McCrady, Seth Pollack, Stephen Swartz
-
Publication number: 20050015775Abstract: 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: ApplicationFiled: May 26, 2004Publication date: January 20, 2005Applicant: Microsoft CorporationInventors: Wilfred Russell, Patrick Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Gray
-
Patent number: 6829770Abstract: 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: GrantFiled: February 23, 1999Date of Patent: December 7, 2004Assignee: Microsoft CorporationInventors: Gerald L. Hinson, Mohsen Al-Ghosein, Donald W. Dumitru, Donald J. McCrady, Seth B. Pollack, Stephen T. Swartz
-
Publication number: 20040230986Abstract: 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: ApplicationFiled: June 14, 2004Publication date: November 18, 2004Applicant: Microsoft CorporationInventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
-
Patent number: 6813769Abstract: 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: GrantFiled: October 28, 1997Date of Patent: November 2, 2004Assignee: Microsoft CorporationInventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
-
Patent number: 6782542Abstract: 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: GrantFiled: December 15, 2000Date of Patent: August 24, 2004Assignee: Microsoft CorporationInventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
-
Patent number: 6714962Abstract: 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: GrantFiled: March 16, 2000Date of Patent: March 30, 2004Assignee: Microsoft CorporationInventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, David R. Reed
-
Patent number: 6678696Abstract: 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: GrantFiled: January 4, 1999Date of Patent: January 13, 2004Assignee: Microsoft CorporationInventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell
-
Patent number: 6631425Abstract: 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: GrantFiled: October 28, 1997Date of Patent: October 7, 2003Assignee: Microsoft CorporationInventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell, Jan Stephen Gray
-
Patent number: 6473791Abstract: 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: GrantFiled: August 17, 1998Date of Patent: October 29, 2002Assignee: Microsoft CorporationInventors: Mohsen Al-Ghosein, Jan S. Gray, Amit Mital, Rodney Limprecht
-
Patent number: 6457066Abstract: 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: GrantFiled: November 10, 1997Date of Patent: September 24, 2002Assignee: Microsoft CorporationInventors: Gunnar Mein, Shankar Pal, Govinda Dhondu, Thulusalamatom Krishnamurthi Anand, Alexander Stojanovic, Mohsen Al-Ghosein, Paul M. Oeuvray
-
Patent number: 6425017Abstract: 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: GrantFiled: August 17, 1998Date of Patent: July 23, 2002Assignee: Microsoft CorporationInventors: Richard Dievendorff, Patrick J. Helland, Gagan Chopra, Mohsen Al-Ghosein
-
Patent number: 6301601Abstract: 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: GrantFiled: July 12, 1999Date of Patent: October 9, 2001Assignee: Microsoft CorporationInventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein
-
Patent number: 6134594Abstract: 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: GrantFiled: October 28, 1997Date of Patent: October 17, 2000Assignee: Microsoft CorporationInventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, David R. Reed