Patent JPS6059178A successfully refreshed from Google Patents.
Patent US6678696B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6678696B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Transaction processing of distributed objects with declarative transactional attributes

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1999-01-04
•
Granted: 2004-01-13
•
Expires: 2019-01-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Patrick James Helland
  • 👤 Rodney Limprecht
  • 👤 Mohsen Al-Ghosein
  • 👤 Wilfred G. Russell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 19:10
CPC Classifications
G; G06; G06Q; G06Q10/00; G06Q10/02; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 70
Claim 1
Independent Claim 98 words
A distributed object execution system for automatic transaction processing of server application components without explicit programming in the server application components to demarcate transaction scope, the system comprising: a transactional attribute setting associated with a server application component, the setting representing a particular transactional behavior applicable to the server application component in the distributed object execution system, the particular transactional behavior being selected from a group of possible transactional behaviors; and a transaction service for causing work performed by the server application component to be processed in accordance with the particular transactional behavior represented by the transactional attribute.
Claim 2
Dependent Claim 98 words
A distributed object execution system for automatic transaction processing of server application components without explicit programming in the server application components to demarcate transaction scope, the system comprising: a transactional attribute setting associated with a server application component, the setting representing a particular transactional behavior applicable to the server application component in the distributed object execution system, the particular transactional behavior being selected from a group of possible transactional behaviors; and a transaction service for causing work performed by the server application component to be processed in accordance with the particular transactional behavior represented by the transactional attribute.
Claim 3
Dependent Claim 41 words
The distributed object execution system of claim 1 further comprising: an administrative utility having a user interface control for specifying the transactional attribute setting on a declarative basis at deployment of the server application component on the distributed object execution system.
Claim 4
Dependent Claim 60 words
The distributed object execution system of claim 1 further comprising: an assembly tool for assembling the -server application component with other components into a collective deployment unit; and a user interface of the assembly tool accepting user input to specify the transactional attribute setting on a declarative basis at assembly of the server application component into the collective deployment unit.
Claim 5
Dependent Claim 35 words
The distributed object execution system of claim 1 further comprising: a server application component editor for writing a declarative statement in the server application component to specify the transactional attribute setting on a declarative basis.
Claim 6
Dependent Claim 82 words
The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires transaction behavior to require processing of the server application component's work in a client's transaction, the distributed object execution system further comprising: the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component has a transaction to cause work performed by the server application component to be processed within a scope of the client's transaction.
Claim 7
Dependent Claim 127 words
The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires transaction behavior to require processing of the server application component's work in a transaction, the distributed object execution system further comprising: the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component has a transaction to cause work performed by the server application component to be processed within a scope of the client's transaction; and the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component is without any transaction to cause work performed by the server application component to be processed within a scope of a new transaction.
Claim 8
Dependent Claim 86 words
The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires new transaction behavior to require processing of the server application component's work in a new transaction, the distributed object execution system further comprising: the transaction service operative when the transactional attribute setting represents the requires new transaction behavior to cause work performed by the server application component to be processed within a scope of a new transaction regardless of whether a client of the server application component has a transaction.
Claim 9
Dependent Claim 82 words
The distributed object execution system of claim 1 wherein the possible transactional behaviors include a supports transaction behavior to permit processing of the server application component's work in a client's transaction, the distributed object execution system further comprising: the transaction service operative when the transactional attribute setting represents the supports transaction behavior to cause work performed by the server application component to be processed within a scope of a client's transaction whenever a client of the server application component has a transaction.
Claim 10
Dependent Claim 78 words
The distributed object execution system of claim 1 wherein the possible transactional behaviors include a no transaction behavior to prohibit processing of the server application component's work in any transaction, the distributed object execution system further comprising: the transaction service operative when the transactional attribute setting represents the no transaction behavior to cause work performed by the server application component to be processed outside any transaction even when a client of the server application component has a transaction.
Claim 11
Independent Claim 56 words
A method of declaratively managing transactional work of server application objects in distributed object computing, the method comprising: declaratively specifying a transactional rule applicable to a class of object in a server application; and at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule.
Claim 12
Independent Claim 56 words
A method of declaratively managing transactional work of server application objects in distributed object computing, the method comprising: declaratively specifying a transactional rule applicable to a class of object in a server application; and at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule.
Claim 13
Dependent Claim 35 words
The method of claim 10 further comprising: deploying the server application on a networked computer; and performing the step of declaratively specifying the transactional rule on deployment of the server application on the networked computer.
Claim 14
Dependent Claim 64 words
The method of claim 10 further comprising: displaying a user interface control of an object administration utility for setting a transactional attribute associated with the class, the transactional attribute designating the transactional rule applicable to the class; and setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
Claim 15
Dependent Claim 41 words
The method of claim 10 further comprising: assembling the class with a collection of other classes of objects in the server application into a package; and performing the step of declaratively specifying the transactional rule at assembly time of the package.
Claim 16
Dependent Claim 77 words
The method of claim 10 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a client's transaction, the method further comprising: when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object's work as part of the client's transaction.
Claim 17
Dependent Claim 49 words
The method of claim 14 further comprising: when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object's work as part of a new transaction.
Claim 18
Dependent Claim 76 words
The method of claim 10 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a transaction, the method further comprising: when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object's work as part of the client's transaction.
Claim 19
Dependent Claim 49 words
The method of claim 16 further comprising: when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object's work as part of a new transaction.
Claim 20
Dependent Claim 81 words
The method of claim 10 wherein the transactional rule is selected from a group including a requires new transaction rule to require processing work of the class of objects within a new transaction, the method further comprising: when processing work of the object at run-time where the requires new transaction rule has been declaratively specified as applicable to the class, processing the object's work as part of a new transaction whether or not a client of the object has a transaction.
Claim 21
Dependent Claim 77 words
The method of claim 10 wherein the transactional rule is selected from a group including a supports transaction rule to support processing work of the class of objects within a client's transaction, the method further comprising: when processing work of the object at run-time where the supports transaction rule has been declaratively specified as applicable to the class, processing the object's work as part of a client's transaction whenever the client of the object has a transaction.
Claim 22
Dependent Claim 75 words
The method of claim 10 wherein the transactional rule is selected from a group including a no transaction rule to prohibit processing work of the class of objects within a transaction, the method further comprising: when processing work of the object at run-time where the no transaction rule has been declaratively specified as applicable to the class, processing the object's work outside of any transaction even if a client of the object has a transaction.
Claim 23
Dependent Claim 91 words
A computer-readable data storage medium having computer-executable program code stored thereon, the program codes when executed on a computer causing the computer to perform a method of declaratively managing transactional work of server application objects in distributed object computing; the method comprising: storing a declaratively specified attribute in association with a class of object in a server application, said attribute denoting a transactional rule applicable to the class; and at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule.
Claim 24
Dependent Claim 91 words
A computer-readable data storage medium having computer-executable program code stored thereon, the program codes when executed on a computer causing the computer to perform a method of declaratively managing transactional work of server application objects in distributed object computing; the method comprising: storing a declaratively specified attribute in association with a class of object in a server application, said attribute denoting a transactional rule applicable to the class; and at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule.
Claim 25
Dependent Claim 66 words
The computer-readable data storage medium of claim 21 wherein the method further comprises: displaying a user interface control for receiving user input to set the transactional attribute associated with the class on deployment of the object on the computer; and setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
Claim 26
Dependent Claim 83 words
The computer-readable data storage medium of claim 21 wherein the method further comprises: assembling the class with a collection of other classes of objects in the server application into a package; and displaying a user interface control for receiving user input to set the transactional attribute associated with the class at assembly time of the package; and setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
Claim 27
Dependent Claim 83 words
The computer-readable storage medium of claim 21 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a client's transaction, the method further comprising: when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object's work as part of the client's transaction.
Claim 28
Dependent Claim 59 words
The computer-readable data storage medium of claim 24 wherein the method further comprises: when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object's work as part of a new transaction.
Claim 29
Dependent Claim 83 words
The computer-readable data storage medium of claim 21 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a transaction, the method further comprising: when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object's work as part of the client's transaction.
Claim 30
Dependent Claim 59 words
The computer-readable data storage medium of claim 26 wherein the method further comprises: when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object's work as part of a new transaction.
Claim 31
Dependent Claim 88 words
The computer-readable data storage medium of claim 21 wherein the transactional rule is selected from a group including a requires new transaction rule to require processing work of the class of objects within a new transaction, the method further comprising: when processing work of the object at run-time where the stored attributed denotes the requires new transaction rule has been declaratively specified as applicable to the class, processing the object's work as part of a new transaction whether or not a client of the object has a transaction.
Claim 32
Dependent Claim 81 words
The method of claim 21 wherein the transactional rule is selected from a group including a supports transaction rule to support processing work of the class of objects within a client's transaction, the method further comprising: when processing work of the object at run-time where the stored attribute denotes the supports transaction rule has been declaratively specified as applicable to the class, processing the object's work as part of a client's transaction whenever the client of the object has a transaction.
Claim 33
Dependent Claim 79 words
The method of claim 21 wherein the transactional rule is selected from a group including a no transaction rule to prohibit processing work of the class of objects within a transaction, the method further comprising: when processing work of the object at run-time where the stored attribute denotes the no transaction rule has been declaratively specified as applicable to the class, processing the object's work outside of any transaction even if a client of the object has a transaction.
Claim 34
Dependent Claim 117 words
A computer-readable data storage medium having a server application objects package stored thereon for deploying of the server application onto a computer with an automatic transaction processing system for automatically executing server application objects in transactions according to transactional rules, the server application objects package comprising: program code for a collection of server application objects; and declarative configuration attributes associated with the server application objects, the attributes comprising a transactional attribute denoting a transactional rule applicable to a particular one of the server application objects whereby the automatic transaction processing system executes the particular server application object of the collection in accordance with the transactional rule denoted by the transactional attribute of the particular server application object.
Claim 35
Dependent Claim 117 words
A computer-readable data storage medium having a server application objects package stored thereon for deploying of the server application onto a computer with an automatic transaction processing system for automatically executing server application objects in transactions according to transactional rules, the server application objects package comprising: program code for a collection of server application objects; and declarative configuration attributes associated with the server application objects, the attributes comprising a transactional attribute denoting a transactional rule applicable to a particular one of the server application objects whereby the automatic transaction processing system executes the particular server application object of the collection in accordance with the transactional rule denoted by the transactional attribute of the particular server application object.
Claim 36
Dependent Claim 58 words
The computer-readable data storage medium of claim 31 wherein the transactional attribute denotes a requires transaction rule by which the automatic transaction processing system executes the server application object in a transaction of a client of the server application object if the client has any such transaction, and otherwise executes the server application object in a new transaction.
Claim 37
Dependent Claim 47 words
The computer-readable data storage medium of claim 31 wherein the transactional attribute denotes a requires new transaction rule by which the automatic transaction processing system executes the server application object in a new transaction independent of whether a client of the server application component has any transaction.
Claim 38
Dependent Claim 57 words
The computer-readable data storage medium of claim 31 wherein the transaction attribute denotes a supports transaction rule by which the automatic transaction processing system executes the server application object in a transaction of a client of the server application object if the client has any such transaction, and otherwise executes the server application object without any transaction.
Claim 39
Dependent Claim 45 words
The computer-readable data storage medium of claim 31 wherein the transaction attribute denotes a no transaction rule by which the automatic transaction processing system executes the server application object without any transaction irrespective of whether a client of the server application object has any transaction.
Claim 40
Dependent Claim 66 words
An automatic transaction processing method comprising: associating a transaction attribute with an object, the transaction attribute denoting a transaction processing mode applicable to the object; commencing a new transaction for processing work of the object in accordance with the transaction processing mode; processing work of the object within the new transaction; and upon completion of the object's work, causing completion of the new transaction to commence.
Claim 41
Dependent Claim 66 words
An automatic transaction processing method comprising: associating a transaction attribute with an object, the transaction attribute denoting a transaction processing mode applicable to the object; commencing a new transaction for processing work of the object in accordance with the transaction processing mode; processing work of the object within the new transaction; and upon completion of the object's work, causing completion of the new transaction to commence.
Claim 42
Dependent Claim 24 words
The automatic transaction processing method of claim 36 further comprising also processing work of other objects invoked by the object within the new transaction.
Claim 43
Dependent Claim 20 words
The automatic transaction processing method of claim 36 wherein completion of the new transaction comprises attempting to commit the transaction.
Claim 44
Dependent Claim 49 words
The automatic transaction processing method of claim 36 wherein completion of the new transaction comprises committing the new transaction if all work within a scope of the new transaction was successfully processed, and aborting the new transaction if any work within the new transaction's scope was not successfully processed.
Claim 45
Dependent Claim 37 words
The automatic transaction processing method of claim 36 wherein the step of causing completion of the new transaction to commence is performed upon the object returning from a client call after signaling completion of the object's work.
Claim 46
Dependent Claim 29 words
The automatic transaction processing method of claim 40 wherein the object signals completion of the object's work through a function call that indicates successful completion of the object's work.
Claim 47
Dependent Claim 36 words
The automatic transaction processing method of claim 41 further comprising attempting to commit the new transaction upon the object's return from the client call in response to the signal indicating successful completion of the object's work.
Claim 48
Dependent Claim 29 words
The automatic transaction processing method of claim 40 wherein the object signals completion of the object's work through a function call that indicates unsuccessful completion of the object's work.
Claim 49
Dependent Claim 34 words
The automatic transaction processing method of claim 43 further comprising aborting the new transaction upon the object's return from the client call in response to the signal indicating unsuccessful completion of the object's work.
Claim 50
Independent Claim 50 words
A method of automatic transaction processing for distributed object server applications, comprising: at execution of an object, checking a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and processing work of the object within a transaction according to the transactional rule.
Claim 51
Independent Claim 50 words
A method of automatic transaction processing for distributed object server applications, comprising: at execution of an object, checking a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and processing work of the object within a transaction according to the transactional rule.
Claim 52
Dependent Claim 49 words
The method of claim 45 wherein the transactional rule indicates the object requires a new transaction in a particular circumstance, the method further comprising initiating a new transaction in a case where the object is in the particular circumstance and processing work of the object within the new transaction.
Claim 53
Dependent Claim 46 words
The method of claim 45 wherein the transactional rule indicates the object should participate in a client's transaction in a particular circumstance, the method further comprising processing work of the object within the client's transaction in a case where the object is in the particular circumstance.
Claim 54
Dependent Claim 142 words
The method of claim 45 wherein the transaction attribute is one of a not supported transaction attribute indicative of a first transactional rule that the object is not to have a transaction, a supported transaction attribute indicative of a second transactional rule that the object is to have a client's transaction in a circumstance where a client of the object has a transaction and otherwise is not to have a transaction, a required transaction attribute indicative of a third transactional rule that the object is to have a client's transaction in a circumstance where a client of the object has a transaction and otherwise is to have a new transaction, and a requires new transaction attribute indicative of a fourth transactional rule that the object is to have a new transaction regardless of whether a client of the object has a transaction.
Claim 55
Dependent Claim 20 words
The method of claim 45 wherein the step of checking the transaction attribute is performed upon instantiation of the object.
Claim 56
Dependent Claim 58 words
A computer-readable data storage medium having computer-executable program code stored thereon, where the program code comprises: code for checking, at execution of an object, a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and code for processing work of the object within a transaction according to the transactional rule.
Claim 57
Dependent Claim 58 words
A computer-readable data storage medium having computer-executable program code stored thereon, where the program code comprises: code for checking, at execution of an object, a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and code for processing work of the object within a transaction according to the transactional rule.
Claim 58
Dependent Claim 55 words
The computer-readable data storage medium of claim 50 wherein the transactional rule indicates the object requires a new transaction in a particular circumstance, the program code further comprising code for initiating a new transaction in a case where the object is in the particular circumstance and processing work of the object within the new transaction.
Claim 59
Dependent Claim 52 words
The computer-readable data storage medium of claim 50 wherein the transactional rule indicates the object should participate in a client's transaction in a particular circumstance, the program code further comprising code for processing work of the object within the client's transaction in a case where the object is in the particular circumstance.
Claim 60
Dependent Claim 145 words
The computer-readable data storage medium of claim 50 wherein the transaction attribute is one of a not supported transaction attribute indicative of a first transactional rule that the object is not to have a transaction, a supported transaction attribute indicative of a second transactional rule that the object is to have a client's transaction in a circumstance where a client of the object has a transaction and otherwise is not to have a transaction, a required transaction attribute indicative of a third transactional rule that the object is to have a client's transaction in a circumstance where a client of the object has a transaction and otherwise is to have a new transaction, and a requires new transaction attribute indicative of a fourth transactional rule that the object is to have a new transaction regardless of whether a client of the object has a transaction.
Claim 61
Dependent Claim 21 words
The method of claim 50 wherein the code for checking the transaction attribute performs said checking upon instantiation of the object.
Claim 62
Dependent Claim 96 words
In a computer system, a method of controlling an execution environment for distributed object computing to provide automatic transaction processing, the method comprising: defining a group of transaction attributes to represent transactional rules applied by the execution environment for automatically managing transactional work by an object being executed within the execution environment; and assigning a desired transaction attribute selected from the group to an object whereby the execution environment automatically manages transactional work by the object according to the transactional rule represented by the object's transaction attribute upon execution of the object within the execution environment.
Claim 63
Dependent Claim 96 words
In a computer system, a method of controlling an execution environment for distributed object computing to provide automatic transaction processing, the method comprising: defining a group of transaction attributes to represent transactional rules applied by the execution environment for automatically managing transactional work by an object being executed within the execution environment; and assigning a desired transaction attribute selected from the group to an object whereby the execution environment automatically manages transactional work by the object according to the transactional rule represented by the object's transaction attribute upon execution of the object within the execution environment.
Claim 64
Dependent Claim 35 words
The method of claim 55 wherein the group comprises a not supported transaction attribute indicative of a transactional rule that the execution environment is to manage work of the object as outside of any transaction.
Claim 65
Dependent Claim 61 words
The method of claim 55 wherein the group comprises a supported transaction attribute indicative of a transactional rule that the execution environment is to manage work of the object as part of a client's transaction in a circumstance where a client of the object has a transaction and otherwise is to manage work of the object as outside of any transaction.
Claim 66
Dependent Claim 60 words
The method of claim 55 wherein the group comprises a required transaction attribute indicative of a transactional rule that the execution environment is to manage the object's work as part of a client's transaction in a circumstance where a client of the object has a transaction and otherwise is to manage the object's work as part of a new transaction.
Claim 67
Dependent Claim 46 words
The method of claim 55 wherein the group comprises a requires new transaction attribute indicative of a transactional rule that the execution environment is to manage the object's work as part of a new transaction regardless of whether a client of the object has a transaction.
Claim 68
Dependent Claim 78 words
A distributed object computing system for automatic transaction processing, the system comprising: an object configuration database for storing transaction attributes associated to objects to be executed in the system, the transaction attributes notationally representing transactional rules applicable to the objects for processing work of the objects on a transactional basis; and an object execution service for causing an object to be executed on the system in accordance with the transactional rule represented by the object's associated transaction attribute.
Claim 69
Dependent Claim 78 words
A distributed object computing system for automatic transaction processing, the system comprising: an object configuration database for storing transaction attributes associated to objects to be executed in the system, the transaction attributes notationally representing transactional rules applicable to the objects for processing work of the objects on a transactional basis; and an object execution service for causing an object to be executed on the system in accordance with the transactional rule represented by the object's associated transaction attribute.
Claim 70
Dependent Claim 34 words
The distributed object computing system of claim 60 wherein a notation of the transaction attributes by which the transactional rules are represented includes at least “not supported,” “supported,” “required,” and “requires new” attribute names.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-01-12 2007-07-14 2008-01-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-01-12 2011-07-14 2012-01-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-01-12 2015-07-14 2016-01-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag