Abstract:
Techniques for constructing a software application are provided. A data model of the application is represented as a relational model. Control logic of the application is defined to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation.
Abstract:
A cache is configured as a hybrid disk-overflow system in which data sets generated by applications running in a distributed computing system are stored in a fast access memory portion of cache, e.g., in random access memory and are moved to a slower access memory portion of cache, e.g., persistent durable memory such as a solid state disk. Each data set includes application-defined key data and bulk data. The bulk data are moved to slab-allocated slower access memory while the key data are maintained in fast access memory. A pointer to the location within the slower access memory containing the bulk data is stored in the fast access memory in association with the key data. Applications call data sets within the cache using the key data, and the pointers facilitate access, management and manipulation of the associated bulk data. Access, management and manipulation occur asynchronously with the application calls.
Abstract:
Techniques are disclosed for network distribution and provisioning of applications, such as transactional applications and parallel applications, across multiple administrative domains that ensure compliance with service level agreements. For example, a method of provisioning one or more resources in a distributed computing network to ensure compliance with a service level agreement associated with a computer application includes the following steps. Network performance is monitored between a local domain and one or more cooperating domains connected to the local domain by network paths. A present or predicted violation of the service level agreement is identified based on at least a portion of results of the monitoring step. One or more cooperating domains are selected that can effect compliance with the service level agreement by instantiating one or more network resources within at least one of the selected cooperating domains in response to a request from the local domain. Reconfiguration of the local domain is effectuated to allow the computer application to make use of the one or more newly instantiated network resources within the selected cooperating domain.
Abstract:
A method and apparatus for performing general integrity checks using rules in an application running on a data processing system. A point is identified at which a unit of work is to complete. The unit of work includes a plurality of participants. Responsive to determining that the unit of work is to complete, rules associated with each participant in the unit of work are obtained. Responsive to obtaining the rules, the rules obtained for each of the participants are run. Responsive to running the rules, the general integrity of the application state with respect to the unit of work is determined. Responsive to determining the general integrity of the application state, the unit of work is completed by committing it or aborting it.
Abstract:
A method of performing workload management within an object-oriented client/server computing environment wherein one of a plurality of servers is chosen to satisfy a client request based on at least one workload management policy, said method, which takes place within the client, includes steps of: deciding whether a client application program has issued a request for a server to do some work; forming an extended object reference based on said request, said extended object reference having, in addition to a server address field and an object key field, at least one additional field; accessing workload management policy data based on said extended object reference; and selecting one of said plurality of servers based on said accessed workload management policy data.
Abstract:
Techniques for constructing a software application are provided. A data model of the application is represented as a relational model. Control logic of the application is defined to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation.
Abstract:
Techniques for constructing a software application are provided. A data model of the application is represented as a relational model. Control logic of the application is defined to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation.
Abstract:
A leaky bucket checker which combines synchronous updates with event driven asynchronous updates triggered by packet arrivals. A synchronous update is performed exactly as an event-driven update by assuming that a packet of length zero has arrived at the time of the update. These updates are performed in a round robin fashion on each connection. Therefore, assuming that one such update can be performed in each clock tick, the maximum bit representation of the last update time state variable can be limited to N bits for 2.sup.N total connections. Given the reduced processing and storage costs, a great number of network connections and leaky bucket checkers is possible.
Abstract:
An on-demand manager provides an improved distributed data processing system for facilitating dynamic allocation of computing resources among multiple domains based on a current workload and service level agreements. Based on a service level agreement, the on-demand manager monitors and predicts the load on the system. If the current or predicted load cannot be handled with the current system configuration, the on-demand manager determines additional resources needed to handle the workload. If the service level agreement violations cannot be handled by reconfiguring resources at a domain, the on-demand manager sends a resource request to other domains. These other domains analyze their own commitments and may accept the resource request, reject the request, or counter-propose with an offer of resources and a corresponding service level agreement. Once the requesting domain has acquired resources, workload load balancers are reconfigured to allocate some of the workload from the requesting site to the acquired remote resources.
Abstract:
In accordance with a dual-MVC (Model-View-Controller) approach of the invention, the client machine maintains part of the Model, eliminating many round-trips to the server. The invention provides an implementation approach for constructing the frame(s) contained in the client's browser software to allow it to be refreshed locally. The invention addresses development and maintenance by specifying a library of functions that a programmer can use to construct the View and Controller on the client machine. When part of the Model is maintained on the client, the client has the ability to respond to user interaction without paying the performance penalty of continually interacting with the server.