USRE39058EExpiredUtility

Preventing processor domination during background data transfer in multipoint conferencing

43
Assignee: INTEL CORPPriority: Dec 28, 1995Filed: Jun 28, 2000Granted: Apr 4, 2006
Est. expiryDec 28, 2015(expired)· nominal 20-yr term from priority
H04L 9/40H04L 69/329H04L 67/06G06F 11/3419G06F 2201/81
43
PatentIndex Score
0
Cited by
12
References
49
Claims

Abstract

Preventing processor domination of a CPU by background transfers of teleconference object data during an electronic conference is accomplished by monitoring an external time spent by a CPU executing outside a background transfer manager. Transfers of data packets of teleconference object data are performed if the external time is larger than a minimum threshold and smaller than a maximum threshold.

Claims

exact text as granted — not AI-modified
1. In an electronic conferencing system wherein data is shared between a plurality of participants during an electronic conference, a method of preventing domination of a CPU by background transfers of teleconference object data among the plurality of participants, the method comprising the steps of:
 a) monitoring an external time spent by the CPU executing outside a background transfer manager; and  
 b) transferring a data packet of teleconference object data to one or more of the plurality of participants of the electronic conference if the external time is larger than a minimum threshold and smaller than a maximum threshold.  
 
     
     
       2. The method of  claim 1  wherein the teleconference object data is a binary large object (BLOB). 
     
     
       3. The method of  claim 1  further comprising the step of
 c) monitoring an internal time spent by the CPU executing inside the background transfer manager;  
 and wherein the minimum threshold is the internal time plus a variable offset.  
 
     
     
       4. The method of  claim 3  further comprising the step of:
 d) increasing the variable offset if the external time is less than the internal time.  
 
     
     
       5. The method of  claim 4  wherein the maximum threshold is a predetermined delay plus the variable offset. 
     
     
       6. The method of  claim 5  wherein the predetermined delay is related to an average frequency of servicing of the background transfer manager. 
     
     
       7. The method of  claim 6  further comprising the step of:
 e) increasing the variable offset if the external time is greater than the predetermined delay plus the variable offset.  
 
     
     
       8. The method of  claim 7  wherein increasing the variable offset in the steps d) and e) is performed by raising the offset by a first amount for a first number of times that the variable offset is raised and raising the variable offset by a second amount for a second number of times that the variable offset is raised, wherein the first amount is different from the second amount. 
     
     
       9. The method of  claim 8  wherein increasing the variable offset in the steps d) and e) is performed by clamping the variable offset at a predetermined maximum. 
     
     
       10. The method of  claim 7  further comprising the step of:
 f) reducing the variable offset after each step of transferring the data packet of the teleconference object data to the one or more of the plurality of participants.  
 
     
     
       11. In an electronic conferencing system wherein data is shared between a plurality of participants during an electronic conference, an apparatus for preventing domination of a CPU by background transfers of teleconference object data among the plurality of participants, the apparatus comprising:
 a) means for monitoring an external time spent by the CPU executing outside a background transfer manager; and  
 b) means for transferring a data packet of teleconference object data to one or more of the plurality of participants of the electronic conference if the external time is larger than a minimum threshold and smaller than a maximum threshold.  
 
     
     
       12. The apparatus of  claim 11  further comprising:
 c) means for monitoring an internal time spent by the CPU executing inside the background transfer manager;  
 
       and wherein the minimum threshold is the internal time plus a variable offset. 
     
     
       13. The apparatus of  claim 12  wherein the maximum threshold is a predetermined delay plus the variable offset. 
     
     
       14. The apparatus of  claim 13  wherein the predetermined delay is related to an average frequency of servicing of the background transfer manager. 
     
     
       15. The apparatus of  claim 14  further comprising:
 c) means for increasing the variable offset if the external time is greater than the predetermined delay plus the variable offset.  
 
     
     
       16. The apparatus of  claim 15  further comprising:
 f) means for reducing the variable offset after each step of transferring the data packet of the teleconference object data to the one or more of the plurality of participants.  
 
     
     
       17. The apparatus of  claim 11  wherein the teleconference object data is a binary large object (BLOB). 
     
     
       18. In an electronic conferencing system wherein data is shared between a plurality of participants during an electronic conference, an apparatus for preventing domination of a CPU by background transfers of teleconference object data among the plurality of participants, the apparatus comprising:
 a) a first timer for monitoring an external time spent by the CPU executing outside a background transfer manager; and  
 b) a transmission circuit for transferring a data packet of teleconference object data to one or more of the plurality of participants of the electronic conference if the external time is larger than a minimum threshold and smaller than a maximum threshold.  
 
     
     
       19. The apparatus of  claim 18  further comprising:
 c) a second timer for monitoring an internal time spent by the CPU executing inside the background transfer manager;  
 and wherein the minimum threshold is the internal time plus a variable offset.  
 
     
     
       20. The apparatus of  claim 19  wherein the maximum threshold is a predetermined delay plus the variable offset. 
     
     
       21. The apparatus of  claim 20  wherein the predetermined delay is related to an average frequency of servicing of the background transfer manager. 
     
     
       22. The apparatus of  claim 21  further comprising:
 c) a delay circuit for increasing the variable offset if the external time is greater than the predetermined delay plus the variable offset.  
 
     
     
       23. The apparatus of  claim 18  wherein the teleconference object data is a binary large object (BLOB). 
     
     
       24. An electronic conferencing system comprising:
 two or more computer systems networked together via a communication medium, each of the computer systems including a communications manager for communicating via the communication medium, each of the computer systems running an application which shares object data among the two or more computer systems, each of the applications having a background transfer manager which prevents domination by background activities of a CPU of each of the computer systems.  
 
     
     
       25. A system comprising:
 a processor capable of running foreground activities and background activities;  
 a communication manager for communicating to one or more other systems via a communication medium; and  
 a background transfer manager for transferring as one of the background activities data to the one or more other systems via the communications manager, the background transfer manager preventing domination of the processor by the background activities.  
 
     
     
       26. A method for controlling background transfers of electronic conference data comprising:
   transferring at least one packet of electronic conference object data from a first participant to at least one other participant by employing a background transfer manager  ( BTM ),  wherein said transferring is based, at least in part, on a minimum threshold and a maximum threshold.     
     
     
       27. The method of  claim 26 , wherein said minimum threshold is based, at least in part, on a first value and a variable offset;
   said first value and said variable offset being based, at least in part, on a time spent executing within said BTM.     
     
     
       28. The method of  claim 27 , wherein said variable offset is further based, at least in part, on a second value, said second value being based, at least in part, on a time spent executing outside said BTM. 
     
     
       29. The method of  claim 28 , wherein said maximum threshold is based, at least in part, on said variable offset and a substantially predetermined delay;
   said substantially predetermined delay being based, at least in part, on an average frequency of servicing said BTM.     
     
     
       30. The method of  claim 29 , further comprising:
   adjusting said variable offset if said second value is either less than said first value or greater than said maximum threshold.     
     
     
       31. The method of  claim 30 , wherein adjusting said variable offset comprises:
   adjusting said variable offset by a first amount for a first number of times said variable offset is adjusted;        adjusting said variable offset by a second amount for a second number of times said variable offset is adjusted.     
     
     
       32. The method of  claim 31 , wherein said first amount and said second amount are not equal. 
     
     
       33. The method of  claim 32 , wherein adjusting said variable offset further comprises:
   clamping said variable offset such that said variable offset is limited by a substantially predetermined value.     
     
     
       34. The method of  claim 30 , further comprising:
   adjusting said variable offset by a corresponding amount after said transferring.     
     
     
       35. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a computing platform having the capability to:
   transfer at least one packet of electronic conference object data from a first participant to at least one other participant,        said transfer being controlled, at least in part, by a background transfer manager  ( BTM )  and based, at least in part, on a minimum threshold and a maximum threshold.     
     
     
       36. The article of  claim 35 , wherein said minimum threshold is based, at least in part, on a first value and a variable offset;
   said first value and said variable offset being based, at least in part, on a time spent executing within said BTM; and        said maximum threshold being based, at least in part, on said variable offset and a substantially predetermined delay;        said substantially predetermined delay being based, at least in part, on an average frequency of servicing said BTM.     
     
     
       37. The article of  claim 36 , wherein said variable offset is further based, at least in part, on a second value, said second value being based, at least in part, on a time spent executing outside said BTM. 
     
     
       38. The article of  claim 37 , wherein said instructions, when executed, result in the further capability to adjust said variable offset if said second value is either less than said first value or greater than said maximum threshold. 
     
     
       39. The article of  claim 38 , wherein adjusting said variable offset comprises:
   adjusting said variable offset by a first amount for a first number of times said variable offset is adjusted;        adjusting said variable offset by a second amount for a second number of times said variable offset is adjusted.     
     
     
       40. The article of  claim 39 , wherein said first amount and said second amount are not equal; and adjusting said variable offset comprises:
   clamping said variable offset a such that said variable offset is limited by a substantially predetermined value.     
     
     
       41. The article of  claim 38 , wherein said instructions, when executed, result in the further capability to adjust said variable offset by a corresponding amount after said transfer. 
     
     
       42. A method of transferring electronic conference data comprising:
   receiving at least one packet of electronic conference data from a sending participant;        processing said at least one packet by employing a background transfer manager  ( BTM );      comparing a variable offset with a substantially predetermined threshold value; and        transmitting an electronic message to said sending participant.     
     
     
       43. The method of  claim 42 , wherein said electronic message results in said sending participant reducing a rate of transfer of said at least one packet. 
     
     
       44. The method of  claim 42 , wherein said variable offset is based, at least in part, on a first time spent executing within said BTM and a second time spent executing outside said BTM. 
     
     
       45. The method of  claim 42 , wherein said electronic conference data comprises a binary large object ( BLOB ). 
     
     
       46. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a computing platform having the capability to:
   receive at least one packet of electronic conference data from a sending participant;        process said at least one packet by employing a background transfer manager  ( BTM );      compare a variable offset with a substantially predetermined threshold value; and        transmit an electronic message to said sending participant.     
     
     
       47. The article of  claim 46 , wherein said electronic message results in said sending participant reducing a rate of transfer of said at least one packet. 
     
     
       48. The article of  claim 47 , wherein said variable offset is based, at least in part, on a first time spent executing within said BTM and a second time spent executing outside said BTM. 
     
     
       49. The method of  claim 48 , wherein said electronic conference data comprises a binary large object ( BLOB ).

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.