1. A computer-implementable method comprising:
creating a standard two-dimensional portal page; and
rendering a one-dimensional portlet from the standard two-dimensional portal page.
2. The computer-implementable method of claim 1, wherein the one-dimensional portlet is a podcast.
3. The computer-implementable method of claim 2, wherein the podcast is an aggregation of separate MP3 files.
4. The computer-implementable method of claim 3, wherein the MP3 files are obtained from different content providers.
5. The computer-implementable method of claim 4, further comprising:
installing multiple podcasts, from the different content providers, into the one-dimensional portlet, according to a user’s user-defined criterion that pre-exists in a two-dimensional portlet of the otherwise standard two-dimensional portal page.
6. The computer-implementable method of claim 5, wherein the user-defined criterion is selected from one or more criteria in a group composed of a user’s geographic location, employer and work section.
7. A system comprising:
a processor;
a data bus coupled to the processor;
a memory coupled to the data bus; and
a computer-usable medium embodying computer program code, the computer program code comprising instructions executable by the processor and configured for:
creating a standard two-dimensional portal page, wherein the standard two-dimensional portal page includes at least one portlet; and
modifying a layout of the portlet from being two-dimensional to one-dimensional to create a one-dimensional portlet in the otherwise standard two-dimensional portal page.
8. The system of claim 7, wherein the one-dimensional portlet is a podcast.
9. The system of claim 8, wherein the podcast is an aggregation of separate MP3 files.
10. The system of claim 9, wherein the MP3 files are obtained from different content providers.
11. The system of claim 10, wherein the instructions are further configured for:
installing multiple podcasts, from the different content providers, into the one-dimensional portlet, according to a user’s user-defined criterion that pre-exists in a two-dimensional portlet of the otherwise standard two-dimensional portal page.
12. The system of claim 11, wherein the user-defined criterion is selected from one or more criteria in a group composed of a user’s geographic location, employer and work section.
13. A computer-usable medium embodying computer program code, the computer program code comprising computer executable instructions configured for:
creating a standard two-dimensional portal page, wherein the standard two-dimensional portal page includes at least one portlet; and
modifying a layout of the portlet from being two-dimensional to one-dimensional to create a one-dimensional portlet in the otherwise standard two-dimensional portal page.
14. The computer-usable medium of claim 13, wherein the one-dimensional portlet is a podcast.
15. The computer-usable medium of claim 14, wherein the podcast is an aggregation of separate MP3 files.
16. The computer-usable medium of claim 15, wherein the MP3 files are obtained from different content providers.
17. The computer-usable medium of claim 16, wherein the computer executable instructions are further configured for:
installing multiple podcasts, from the different content providers, into the one-dimensional portlet, according to a user’s user-defined criterion that pre-exists in a two-dimensional portlet of the otherwise standard two-dimensional portal page.
18. The computer-usable medium of claim 17, wherein the user-defined criterion is selected from one or more criteria in a group composed of a user’s geographic location, employer and work section.
19. The computer-useable medium of claim 13, wherein the computer executable instructions are deployable to a client computer from a server at a remote location.
20. The computer-useable medium of claim 13, wherein the computer executable instructions are provided by a service provider to a customer on an on-demand basis.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method comprising:
receiving, by a data controller node in a data grid, an update request to update data stored at the data controller node for a transaction managed by a transaction originator node;
locking the data for the transaction at the data controller node;
identifying a copy of the data residing at one or more other nodes in the data grid;
sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes;
determining whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction; and
updating the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes.
2. The method of claim 1, further comprising:
releasing the lock on the data at the data controller node.
3. The method of claim 1, further comprising:
sending a message to each of the one or more other nodes to rollback data at the one or more other nodes to a previous state in response to not receiving the acknowledgment from each of the one or more other nodes; and
releasing the lock on the data at the data controller node.
4. The method of claim 1, further comprising:
locking the data at the data controller node for a second transaction managed by a second transaction originator node; and
sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the second transaction without locking the copy of the data at the one or more other nodes.
5. The method of claim 1, further comprising:
sending a message to transaction originator node indicating whether the data stored at the data controller node is updated for the transaction.
6. A method comprising:
identifying, by a first transaction originator node in a data grid, data to lock for a first transaction managed by the first transaction originator node, wherein the data matches data for a second transaction managed by a second transaction originator node;
determining by the first transaction originator node, that copies of the data resides at a plurality of enlisted nodes;
determining, by the first transaction originator node, which of the plurality of enlisted nodes is a data controller node for the data for the first transaction, wherein the data controller node for the first transaction matches a data controller node for the second transaction; and
sending, by the first transaction originator node, an update request for the first transaction to the data controller node, wherein the data controller node acquires a lock on the data for the first transaction and sends a message to remaining enlisted nodes in the plurality of enlisted nodes to update a copy of the data at the corresponding enlisted node without acquiring a lock on the copy of the data at the corresponding enlisted node.
7. The method of claim 6, wherein determining which of the plurality of enlisted nodes is a data controller node comprises:
determining a hash value for each of the plurality of enlisted nodes using corresponding node identifiers; and
ranking the plurality of enlisted nodes based on the hash values.
8. The method of claim 7, wherein the data controller node is the enlisted node having one of a greatest hash value or a least hash value.
9. The method of claim 6, wherein determining which of the plurality of enlisted nodes is a data controller node comprises:
accessing a list of a plurality of nodes in the data grid; and
identifying the data controller node based on positions in the list of the enlisted nodes that correspond to the data for the first transaction.
10. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device at a data controller node in a data grid, cause the processing device to perform a set of operations comprising:
receiving, by the data controller node, an update request to update data stored at the data controller node for a transaction managed by a transaction originator node;
locking the data for the transaction at the data controller node;
identifying a copy of the data residing at one or more other nodes in the data grid;
sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes;
determining whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction; and
updating the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes.
11. The non-transitory computer-readable storage medium of claim 10, the operations further comprising:
releasing the lock on the data at the data controller node.
12. The non-transitory computer-readable storage medium of claim 10, the method further comprising:
sending a message to each of the one or more other nodes to rollback data at the one or more other nodes to a previous state in response to not receiving the acknowledgment from each of the one or more other nodes; and
releasing the lock on the data at the data controller node.
13. The non-transitory computer-readable storage medium of claim 10, the operations further comprising:
locking the data at the data controller node for a second transaction managed by a second transaction originator node; and
sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the second transaction without locking the copy of the data at the one or more other nodes.
14. The non-transitory computer-readable storage medium of claim 10, the operations further comprising:
sending a message to transaction originator node indicating whether the data stored at the data controller node is updated for the transaction.
15. A system comprising:
a memory; and
a processing device in a data grid, the processing device coupled to the memory and configured to execute a process to
receive an update request to update data stored at the data controller node for a transaction managed by a transaction originator node,
lock the data for the transaction at the data controller node,
identify a copy of the data residing at one or more other nodes in the data grid,
send a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes,
determine whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction, and
update the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes.
16. The system of claim 15, wherein the processing device is further configured to:
release the lock on the data at the data controller node.
17. The system of claim 15, wherein the processing device is further configured to:
send a message to each of the one or more other nodes to rollback data at the one or more other nodes to a previous state in response to not receiving the acknowledgment from each of the one or more other nodes; and
release the lock on the data at the data controller node.
18. The system of claim 15, wherein the processing device is further configured to:
lock the data at the data controller node for a second transaction managed by a second transaction originator node; and
send a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the second transaction without locking the copy of the data at the one or more other nodes.
19. The system of claim 15, wherein the processing device is further configured to:
send a message to transaction originator node indicating whether the data stored at the data controller node is updated for the transaction.