1461107722-4f1fc0ee-6e28-4c1a-81f3-3eab201bffca

1. A method for regenerating a failed storage node from a total number of storage nodes storing a file, the method comprising:
splitting the file into a plurality of file segments using a formula, B=k (n\u2212k+1), wherein B indicates the plurality of file segments, and wherein n indicates the total number of nodes, and wherein k indicates a plurality of data storage nodes of the total number of nodes (n), and wherein (n\u2212k) indicates one or more parity nodes of the total number of storage nodes (n), and wherein the total number of storage nodes (n) are capable of storing the plurality of file segments (B);
constructing an encoded matrix (M) using the plurality of file segments (B), wherein the encoded matrix (M) comprises (n\u22121) rows and n columns, wherein a column of the encoded matrix (M) represents one of a data storage node or a parity node, and wherein the encoded matrix (M) is,
M
=
(
R
(

k
–
1

)

\xd7
k
D

k
\xd7

(

n
–
k

)
T
D
(

n
–
k

)

\xd7
k
S
(

n
–
k
–
1

)

\xd7

(

n
–
k

)
)
(

n
–
1

)

\xd7
n
,
and wherein R(k\u22121)\xd7k, D(n\u2212k)\xd7k and DTk\xd7(n\u2212k) indicate sub-matrices comprising the plurality of file segments (B), and wherein R(k\u22121)\xd7k is a cyclic matrix, and wherein S(n\u2212k\u22121)\xd7(n\u2212k) indicates a parity matrix formed by performing an XOR operation on the plurality of file segments (B);
distributing the plurality of file segments (B) on the total number of storage nodes (n) based on the matrix (M), such that each storage node of the total number of nodes (n) is configured to store (n\u22121) file segments; and
regenerating at least one file segment stored on the failed storage node upon identifying the failed node, wherein at least one file segment is regenerated by using at least one other file segment based on the matrix (M), and wherein at least one other file segment corresponds to remaining nodes (n\u22121) of the total number of nodes (n), and wherein the regenerating at least one file segment from each of the remaining nodes (n\u22121) facilitates the regeneration of the failed storage node, and wherein the splitting, the encoding, the distributing and the regenerating are performed by a processor.
2. The method of claim 1, wherein the plurality of data storage nodes (k)>2 and is equal to (n\u22122).
3. The method of claim 1, wherein the one or more parity nodes (n\u2212k) is 2.
4. The method of claim 1, wherein the failed storage node is at least one of the data storage node and the parity node.
5. The method of claim 1, wherein the R(k\u22121)\xd7k comprises one or more file segments of the plurality of file segments (B), wherein the one or more file segments are distributed in a cyclic manner.
6. The method of claim 5, wherein the D(n\u2212k)\xd7k comprises file segments other than the one or more file segments.
7. The method of claim 1, wherein the DTk\xd7(n\u2212k) is a transpose matrix of the D(n\u2212k)\xd7k.
8. A system for regenerating a failed storage node from a total number of storage nodes storing a file, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing instructions stored in the memory, and wherein the instructions comprising:
splitting the file into a plurality of file segments using a formula, B=k (n\u2212k+1), wherein B indicates the plurality of file segments, and wherein n indicates the total number of nodes, and wherein k indicates a plurality of data storage nodes of the total number of nodes (n), and wherein (n\u2212k) indicates one or more parity nodes of the total number of storage nodes (n), and wherein the total number of storage nodes (n) are capable of storing the plurality of file segments (B);
constructing an encoded matrix (M) using the plurality of file segments (B), wherein the encoded matrix (M) comprises (n\u22121) rows and n columns, wherein a column of the encoded matrix (M) represents one of a data storage node or a parity node, and wherein the encoded matrix (M) is,
M
=
(
R
(

k
–
1

)

\xd7
k
D

k
\xd7

(

n
–
k

)
T
D
(

n
–
k

)

\xd7
k
S
(

n
–
k
–
1

)

\xd7

(

n
–
k

)
)
(

n
–
1

)

