1460725065-13336f6f-9c90-4c50-8644-57c631a50d07

1. A multiprocessor system comprising:
a plurality of processors;
a memory;
a node controller functioning to permit a preceding access request and prohibit a succeeding access request when access requests to said memory from said plurality of processors compete with one another; and
a processor bus for coupling at least two of said plural processors to said node controller,
wherein said node controller has:
the function of identifying, when a processor concerned in a memory access request once issued but prohibited reissues the memory access request destined for the same memory before said prohibited access request is finally permitted, said reissued request as a protection object; and
the function of identifying, as an in-course-of-retry access request, an access request which is issued from the processor other than the requester of said memory access, competes with said memory access request identified as the protection object and has not been permitted as an access request, and
wherein when said memory access request identified as the protection object sequentially competes twice with said in-course-of-retry access request, said memory access request identified as the protection object is permitted.
2. A multiprocessor system according to claim 1, wherein said node controller includes a retry decision unit having an in-course-of-retry bit for discriminating said in-course-of-retry access request.
3. A multiprocessor system according to claim 1 further comprising a buffer for storing information for discriminating between states before and after access request permission of said memory access request.
4. A multiprocessor system according to claim 2,
wherein said node controller includes an address store buffer for storing an issuer address of said memory access request; and
wherein when said memory access request competes with a preceding different access request destined for the same memory, a state \u201cWeak Retry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is valid and a state \u201cRetry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is invalid, so that the decision result of \u201cWeak Retry\u201d or \u201cRetry\u201d is transmitted to a requester of said preceding access request.
5. A multiprocessor system according to claim 4, wherein said node controller includes a starvation prevention control unit for avoiding starvation of a request from a specified processor and said starvation prevention control unit stores a NOFLIGHT bit indicating that an access request in competition with said access request of protection object has not been issued to the system and a READY bit indicating that said access request of protection object is permissible.
6. A multiprocessor according to claim 1, wherein said at least two processors and said node controller are formed on a same chip.
7. A node controller coupled with a processor bus to which a plurality of processors are coupled, an IO controller, a memory controller for connection of a memory and a system coupling switch, said node controller having:
the function of permitting a preceding access request and prohibiting a succeeding access request when access requests from said plurality of processors to said memory received through said processor bus compete with one another;
the function of identifying, when a processor concerned in a memory access request once issued but prohibited reissues the memory access request destined for the same memory before said prohibited access request is finally permitted, said reissued request as a protection object; and
the function of identifying, as an in-course-of-retry access request, an access request which is issued from the processor other than the requester of said memory access, competes with said memory access request identified as the protection object and has not been permitted as an access request, so that when said memory access request identified as the protection object sequentially competes twice with said in-course-of-retry access request, said memory access request identified as the protection object is permitted.
8. A node controller according to claim 7 comprising a retry decision unit having an in-course-of-retry bit for discriminating said in-course-of-retry access request.
9. A node controller according to claim 7 comprising a buffer for storing information for discriminating between states before and after access request permission of said memory access request.
10. A node controller according to claim 7 comprising an address store buffer for storing an issuer address of said memory access request, wherein when said memory access request competes with a preceding different access destined for the same address, a state \u201cWeak Retry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is valid and a state \u201cRetry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is invalid, so that the decision result of \u201cWeak Retry\u201d or \u201cRetry\u201d is transmitted to a requester of said preceding access request.
11. A node controller according to claim 10 further comprising a starvation prevention control unit for avoiding starvation of a request from a specified processor, wherein said starvation prevention control unit stores a NOFLIGHT bit indicating that an access request in competition with said access request of protection object has not been issued to the system and a READY bit indicating that said access request of protection object is permissible.
12. A node controller according to claim 7, wherein said at least two processors and said node controller are formed on a same chip.
13. A node controller which can be coupled with a processor bus to which a plurality of processors are coupled, an IO controller, a memory controller for connection of a memory and a system coupling switch,
wherein said node controller has the function of transmittingreceiving a transaction issue request the processor issues and a response to said transaction issue request through said processor bus; and
wherein when transaction issue requests destined for the same address compete with one another, said node controller transmits to said processor bus a response for permitting a preceding transaction issue request and a response for prohibiting a succeeding transaction issue request and responsive to a transaction issue request reissued to the same address by a processor having received said prohibition response, transmits to said processor bus a response to the effect that for the transaction issue request firstly reissued, said transaction is not issued and a response to the effect that for the transaction issue request twice or more reissued, said transaction is issued.
14. An address competition decision method to be executed on a node controller which is coupled to a processor bus coupled with a plurality of processors, an IO controller, a memory controller for connection of a memory and a system coupling switch and which has the function of, when access requests from said plurality of processors to said memory compete with one another, permitting a preceding access request and returning retry to a succeeding access request, comprising the steps of:
comparing, in respect of an access request to said memory, an address of a requester of said access request with an address stored in an address store buffer and deciding whether an address competition occurs in an entry having the in-course-of-retry bit being set;
identifying, as a starvation protection object, a memory access request reissued to the same memory by a processor having received said retry before said access request is permitted;
deciding, when the access request issued from the requester processor of said starvation protection object is in address competition with only an entry having said set in-course-of-retry bit in said address store buffer, whether said address competition is in the second occurrence; and
permitting said access request when said address competition is in the second occurrence.
15. An address competition decision method according to claim 14,
wherein said node controller has an address store buffer for storing an address of an issuer of said memory access request; and
wherein when said memory access request competes with a preceding different access request destined for the same memory, a state \u201cWeak Retry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is valid and a state \u201cRetry\u201d is determined if said preceding access request is one for which said in-course-of-retry bit is invalid, so that the decision result of \u201cWeak Retry\u201d or \u201cRetry\u201d is transmitted to the requester of said preceding access request.

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 of participating in multiple contests of skill each comprising a plurality of competitors and corresponding to a common event comprising:
a. receiving a list of competitive groups to join on a memory device;
b. selecting a plurality of competitive groups to join;
c. participating with the plurality of competitive groups by sending selections related to the common event from the memory device to a server, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors; and
d. receiving standings on the memory device from the server periodically and during participating with the plurality of competitive groups, wherein the standings are based on results from the selections, are separated based on the plurality of competitive groups and represent relative performance in the separate competitive groups.

