1. A method, comprising:
encoding N data bits using one of a plurality of codes derived from at least N+1 bits wherein the plurality of codes derived from the at least N+1 bits comprise no more than M bits at a first logical level and at least M\u22122 bits at a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise a specified even or odd number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes not comprising said specified even or odd number of bits at the specified one of the first and second logical levels indicates an error condition.
2. The method of claim 1, wherein said encoding said N data bits includes encoding eight data bits using one of a plurality of codes derived from ten bits wherein the ten bits comprise no more than six bits at the first logical level and at least four bits at the second logical level.
3. The method of claim 1, further comprising transmitting the one of the plurality of codes from a transmitting device to a receiving device.
4. The method of claim 1, further comprising outputting the one of the plurality of codes from a transmitting unit of an integrated circuit to a receiving unit of the integrated circuit.
5. The method of claim 1, wherein the plurality of codes derived from at least N+1 bits comprise at least in part special characters configured for error detection andor correction.
6. A method, comprising:
decoding one of a plurality of codes derived from at least N+1 bits to produce N decoded data bits, wherein the plurality of codes derived from the at least N+1 bits comprise no more than M bits at a first logical level and at least M\u22122 bits at a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise a specified even or odd number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes not comprising said specified even or odd number of bits at the specified one of the first and second logical levels indicates an error condition.
7. The method of claim 6, wherein said decoding said one of a plurality of codes includes decoding one of a plurality of codes derived from ten bits to produce eight decoded data bits wherein the plurality of codes derived from ten bits each comprise no more than six bits at the first logical level and at least four bits at the second logical level.
8. The method of claim 6, further comprising detecting an error in the one of the plurality of codes by determining whether the one of the plurality of codes does not comprise said specified even or odd number of bits at the specified one of the first and second logic levels.
9. The method of claim 8, wherein said detecting said error in the one of the plurality of codes comprises detecting a single bit error.
10. A method, comprising:
encoding N data bits using one of a plurality of codes derived from at least N+1 bits wherein the plurality of codes comprises approximately equal numbers of bits at a first logical level and a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise an even number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes comprising an odd number of bits at the specified one of the first and second logical levels indicates an error condition.
11. The method of claim 10, further comprising transmitting the one of the plurality of codes to a receiving device.
12. The method of claim 10, further comprising delivering the one of the plurality of codes from a transmitting unit of an integrated circuit to a receiving unit of the integrated circuit.
13. The method of claim 10, wherein said encoding N data bits comprises encoding 8 data bits using one of a plurality of codes derived from ten bits wherein each of the plurality of codes comprises no more than six bits of a first logical level and at least four bits of a second logical level.
14. An apparatus, comprising:
an encoding unit to encode N data bits using one of a plurality of codes derived from at least N+1 bits wherein the plurality of codes comprises no more than M bits at a first logical level and at least M\u22122 bits at a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise a specified even or odd number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes not comprising said specified even or odd number of bits at the specified one of the first and second logical levels indicates an error condition.
15. The apparatus of claim 14, further comprising:
a plurality of output buffers to transmit the one of the plurality of codes.
16. The apparatus of claim 15, wherein the plurality of output buffers are coupled to a receiving device.
17. The apparatus of claim 16, where the receiving device comprises a memory device.
18. The apparatus of claim 15, wherein the apparatus comprises a graphics processing unit.
19. The apparatus of claim 15, wherein the apparatus comprises a memory device.
20. The apparatus of claim 14, wherein said encoding said N data bits includes encoding eight data bits using one of a plurality of codes derived from ten bits wherein the ten bits comprise no more than six bits at the first logical level and at least four bits at the second logical level.
21. An apparatus, comprising:
an encoding unit to encode N data bits using one of a plurality of codes derived from at least N+1 bits wherein each of the plurality of codes comprises approximately equal numbers of bits at a first logical level and a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise a specified even or odd number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes not comprising said specified even or odd number of bits at the specified one of the first and second logical levels indicates an error condition.
22. The apparatus of claim 21, further comprising:
a plurality of output buffers to transmit the one of the plurality of codes to a receiving device.
23. The apparatus of claim 22, wherein the receiving device comprises a memory device.
24. The apparatus of claim 21, wherein the apparatus comprises a graphics processing unit.
25. The apparatus of claim 21, wherein the apparatus comprises a memory device.
26. An article, comprising: a storage medium having stored thereon instructions that, if executed, enable a computing platform to:
encode N data bits using one of a plurality of codes derived from at least N+1 bits wherein the plurality of codes derived from the at least N+1 bits comprise no more than M bits at a first logical level and at least M\u22122 bits at a second logical level, and wherein one or more of the plurality of codes derived from at least N+1 bits comprise a specified even or odd number of bits at a specified one of the first and second logical levels such that a receipt at a receiving device of one or more codes not comprising said specified even or odd number of bits at the specified one of the first and second logical levels indicates an error condition.
27. The article of claim 26, wherein the storage medium has stored thereon further instructions that, if executed, further enable the computing platform to encode the N data bits by encoding eight data bits using one of a plurality of codes derived from ten bits wherein the ten bits comprise no more than six bits at the first logical level and at least four bits at the second logical level.
28. The article of claim 26, wherein the storage medium has stored thereon further instructions that, if executed, further enable the computing platform to detect an error in the one of the plurality of codes by determining whether the one of the plurality of codes does not comprise said specified even or odd number of bits at the specified one of the first and second logic levels.
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 multi end-point (EP) conferencing system, comprising:
a decentralized scalable network of End-Points comprising at least one source EP being configured to connect to a non-virtual target EP;
said source EP being configured to transmit to said non-virtual target EP a conference list thereof, for distributing to non-virtual EPs and virtual EPs associated with said target EP, and is further configured to receive a conference list of said non-virtual target EP, integrate said received conference list with its conference list to obtain an integrated conference list and distribute said integrated conference list or parts thereof to virtual EPs and non-virtual EPs associated with said source EP;
said source EP being configured to receive at least one positive selection notification being indicative of requesting EPs from EPs associated with said source EP that would like to get data from said source EP;
in response to said at least one positive selection notification, said source EP being configured to transmit data for receiving by said at least one requesting EP.
2. The multi end-point (EP) conferencing system according to claim 1, wherein at least one of said requesting EPs being a virtual EP.
3. The multi end-point (EP) conferencing system according to claim 1, wherein the data includes at least one of video and audio data.
4. The system according to claim 1, wherein said conference list includes data indicative of all requesting EPs and in respect of each of said requesting EPs said conference list further includes indication of the requested transmitting data characteristics, and wherein said source EP is configured to transmit data dependent upon said characteristics.
5. The system according to claim 4, wherein said data includes video data and wherein said characteristics include requested video frame resolution and wherein said video data is transmitted in a video frame resolution that complies with the following: transmitted video frame resolution=Min (video frame resolution of source EP video data, Max (video frame resolution requested by any of said requesting EPs)).
6. The multi end-point (EP) conferencing system according to claim 1, wherein said source EP being configured to test the ability to communicate with said non virtual target EP using a multi-cast protocol.
7. The system according to claim 1, wherein said source EP is configured to halt transmissions of a data originating from an EP in the case that following receipt of a disconnection notification or a negative selection notification in respect of said EP no EP is to receive data from the source EP wherein said data originating from said EP.
8. A multi end-point (EP) conferencing system, comprising:
a decentralized scalable network of End-Points comprising at least one source EP being configured to connect to a non-virtual target EP;
said source EP being configured to transmit to said non-virtual target EP a conference list thereof, for distributing to non-virtual EPs and virtual EPs associated with said target EP, and is further configured to receive a conference list of said non-virtual target EP, integrate said received conference list with its conference list to obtain an integrated conference list and distribute said integrated conference list or parts thereof to virtual EPs and non-virtual EPs associated with said source EP;
said source EP being configured to receive data originating from a positively selected EP including utilizing said integrated conference list for identifying at least one EP transmitting, using a multi-cast protocol, the data originating from said positively selected EP and receiving said data transmitted using said multi-cast protocol from the at least one identified EP;
said source EP being configured to mix and output said received data, whereby said source EP forms part of a decentralized scalable EPs data conferencing system.
9. The multi end-point (EP) conferencing system according to claim 8 wherein said source EP being further configured to utilize said conference list for selecting an EP from among said at least one identified EPs utilizing a criterion of number of EPs receiving said data from the respective identified EP, such that said selected EP having the largest number of EPs receiving said data.
10. The multi end-point (EP) conferencing system according to claim 8, wherein in the case that said utilizing the integrated conference list reveals that there is no identified EP that transmits, using said multi-cast protocol, said data or said data transmitted using the multi-cast protocol is not received by said source EP, then said source EP is configured to utilize said conference list for identifying a non-virtual EP which the positively selected EP is associated with, and transmitting to said non-virtual EP a positive selection notification for distributing to said positively selected EP;
said source EP is further configured to receive data originating from said positively selected EP and is further being configured to mix and output said received data.
11. The multi end-point (EP) conferencing system according to claim 10, wherein said source EP being configured to receive data originating from said positively selected EP includes: said source EP being configured to receive at least one multi-cast IP address and port number of respective EP nodes that transmit data originating from said positively selected EP and receiving data using said multi-cast IP address and port number from one of said respective EP nodes.
12. The multi end-point (EP) conferencing system according to claim 8, wherein said source EP being configured to receive data originating from said positively selected EP includes: said source EP being configured to receive data using a uni-cast protocol from a non virtual EP, wherein said data originated from said positively selected EP.
13. A multi end-point (EP) conferencing system, comprising:
a decentralized scalable network of End-Points (EP) comprising at least one EP being configured to connect to at least one non-virtual EP; for each given EP in the network, all EPs in the network other than non-virtual EPs thereof constitute virtual EPs of said given EP;
a source EP in the network, being responsive to a command to receive data originating from a positively selected EP, is configured to utilize an integrated conference list for identifying at least one EP transmitting, using a multi-cast protocol, the data originating from said positively selected EP and receiving from said identified at least one EP said data transmitted using said multi-cast protocol;
said source EP being configured to mix and output said received data;
in the case that there is no such identified EP that transmits, using said multi-cast protocol, said data or said data transmitted using said multi-cast protocol is not received by said source EP, said source EP being configured to utilize said conference list for identifying a non-virtual EP which said positively selected EP is associated with and transmitting to said non-virtual EP a positive selection notification for distributing to said positively selected EP;
in response to receiving said positive selection notification by said positively selected EP, the positively selected EP and at least one intermediate EP are configured to distribute said data to said source EP in a decentralized fashion, including:
said positively selected EP is configured, in response of receiving said positive notification, to utilize said connectivity list for identifying the non-virtual intermediate EP which said positively selected EP is associated with and in the case that said intermediate non-virtual EP is capable of receiving transmissions using said multi-cast protocol from said positively selected EP, said positively selected EP is configured to transmit said data using said multi-cast protocol and to send to said intermediate non-virtual EP a multi-cast IP address and port number utilized by the positively selected EP for transmitting said data, alternatively if said intermediate non-virtual EP is incapable of receiving transmissions using said multi-cast protocol from said positively selected EP, said positively selected EP is configured to transmit said data to said intermediate non-virtual EP using a uni-cast protocol;
each intermediate EP from among said at least one intermediate EP receiving said data, is configured to utilize said connectivity list for identifying a target intermediate non virtual EP which said source EP is associated with and in the case that said target intermediate non-virtual EP is capable of receiving transmissions using said multi-cast protocol from said intermediate EP, said intermediate EP is configured to transmit said data using said multi-cast protocol and to send to said target intermediate non-virtual EP a multi-cast IP address and port number utilized by said intermediate EP for transmitting said data and all multi-cast IP addresses and port numbers received by intermediate and positively selected EPs that transmitted said data using said multi-cast protocol; alternatively, if said target intermediate non-virtual EP is incapable of receiving transmissions using said multi-cast protocol from said intermediate EP, said intermediate EP is configured to transmit said data to said non-virtual intermediate EP using a uni-cast protocol and to send to said target intermediate non-virtual EP all multi-cast IP addresses and port numbers received by said intermediate and positively selected EPs that transmitted said data using said multi-cast protocol;
said source EP being configured to receive said data and to mix and output said received data.
14. In a multi-endpoint (EP) conferencing system, a method for transmitting data, comprising:
(i) connecting to a non-virtual target EP;
(ii) transmitting to said non-virtual target EP a conference list, for distributing to non-virtual EPs and virtual EPs associated with said target EP;
(iii) receiving a conference list of said non-virtual target EP;
(iv) integrating said received conference list with the conference list to obtain an integrated conference list;
(v) distributing said integrated conference list or parts thereof to associated virtual EPs and non-virtual EPs;
(vi) receiving at least one positive selection notification being indicative of requesting EPs from associated EPs that would like to get data;
(vii) transmitting data for receiving by said at least one requesting EP.
15. The method according to claim 14, wherein at least one of said requesting EPs being a virtual EP.
16. The method according to claim 14, wherein the data includes at least one of video and audio data.
17. The method according to claim 14, wherein said conference list includes data indicative of all requesting EPs and in respect of each of said requesting EPs said conference list further includes indication of the requested transmitting data characteristics, and wherein said transmitting data is dependent upon said characteristics.
18. The method according to claim 14, wherein said data includes video data and wherein said characteristics include requested video frame resolution and wherein said transmitting includes calculating transmitting video frame resolution that complies with the following: transmitted video frame resolution=Min (video frame resolution of source EP video data, Max (video frame resolution requested by any of said requesting EPs)) and transmitting said data in said calculated resolution.
19. The method according to claim 14, wherein said connecting includes testing the ability to communicate with said non virtual target EP using a multi-cast protocol.
20. The method according to claim 14, wherein said transmitting is halted in the case that following receipt of a disconnection notification or a negative selection notification in respect of an EP no requesting EPs exist.
21. In a multi-endpoint (EP) conferencing system, a method for transmitting andor receiving data, comprising:
(i) connecting to a non-virtual target EP;
(ii) transmitting to said non-virtual target EP a conference list, for distributing to non-virtual EPs and virtual EPs associated with said target EP;
(iii) receiving a conference list of said non-virtual target EP;
(iv) integrating said received conference list with the conference list to obtain an integrated conference list;
(v) distributing said integrated conference list or parts thereof to associated virtual EPs and non-virtual EPs;
(vi) receiving data originating from a positively selected EP including utilizing said integrated conference list for identifying at least one EP transmitting, using a multi-cast protocol, the data originating from said positively selected EP;
(vii) receiving said data transmitted, using said multi-cast protocol, from the at least one identified EP;
(viii) mixing and outputting said received data, whereby forming part of a decentralized scalable EPs data conferencing system.
22. The method according to claim 21 wherein said receiving said data further includes utilizing said conference list for selecting an EP from among said at least one identified EPs utilizing a criterion of number of EPs receiving said data from the respective identified EP, such that said selected EP having the largest number of EPs receiving said data.
23. The method according to claim 21, wherein said receiving data further includes in the case that said utilizing the integrated conference list reveals that there is no identified EP that transmits, using said multi-cast protocol, said data or said data transmitted using said multi-cast protocol is not received by said source EP, utilizing said conference list for identifying a non-virtual EP which the positively selected EP is associated with, and transmitting to said non-virtual EP a positive selection notification for distributing to said positively selected EP; and wherein said receiving data further includes receiving data originating from said positively selected EP and mixing and outputting said received data.
24. The method according to claim 23, wherein said receiving data further includes receiving at least one multi-cast IP address and port number of respective EP nodes that transmit data originating from said positively selected EP and receiving data using said multi-cast IP address and port number from one of said respective EP nodes.
25. The method according to claim 23, wherein said receiving data further includes receiving data using a uni-cast protocol from a non-virtual EP, wherein said data originated from said positively selected EP.
26. A method for transmitting andor receiving data in a multi end-point (EP) conferencing system, comprising:
a decentralized scalable network of End-Points (EP) including at least one EP being configured to connect to at least one non-virtual EP; for each given EP in the network, all EPs in the network other than non-virtual EPs thereof constitute virtual EPs of said given EP, the method comprising:
(i) operating a source EP in response to a command to receive data originating from a positively selected EP, including:
a. utilizing an integrated conference list for identifying at least one EP transmitting, using a multi-cast protocol, the data originating from said positively selected EP;
b. receiving from said identified at least one EP said data transmitted using said multi-cast protocol;
c. mixing and outputting said received data;
d. In case that there is no such identified EP that transmits, using said multi-cast protocol, said data or said data transmitted using said multi-cast protocol is not received by said source EP, utilizing said conference list for identifying a non-virtual EP which the positively selected EP is associated with;
e. transmitting to said non-virtual EP a positive selection notification for distributing to said positively selected EP;
(ii) operating said positively selected EP including:
a. in response to receiving said positive selection notification utilizing said connectivity list for identifying a non-virtual intermediate EP which said positively selected EP is associated with;
b. in the case that said intermediate non-virtual EP is capable of receiving transmissions using said multi-cast protocol from said positively selected EP, transmitting said data using said multi-cast protocol and sending to said intermediate non-virtual EP a multi-cast IP address and port number utilized for transmitting said data;
c. alternatively if said intermediate non-virtual EP is incapable of receiving transmissions using said multi-cast protocol from said positively selected EP, transmitting said data to said intermediate non-virtual EP using a uni-cast protocol;
(iii) operating at least one intermediate EP for distributing said data from said positively selected EP to said source EP in a decentralized fashion, including:
a. in response to receiving said data, utilizing said connectivity list for identifying a target intermediate non virtual EP which said source EP is associated with;
b. in the case that said target intermediate non-virtual EP is capable of receiving transmissions using said multi-cast protocol from said at least one intermediate EP, transmitting said data using said multi-cast protocol and sending to said target intermediate non-virtual EP a multi-cast IP address and port number utilized by said at least one intermediate EP for transmitting said data and all multi-cast IP addresses and port numbers received by said at least one intermediate and positively selected EPs that transmitted said data using said multi-cast protocol;
c. alternatively, if said target intermediate non-virtual EP is incapable of receiving transmissions using said multi-cast protocol from said at least one intermediate EP, transmitting said data to said non-virtual intermediate EP using a uni-cast protocol and sending to said target intermediate non-virtual EP all multi-cast IP addresses and port numbers received by said at least one intermediate and positively selected EPs that transmitted said data using said multi-cast protocol;
(iv) operating said source EP for receiving said data and mixing and outputting said received data.
27. In a multi end-point (EP) conferencing system, a source End-Point (EP) comprising:
a connection module being configured to provide:
a source connectivity list that includes data indicative of all non virtual EPs, if any, and all virtual EPs, if any, associated with said source EP;
a connectivity matrix that includes data indicative of the data transmissions between all non virtual EPs, if any, and all virtual EPs, if any, associated with said source EP;
a transmission matrix that includes data indicative of all data transmission from said source EP, their origins and their destinations;
the connection module being configured to connect to a non virtual target EP and exchange connectivity lists and connectivity matrixes thereby updating the source connectivity list to include data indicative of all non virtual EPs, if any, and all virtual EPs, if any, associated with said target EP and updating the connectivity matrix to include data indicative of the data transmissions between all non virtual EPs, if any, and all virtual EPs, if any, associated with said source EP;
a data processing module being configured to transmit data to at least one requesting EP, said data being transmitted directly to said requesting EP or to an intermediate EP through which data is transferred to the requesting EP;
said data processing module being configured to transmit a positive selection notification to at least one transmitting EP and further being configured to receive data originating from the at least one selected transmitting EP;
a mixing module being configured to mix and output said received data, whereby said source EP forms part of a decentralized scalable EPs data conferencing system;
said data processing module being configured to update the connectivity matrix and the transmission matrix responsive to at least one of received positive selection notification or transmitted positive selection notification;
said processing module being configured to distribute said updated connectivity matrix or portions thereof and is further configured to distribute an updated connectivity matrix or portion thereof received from an EP associated with said source EP.
28. In a multi end-point (EP) conferencing system, a computer program product configured to transmitting data, the computer program product includes a storage to store computer code for performing at least the follows:
(viii) connecting to a non-virtual target EP;
(ix) transmitting to said non-virtual target EP a conference list, for distributing to non-virtual EPs and virtual EPs associated with said target EP;
(x) receiving a conference list of said non-virtual target EP;
(xi) integrating said received conference list with the conference list to obtain an integrated conference list;
(xii) distributing said integrated conference list or parts thereof to associated virtual EPs and non-virtual EPs;
(xiii) receiving at least one positive selection notification being indicative of requesting EPs from associated EPs that would like to get data;
(xiv) transmitting data for receiving by said at least one requesting EP.
29. In a multi end-point (EP) conferencing system, a computer program product configured to transmitting andor receiving data, the computer program product includes a storage to store computer code for performing at least the follows:
(ix) connecting to a non-virtual target EP;
(x) transmitting to said non-virtual target EP a conference list, for distributing to non-virtual EPs and virtual EPs associated with said target EP;
(xi) receiving a conference list of said non-virtual target EP;
(xii) integrating said received conference list with the conference list to obtain an integrated conference list;
(xiii) distributing said integrated conference list or parts thereof to associated virtual EPs and non-virtual EPs;
(xiv) receiving data originating from a positively selected EP including utilizing said integrated conference list for identifying at least one EP transmitting, using a multi-cast protocol, the data originating from said positively selected EP;
(xv) receiving said data transmitted, using said multi-cast protocol, from the at least one identified EP;
(xvi) mixing and outputting said received data, whereby forming part of a decentralized scalable EPs data conferencing system.
30. The system according to claim 1 wherein said EP is a UMC EP.
31. The system according to claim 8 wherein said EP is a UMC EP.
32. The system according to claim 13 wherein said EP is a UMC EP.
33. The system according to claim 14 wherein said EP is a UMC EP.
34. The system according to claim 21 wherein said EP is a UMC EP.
35. The system according to claim 26 wherein said EP is a UMC EP.