\xd7
n
,
and wherein R(k\u22121)\xd7k, D(n\u2212k)\xd7k and DTk\xd7(n\u2212k) indicate sub-matrices comprising the plurality of file segments (B), and wherein R(k\u22121)\xd7k is a cyclic matrix, and wherein S(n\u2212k\u22121)\xd7(n\u2212k) indicates a parity matrix formed by performing an XOR operation on the plurality of file segments (B);

distributing the plurality of file segments (B) on the total number of storage nodes (n) based on the matrix (M), such that each storage node of the total number of nodes (n) is configured to store (n\u22121) file segments; and
regenerating at least one file segment stored on the failed storage node upon identifying the failed node, wherein at least one file segment is regenerated by using at least one other file segment based on the matrix (M), and wherein at least one other file segment corresponds to remaining nodes (n\u22121) of the total number of nodes (n), and wherein the regenerating at least one file segment from each of the remaining nodes (n\u22121) facilitates the regeneration of the failed storage node.

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 sharing media content among families of broadcast stations, the method comprising:
receiving information relating to media content from families of broadcast stations;
storing the information such that the information is accessible to at least two of the families of broadcast stations via a computer network;
receiving a query for specific media content from a broadcast station that is a member of a first family of broadcast stations, the specific media content being associated with a second family of broadcast stations that is different from the first family;
searching the stored information in accordance with the query to identify the specific media content; and
enabling the broadcast station to access to the specific media content if the specific media content is identified among the stored information.
2. The method of claim 1, wherein the information identifies media content by family of broadcast station and by one or more attributes of the media content.
3. The method of claim 2, wherein the one or more attributes comprises at least one of a title associated With the media content, an artist associated with the media content, notes associated with the media content, a composer associated with the media content, a producer associated with the media content, a category associated with the media content, a type number associated with the media content, an advertiser number associated with the media content and user-defined custom information.
4. The method of claim 3, further comprising;
generating a graphical user interface (GUI) comprising one or more fields;
wherein the query corresponds to information contained in the one or more fields of the GUI.
5. The method of claim 1, further comprising:
generating a graphical user interface (GUI) comprising one or more options for accessing the specific media content;
wherein enabling comprises;
receiving a selection corresponding to the one or more options; and
instructing a broadcast station that stores the specific media content to provide the specific media content to the broadcast station that issued the query.
6. The method of claim 5, wherein the one or more options comprise:
an option to obtain the specific media content immediately; and
an option to obtain the media content at a predefined time.
7. The method of claim 1, wherein the media content comprises music from the families of broadcast stations; and
wherein the media content is stored in one or more repositories that are communicatively coupled to the network.
8. The method of claim 1, wherein the broadcast stations comprise radio stations, and the method is performed at one or more computer systems that are separate from the families of broadcast stations.
9. A method of sharing media content among families of broadcast stations, the method comprising:
receiving information relating to media content for families of broadcast stations;
storing the information such that the information is accessible to at least one of the families of broadcast stations via a computer network;
receiving a query for specific media content from a broadcast station that is a member of a first family of broadcast stations, the specific media content being associated with a second family of broadcast stations that is different from the first family;
searching the information in accordance with the query to identify a location of the specific media content;
obtaining the specific media content from the location; and
providing the specific media content to the broadcast station.
10. The method of claim 9, further comprising;
generating a graphical user interface (GUI) comprising one or more fields;
wherein the query corresponds to information contained in the one or more fields of the GUI.
11. The method of claim 9, wherein the method is performed at a central server and the location of the specific media content comprises one or more servers that are remote from the central server, the one or more servers being communicatively coupled to the central server via one or more computer networks.
12. The method of claim 9, wherein the broadcast stations comprise radio stations, and the method is performed at one or more computer systems that are associated with a broadcast station that is a member of the second family.
13. A computing device comprising a computer program product stored on a computer readable medium, the stored computer program product including executable instructions for use in sharing media content among families of broadcast stations, the executable instructions for causing the computing device to perform functions comprising:
receiving information relating to media content from families of broadcast stations;
storing the information such that the information is accessible to at least two of the families of broadcast stations via a computer network;
receiving a query for specific media content from a broadcast station that is a member of a first family of broadcast stations, the specific media content being associated with a second family of broadcast stations that is different from the first family;
searching the stored information in accordance with the query to identify the specific media content; and
enabling the broadcast station to access to the specific media content if the specific media content is identified among the stored information.
14. The computing device of claim 13, wherein the information identifies media content by family of broadcast station and by one or more attributes of the media content.
15. The computing device of claim 14, wherein the one or more attributes comprises at least one of a title associated with the media content an artist associated with the media content, notes associated with the media content, a composer associated with the media content, a producer associated with the media content, a category associated with the media content, a type number associated with the media content, an advertiser number associated with the media content, and user-defined custom information.
16. The computing device of claim 15, further comprising executable instructions for causing the computing device to perform functions comprising:
generating a graphical user interface (GUI) comprising one or more fields;
wherein the query corresponds to information contained in the one or more fields of the GUI.
17. The computing device of claim 13, further comprising executable instructions for causing the computing device to perform functions comprising:
generating a graphical user interface (GUI) comprising one or more options for accessing the specific media content;
wherein enabling comprises;
receiving a selection corresponding to the one or more options; and
instructing a broadcast station that stores the specific media content to provide the specific media content to the broadcast station that issued the query.
18. The computing device of claim 17, wherein the one or more options comprise:
an option to obtain the specific media content immediately; and
an option to obtain the media content at a predefined time.
19. The computing device of claim 13, wherein the media content comprises music from the families of broadcast stations; and
wherein the media content is stored in one or more repositories that are communicatively coupled to the network.
20. The computing device of claim 13, wherein the broadcast stations comprise radio stations, and the computing device is resident at one or more computer systems that are separate from the families of broadcast stations.
21. A computing device comprising a computer program product stored on a computer readable medium, the stored computer program product including executable instructions for use in sharing media content among families of broadcast stations, the executable instructions for causing the computing device to perform functions comprising;
receiving information relating to media content for families of broadcast stations;
storing the information such that the information is accessible to at least one of the families of broadcast stations via a computer network;
receiving a query for specific media content from a broadcast station that is a member of a first family of broadcast stations, the specific media content being associated with a second family of broadcast stations that is different from the first family;
searching the information in accordance with the query to identify a location of the specific media content;
obtaining the specific media content from the location; and
providing the specific media content to the broadcast station.
22. The computing device of claim 21, further comprising executable instructions for causing the computing device to perform functions comprising;
generating a graphical user interface (GUI) comprising one or more fields;
wherein the query corresponds to information contained in the one or more fields of the GUI.
23. The computing device of claim 21, wherein the computing device is resident at a central server and the location of the specific media content comprises one or more servers that are remote from the central server, the one or more servers being communicatively coupled to the central server via one or more computer networks.
24. The computing device of claim 21, wherein the broadcast stations comprise radio stations, and the computing device is resident at one or more computer systems that are associated with a broadcast station that is a member of the second family.
25. The method of claim 9, further comprising:
receiving other media content from another broadcast station among the families of broadcast stations; and
screening the other media content in accordance with one or more predefined rules.
26. The method of claim 9, further comprising:
receiving other media content from another broadcast station among the families of broadcast stations, the other media content having metadata associated therewith; and
changing the metadata.
27. The computing device of claim 21, further comprising executable instructions for causing the computing device to perform functions comprising:
receiving other media content from another broadcast station among the families of broadcast stations; and
screening the other media content in accordance with one or more predefined rules.
28. The computing device of claim 21, further comprising executable instructions for causing the computing device to perform functions comprising:
receiving other media content from another broadcast station among the families of broadcast stations, the other media content having metadata associated therewith; and
changing the metadata.