2. The method as claimed in claim 1 wherein the event is selected from the group consisting of a television-based sporting event, an entertainment show and a game show.

3. The method as claimed in claim 1 wherein the event comprises classic card, dice, trivia and word games played simultaneously.

4. The method as claimed in claim 1 wherein the competitive groups are selected from the group consisting of service provider generated competitive groups and user generated competitive groups.

5. The method as claimed in claim 4 wherein the service provider generated competitive groups are based on general playing characteristics.

6. The method as claimed in claim 1 wherein the list of competitive groups to join is received on the device selected from the group consisting of a cellular phone, a laptop computer, a personal computer and a PDA.

7. The method as claimed in claim 1 wherein the competitive groups are maintained in a database.

8. The method as claimed in claim 1 wherein the results include a handicap.

9. A method of conducting multiple contests of skill each comprising a plurality of competitors, wherein the multiple contests correspond to a common event, the method comprising:
a. generating separate competitive groups related to the event;
b. coupling to a network with a memory device to participate in the competitive groups;
c. informing a user which of the competitive groups are available for the user to join;
d. joining a selected number of the competitive groups;
e. participating with the competitive groups by sending selections related to the common event from the memory device to a server within the network, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors;
f. storing results and standings on the server, wherein the standings are based on the results and the results are based on the selections and further wherein the standings are separated based on the plurality of competitive groups and represent performance in the competitive groups; and
g. transmitting the standings to the memory device periodically and during participating with the competitive groups.

10. The method as claimed in claim 9 further comprising displaying the standings on the device.

11. The method as claimed in claim 9 wherein the server contains an application and a database for assisting in generating the competitive group.

12. The method as claimed in claim 11 wherein the application includes a graphical user interface.

13. The method as claimed in claim 9 wherein the device contains an application for assisting in generating the competitive group.

14. The method as claimed in claim 9 wherein generating competitive groups related to the event further comprises:
a. coupling to the server;
b. selecting a type of contest and additional conditions to be included in the competitive group;
c. adding competitors to the competitive group; and
d. selecting the event for competition by the competitive group.

15. The method as claimed in claim 14 wherein the type of contest is selected from the group consisting of an open contest, a head-to-head contest and a team contest.

16. The method as claimed in claim 14 wherein adding competitors to the competitive group includes identifying the competitors by an identifier selected from the group consisting of a username, an email address, a cellular phone number and a personal identifier.

17. The method as claimed in claim 14 further comprising sending an invitation which informs the competitors of an opportunity to be included in the competitive group.

18. The method as claimed in claim 17 wherein the invitation is sent by a mechanism selected from the group consisting of an email, an SMS text message and a voice message.

19. The method as claimed in claim 9 wherein the event is selected from the group consisting of a television-based sporting event, an entertainment show and a game show.

