Re: OT - bored with gaming ? Get philosophy!
			 
             
			
		
		
		
		There are many variations on this theme. I use 'C' language structures here. I use [n] to indicate an array. The size for any particular "n" depends on the span of the set. 
 
struct node 
{ 
	lea_node	struct leaf*; 
	twi_node	struct twig*; 
	bra_node	struct branch*; 
	tru_node	struct trunk*; 
} 
 
struct link 
{ 
	traffic_cur	int;/* number of packets sent during current time cycle */ 
	traffic_pre	int[n];/* number of packets sent during previous time cycles */ 
	tra_index	int;/* index to traffic_pre */ 
	bandwidth	int;/* load factor allocation */ 
	timestamp	long;/* time at which counter traffic_cur began to run */ 
} 
Note : A history buffer is used to avoid thrashing caused by transient traffic spikes 
 
struct trunk 
{ 
	tru_trunk	struct trunk*;/* pointer to next processor partition */ 
	capacity	int;/* Processor instruction execution ability in current partition */ 
	utilization	int;/* useful operations performed during current time cycle */ 
	running_total	int;/* total utilization during Last n cycles */ 
	timestamp	long;/* time at which counter utilization began to run */ 
	branches	struct branch *[n]; 
	links		struct link [n]; 
} 
Note : new running_total = utilization + running_total * (n-1)/n. 
 
struct branch 
{ 
	twigs		struct twig * [n]; 
	links		struct link [n]; 
} 
 
struct twig 
{ 
	leaves		struct leaf * [n]; 
	links		struct link [n]; 
} 
 
struct leaf 
{ 
	linkup		struct node * [n]; 
	links		struct link [n]; 
} 
 
If someone else is already doing this, then PROVE it by pointing to a history. 
 
In any case, this is the Last "that" you get for free... 
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
            
			
			
				
			
			
			
		 
		
	
	
	 |