摘要:
A system and method featuring a collection of model objects which hold data to be shared, and supporting interfaces to read and write the data, to create and destroy collaboration relationships and to attach “view objects” containing application code which will be automatically notified of value changes. Each user environment is provided with a model object control entity, referred to herein as a Collaboration Manager, which creates model objects, executes transactions, and creates association objects related to the collaboration. A concurrency control mechanism records the reads and updates of the data and of collaboration relationships within a single transaction site and guarantees that they are applied atomically and consistently to both the local and to all remote replica objects of the collaboration.
摘要:
A system and method featuring a collection of model objects which hold data to be shared, and supporting interfaces to read and write the data, to create and destroy collaboration relationships and to attach “view objects” containing application code which will be automatically notified of value changes. Each user environment is provided with a model object control entity, referred to herein as a Collaboration Manager, which creates model objects, executes transactions, and creates association objects related to the collaboration. A concurrency control mechanism records the reads and updates of the data and of collaboration relationships within a single transaction site and guarantees that they are applied atomically and consistently to both the local and to all remote replica objects of the collaboration.
摘要:
A technique for reliably multicasting a message within a router network in a sequenced order with other messages is provided. At least one special router in the network has associated persistent storage for sequencing a message being routed to one or more clients. When a message is received at this sequencer node, the sequencer places a sequence number for the message in persistent storage and sends a sequencing acknowledgment back to those routers to which the message was originally routed, as well as back towards the source of the message. The sequencer acknowledgment includes the message id, and the sequencing number. When the sequencer acknowledgment is received by a router, it looks up the routing information from the original message, and sends the acknowledgment to those neighboring routers to which the original message was sent, excluding the link from which the sequencer acknowledgment was received. If the original message corresponding to the sequencer acknowledgment was buffered at this router waiting to be delivered, the message is then delivered to its client nodes.
摘要:
A technique for reliably multicasting a message within a router network is provided. At least one special router in the network has associated persistent storage for logging a message being routed to one or more clients. When a message is received at this logger node, the logger places the message in persistent storage and sends a logging acknowledgment back to those routers to which the message was originally routed, as well as back towards the source of the message. The logger acknowledgment includes the message id, the logger id, and a logging number. When the logger acknowledgment is received by a router, it looks up the routing information from the original message, and sends the acknowledgment to those neighboring routers to which the original message was sent, excluding the link from which the logger acknowledgment was received. If the original message corresponding to the logger acknowledgment was buffered at this router waiting to be delivered, the message is then delivered to its client nodes. Processes for recovering from node or link failure within the router network, and for at most once delivery of messages, at least once delivery of messages, and exactly once delivery of messages are also provided.
摘要:
An adaptive view mechanism can dynamically adapt to changing conditions and provide the benefits of both optimistic and pessimistic notifications. This can, for example, provide a consistent and jitter-free GUI to display the state of distributed replicated data objects in the presence of concurrency control conflicts and losses. In a Model-View-Controller architecture of building distributed collaborative applications where model objects are replicated at distributed sites, adaptive views can dynamically switch between behaving like pessimistic views and like optimistic views. When the number of concurrent updates is low, the adaptive views can be made to operate in an optimistic mode—providing good responsiveness to users. However, during those periods of heavy activity, when the number of concurrent updates becomes high, the adaptive view can be made to operate in a pessimistic manner—providing more reliable response to users. For each adaptive view, a programmer can specify a policy object that can monitor the prevailing conflict rate and loss rate as if the adaptive view were behaving optimistically. Using these rates, the policy object can apply arbitrary application logic or thresholds to determine whether it is beneficial for the adaptive view to behave optimistically or pessimistically. The policy object can then request the adaptive view to dynamically adapt its behavior to the appropriate manner. In general however, the dynamic switching can be based on any application specific request to switch modes. Distributed sites that have replicated copies of the same model object can view the replica heterogeneously, that is, pessimistically, optimistically, or adaptively, according to the user's requirements.
摘要:
Disclosed are methods, systems and computer program products for generating a change approval plan for a computing system. The computing system has at least one component and at least two user groups, and each user group has an approver. A request to change at least one said component is received. It is determined which components are affected by the change request. An initial set of approvals to be obtained from at least one of said approvers is determined based on dependencies of the affected components with other components, and based on the approvers required for each affected and dependent component. The initial set of approvals is rearranged into sub-groups such that components falling within each sub-group are dependent only upon components within a respective same group.
摘要:
Disclosed are methods, systems and computer program products for generating a change approval plan for a computing system. The computing system has at least one component and at least two user groups, and each user group has an approver. A request to change at least one said component is received. It is determined which components are affected by the change request. An initial set of approvals to be obtained from at least one of said approvers is determined based on dependencies of the affected components with other components, and based on the approvers required for each affected and dependent component. The initial set of approvals is rearranged into sub-groups such that components falling within each sub-group are dependent only upon components within a respective same group.
摘要:
A system and method to support embedded complete controller specification through explicit controller overlays are provided. The system and method partitions the controller layer of the MVC into a plurality of controller overlays. For example, a macro controller overlay, micro controller overlay, and global controller overlay are established for specifying macro controller objects, micro controller objects and global controller objects. Editors are provided for each of the plurality of controller overlays. The combination of the micro control overlay, macro control overlay, and global control overlay results in a complete controller specification for an application.
摘要:
A method and a system for automated verification and status identification (context) of objects using data about the objects captured via computer-enabled sensing elements are provided. The object may include goods tagged with electronic identifiers. The objects are shipped from one location to another, and identified via their electronic identifiers. The objects are scanned at the various locations by a number of sensing devices. The outcome of sensing is then compared with stored information describing the object and pointed at by their electronic identifier. The comparison is used to automatically verify that the scanned object is as identified and evaluate its condition.
摘要:
A method and supporting application-development tool are provided for building such a set of application flows. The method includes the steps of (a) a developer obtaining a “generic” flow model for the application; (b) the developer specifying the set of targets; (c) automatically creating a specialized flow model for each of the targets; (d) the developer modifying at least one of the generic flow model and the specialized flow models; (e) automatically generating specialized applications corresponding to the specified specialized flow models; and (f) deploying the specialized applications on the corresponding targets.