摘要:
A method for cross-triggering transitions in independent finite state machines is provided. For a given plurality of finite state machine definitions having a plurality of states and a plurality of transitions among the states, two or more independent instances of the plurality of finite state machine definitions are created. In addition, associations between two or more of the independent finite state machine instances are identified. The method uses cross-triggering rules that identify a condition in a first one of the associated independent finite state machine instances that triggers a transition action in a second one of the associated independent finite state machine instances. Each cross-triggering rule is triggered upon an occurrence of the cross-triggering rule condition, and the transition action in the second associated independent finite state machine instance is performed in response to the triggering of the cross-triggering rule.
摘要:
A method for cross-triggering transitions in independent finite state machines is provided. For a given plurality of finite state machine definitions having a plurality of states and a plurality of transitions among the states, two or more independent instances of the plurality of finite state machine definitions are created. In addition, associations between two or more of the independent finite state machine instances are identified. The method uses cross-triggering rules that identify a condition in a first one of the associated independent finite state machine instances that triggers a transition action in a second one of the associated independent finite state machine instances. Each cross-triggering rule is triggered upon an occurrence of the cross-triggering rule condition, and the transition action in the second associated independent finite state machine instance is performed in response to the triggering of the cross-triggering rule.
摘要:
The invention provides a system/method of processing client requests over a computer network of hosts, that includes creating persistent containers in the hosts, creating objects in the containers, grouping the containers into grid container arrays, grouping objects within containers that are within a single grid container array into grid object arrays, creating one micro scheduler for each grid container array, dividing each of the client requests into a plurality of tasks, and assigning groups of the tasks to the microschedulers, wherein the microschedulers assign individual tasks to the objects. The invention assigns the microschedulers additional groups of tasks as the microschedulers return groups of completed tasks. The method can also include passing the client requests through gateways to multiple grid services schedulers.
摘要:
A determination can be made of how changes to underlying data affect the value of objects. Examples of applications are: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to “trigger” a dynamic rebuild of associated objects. Thus, obsolete objects can be dynamically replaced with fresh objects. The objects can be complex objects, such as dynamic Web pages or compound-complex objects, and the data can be underlying data in a database. The update can include either: storing a new version of the object in the cache; or deleting an object from the cache. Caches on multiple servers can also be synchronized with the data in a single common database. Updated information, whether new pages or delete orders, can be broadcast to a set of server nodes, permitting many systems to simultaneously benefit from the advantages of prefetching and providing a high degree of scaleability.
摘要:
A determination can be made of bow changes to underlying data affect the value of objects. Examples of applications are: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to “trigger” a dynamic rebuild of associated objects. Thus, obsolete objects can be dynamically replaced with fresh objects. The objects can be complex objects, such as dynamic Web pages or compound-complex objects, and the data can be underlying data in a database. The update can include either storing a new version of the object in the cache; or deleting an object from the cache. Caches on multiple servers can also be synchronized with the data in a single common database. Updated information, whether new pages or delete orders, can be broadcast to a set of server nodes, permitting many systems to simultaneously benefit from the advantages of prefetching and providing a high degree of scaleability.
摘要:
A determination can be made of how changes to underlying data affect the value of objects. Examples of applications include: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph, called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to "trigger" a dynamic rebuild of associated objects. Thus, obsolete objects can be dynamically replaced with fresh objects. The objects can be complex objects, such as dynamic Web pages or compound-complex objects, and the data can be underlying data in a database. The update can include either: storing a new version of the object in the cache; or deleting an object from the cache. Caches on multiple servers can also be synchronized with the data in a single common database. Updated information, whether new pages or delete orders, can be broadcast to a set of server nodes, permitting many systems to simultaneously benefit from the advantages of prefetching and providing a high degree of scaleability.
摘要:
Methods for serving data include maintaining an incomplete version of an object at a server and at least one fragment at the server. In response to a request for the object from a client, the incomplete version of the object, an identifier for a fragment comprising a portion of the objects and a position for the fragment within the object are sent to the client. After receiving the incomplete version of the object, the identifier, and the position, the client requests the fragment from the server using the identifier. The object is constructed by including the fragment in the incomplete version of the object in a location specified by the position.
摘要:
The invention provides a system/method of processing client requests over a computer network of hosts, that includes creating persistent containers in the hosts, creating objects in the containers, grouping the containers into grid container arrays, grouping objects within containers that are within a single grid container array into grid object arrays, creating one micro scheduler for each grid container array, dividing each of the client requests into a plurality of tasks, and assigning groups of the tasks to the microschedulers, wherein the microschedulers assign individual tasks to the objects. The invention assigns the microschedulers additional groups of tasks as the microschedulers return groups of completed tasks. The method can also include passing the client requests through gateways to multiple grid services schedulers.
摘要:
Methods for serving data include maintaining an incomplete version of an object at a server and at least one fragment at the server. In response to a request for the object from a client, the incomplete version of the object, an identifier for a fragment comprising a portion of the objects and a position for the fragment within the object are sent to the client. After receiving the incomplete version of the object, the identifier, and the position, the client requests the fragment from the server using the identifier. The object is constructed by including the fragment in the incomplete version of the object in a location specified by the position.
摘要:
Methods for serving data include maintaining an incomplete version of an object at a server and at least one fragment at the server. In response to a request for the object from a client, the incomplete version of the object, an identifier for a fragment comprising a portion of the object, and a position for the fragment within the object are sent to the client. After receiving the incomplete version of the object, the identifier, and the position, the client requests the fragment from the server using the identifier. The object is constructed by including the fragment in the incomplete version of the object in a location specified by the position.