20. The method as claimed in claim 9 wherein the event comprises classic card, dice, trivia and word games played simultaneously.

21. The method as claimed in claim 9 wherein the competitive groups are selected from the group consisting of service provider generated competitive groups and user generated competitive groups.

22. The method as claimed in claim 21 wherein the service provider generated competitive groups are based on general playing characteristics.

23. The method as claimed in claim 9 wherein the device is selected from the group consisting of a cellular phone, a laptop computer, a personal computer and a PDA.

24. The method as claimed in claim 9 wherein the competitive groups are maintained in a database.

25. The method as claimed in claim 9 wherein the results include a handicap.

26. A system for conducting multiple contests of skill each comprising a plurality of competitors and corresponding to a common event comprising:
a. a device; and
b. a server coupled to the device through a network for:
i. storing competitive groups;
ii. receiving selections related to the common event, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors;
iii. storing results and standings based on the selections, wherein the standings are based on the results, are separated based on the competitive groups and represent performance in the competitive groups; and
iv. transmitting the standings to the device periodically and during participation of the common event.

27. The system as claimed in claim 26 wherein the server is further for providing an interface for generating competitive groups related to the event.

28. The system as claimed in claim 26 wherein the device contains an application for generating the competitive groups related to the event.

29. The system as claimed in claim 26 wherein the event is selected from the group consisting of a television-based sporting event, an entertainment show and a game show.

30. The system as claimed in claim 26 wherein the event comprises classic card, dice, trivia and word games played simultaneously.

31. The system as claimed in claim 26 wherein the device communicates data for generating the competitive groups, for selecting the competitive groups to join and for submitting the selections.

32. The system as claimed in claim 26 wherein the network includes at least one of the Internet and a cellular network.

33. The system as claimed in claim 26 wherein the network identifies the competitive groups a user is eligible for.

34. The system as claimed in claim 26 further comprising a database stored on the server for managing the selections, the results, the standings and the competitive groups.

35. The system as claimed in claim 26 wherein the device is selected from the group consisting of a cellular phone, a laptop computer, a personal computer and a PDA.

36. The system as claimed in claim 26 wherein the results include a handicap.

37. A network of devices for conducting multiple contests of skill each comprising a plurality of competitors and corresponding to a common event comprising:
a. a plurality of devices; and
b. a server within a network, wherein the server and the plurality of devices communicate to conduct the multiple contests of skill corresponding to the common event, the server for:
i. storing competitive groups;
ii. receiving selections related to the common event, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors;
iii. storing results and standings based on the selections, wherein the standings are based on the results, are separated based on the competitive groups and represent performance in the competitive groups; and
iv. transmitting the standings to the device periodically and during participation of the common event.

38. The network of devices as claimed in claim 37 wherein the plurality of devices are selected from the group consisting of cellular phones, laptop computers, personal computers and PDAs.

39. A server device for conducting multiple contests of skill each comprising a plurality of competitors and corresponding to a common event comprising:
a. a storage mechanism; and
b. an application for interacting with the storage mechanism and a communicating device to generate and store competitive groups which are used to compete in the multiple contests of skill for:
i. receiving selections related to the common event, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors;
ii. storing results and standings based on the selections, wherein the standings are based on the results, are separated based on the competitive groups and represent performance in the competitive groups; and
iii. transmitting the standings to the device periodically and during participation of the common event.

40. The server device as claimed in claim 39 wherein the storage mechanism is a database.

41. The server device as claimed in claim 39 wherein the communicating device is selected from the group consisting of a cellular phone, a laptop computer, a personal computer and a PDA.

42. The server device as claimed in claim 39 wherein interacting with the storage mechanism and the communicating device further includes receiving selections and transmitting standings.

43. A device for participating in multiple contests of skill each comprising a plurality of competitors and corresponding to a common event comprising:
a. a communications module for coupling to a server, the server for;
i. storing competitive groups;
ii. receiving selections related to the common event, wherein the common event comprises a common set of game elements revealed simultaneously to all competitors;
iii. storing results and standings based on the selections, wherein the standings are based on the results, are separated based on the competitive groups and represent performance in the competitive groups; and
iv. transmitting the standings to the device periodically and during participation of the common event; and

b. an application for utilizing the communications module for coupling to a server to communicate with the server to generate competitive groups which are used to compete in the multiple contests of skill.

44. The device as claimed in claim 43 wherein the application utilizes the communications module for coupling to the server to send selections to and receive standings from the server.