1461107711-ba9c4a01-9f28-4507-831a-ee5da9280b78

1. A method of enabling a game to be played on an electronic device, the method comprising:
enabling a game application on the electronic device to utilize a contact list for an instant messaging (IM) application for playing games with contacts in the contact list; and
during game play with a particular contact in the contact list, preparing game messages to be sent to the particular contact by including data in an IM message and an identifier to associate the data with the game application.
2. The method according to claim 1, further comprising maintaining game in progress data based on the game messages.
3. The method according to claim 2, wherein the game messages comprise game progress for a particular game in progress, the method further comprising updating the game in progress data upon sending or receiving a game message.
4. The method according to claim 1, further comprising associating a contact list entry in the contact list with a game in progress associated with the game messages.
5. The method according to claim 4, further comprising displaying a graphical user interface (GUI) for the game in progress upon detecting selection of the contact list entry associated with the game in progress.
6. The method according to claim 5, further comprising maintaining game in progress data upon switching away from the GUI to enable the game in progress to be resumed upon a re-invocation of the GUI.
7. The method according to claim 6, further comprising, upon the game in progress ending, removing the game in progress association with the contact list entry.
8. The method according to claim 4, further comprising displaying a notification of a new move received for the game in progress in a new game message.
9. A computer readable storage medium comprising computer executable instructions for enabling a game to be played on an electronic device, the computer readable medium comprising instructions for:
enabling a game application on the electronic device to utilize a contact list for an instant messaging (IM) application for playing games with contacts in the contact list; and
during game play with a particular contact in the contact list, preparing game messages to be sent to the particular contact by including data in an IM message and an identifier to associate the data with the game application.
10. The computer readable storage medium according to claim 9, further comprising instructions for maintaining game in progress data based on the game messages.
11. The computer readable storage medium according to claim 10, wherein the game messages comprise game progress for a particular game in progress, the computer readable storage medium further comprising instructions for updating the game in progress data upon sending or receiving a game message.
12. The computer readable storage medium according to claim 9, further comprising instructions for associating a contact list entry in the contact list with a game in progress associated with the game messages.
13. The computer readable storage medium according to claim 12, further comprising instructions for displaying a graphical user interface (GUI) for the game in progress upon detecting selection of the contact list entry associated with the game in progress.
14. The computer readable storage medium according to claim 13, further comprising instructions for maintaining game in progress data upon switching away from the GUI to enable the game in progress to be resumed upon a re-invocation of the GUI.
15. The computer readable storage medium according to claim 14, further comprising instructions for, upon the game in progress ending, removing the game in progress association with the contact list entry.
16. The computer readable storage medium according to claim 12, further comprising instructions for displaying a notification of a new move received for the game in progress in a new game message.
17. An electronic device comprising a processor, display, an instant messaging (IM) application, and a memory, the memory storing computer executable instructions for enabling a game to be played on the electronic device, the computer executable instructions comprising instructions for:
enabling a game application on the electronic device to utilize a contact list for an instant messaging (IM) application for playing games with contacts in the contact list; and
during game play with a particular contact in the contact list, preparing game messages to be sent to the particular contact by including data in an IM message and an identifier to associate the data with the game application.
18. The electronic device according to claim 17, further comprising instructions for maintaining game in progress data based on the game messages.
19. The electronic device according to claim 18, wherein the game messages comprise game progress for a particular game in progress, the memory further comprising instructions for updating the game in progress data upon sending or receiving a game message.
20. The electronic device according to claim 17, further comprising instructions for associating a contact list entry in the contact list with a game in progress associated with the game messages.
21. The electronic device according to claim 20, further comprising instructions for displaying a graphical user interface (GUI) for the game in progress upon detecting selection of the contact list entry associated with the game in progress.
22. The electronic device according to claim 21, further comprising instructions for maintaining game in progress data upon switching away from the GUI to enable the game in progress to be resumed upon a re-invocation of the GUI.
23. The electronic device according to claim 22, further comprising instructions for, upon the game in progress ending, removing the game in progress association with the contact list entry.
24. The electronic device according to claim 20, further comprising instructions for displaying a notification of a new move received for the game in progress in a new game message.
25. A method comprising:
displaying in a first portion of a screen for a mobile device, a game application interface for a game in progress;
displaying in a second portion of the screen, an instant messaging (IM) conversation between players associated with the game in progress;
enabling game moves to be executed in the first portion of the screen; and
enabling an IM conversation to occur between the players in the second portion of the screen.
26. A method comprising:
displaying, on a screen for a mobile device, a game application interface for a game in progress;
enabling an instant messaging (IM) conversation to occur between players associated with the game in progress; and
displaying new instant messages over top of the game application interface.
27. The method according to claim 26, wherein the new instant messages are displayed over top of the game application interface for a limited period of time.

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 for patching element defects by ink-jet printing, comprising steps of:
identifying a plurality of defect positions on a element;
obtaining an optimal ink-jet printing patching path covering said defect positions in a shortest distance based on position of a nozzle of ink-jet head; and
printing and patching said defects along said optimal patching path.
2. The method for patching defects of an element by ink-jet printing according to claim 1, wherein said step of identifying a plurality of defect positions comprises steps of:
capturing an image of said element;
removing noise from said image and establishing an image template;
pixelizing said image template and splitting it into a plurality of smaller images; and
analyzing and obtaining said defect positions through comparison of said image template to a standard template.
3. The method for patching defects of an element by ink-jet printing according to claim 2, wherein said step of removing noise and establishing an image template comprises steps of:
removing unnecessary image portions through a threshold of image segmentation;
rotating and aligning said image to a right position and detecting edge and calibrating said image to comply with physical measurements;
pre-processing said image to remove noise; and
filtering background of said image through image subtraction and comparison of said image template to said standard template.
4. The method for patching defects of an element by ink-jet printing according to claim 3, wherein said step of pre-processing said image comprises noise removal, color range conversion, increasing contrast, binary transformation and extract color planes.
5. The method for patching defects of an element by ink-jet printing according to claim 2, wherein said step of analyzing and obtaining said defect positions comprises steps of:
identifying a plurality of defects through pattern matching;
calculating area of each defect;
calculating necessary patching positions for each defect; and
setting said patching positions as defect positions.
6. The method for patching defects of an element by ink-jet printing according to claim 1, wherein said step of obtaining an optimal ink-jet printing patching path covering said defect positions in a shortest distance comprises steps of:
a) establishing a plurality of defect coordinates (Xi,Yi), i=1 to n;
b) referring on a reference coordinate (X0,Y0) of said nozzle of ink-jet head, and calculating distances Ri between said reference point and said plurality of defect positions, Ri=((Xi\u2212X0)2+(Yi\u2212Y0)2)12; and
c) selecting a defect position with a minimal Ri value as a next patching position.
7. The method for patching defects of an element by ink-jet printing according to claim 6, wherein said patching position is preset with coordinate of said nozzle and repeating said steps b) and c) for obtaining said next patching position till all defect positions are taken to form said optimal path.
8. The method for patching defects of an element by ink-jet printing according to claim 1, further comprises a step of labeling said defect positions to indicate patching status to speed up calculation in patch position.
9. The method for patching defects of an element by ink-jet printing according to claim 8, further comprises a step of checking said position labeling to verify finishing of said patching.
10. The method for patching defects of an element by ink-jet printing according to claim 1, further comprises a step of pre-oscillating ink in said nozzle and stabilizing said ink-jet printing.
11. The method for patching defects of an element by ink-jet printing according to claim 10, wherein said step of pre-oscillating is to provide pre-oscillating pulses to said nozzle with energy lower than an ejection voltage, while maintaining oscillation of ink in said nozzle to prevent ink from being dried and clogging said nozzle when said ink-jet head moving in said path between non-adjacent defect positions.