System and method for offloading a processor tasked with calendar processing
First Claim
1. A method for reporting channel status information, comprising:
- multiplexing channel status information received from a plurality of physical interfaces subdivided into a plurality of channels;
combining the plurality of channels into a group selected from a plurality of groups comprising associated pluralities of channels grouped according to bandwidth classes, each of the plurality of groups having a predetermined number of channels,wherein each channel corresponds to a memory location in a first memory;
wherein a first memory location is configured to store new independent status bits for each of the channels of the group;
wherein a second memory location is configured to store previously received independent status bits for each of the channels of the group;
wherein a third memory location is configured to store a group status;
upon receiving and storing new independent status bits corresponding to the channels of the group, comparing the new independent status bits with corresponding previously received independent status bits;
wherein if the new independent status bits match all the corresponding previously received independent status bits, then inferring that the group status did not change and deferring sending a status report to a network processor,else, if any of the new independent status bits is different from a corresponding bit in the previously received independent status bits, then inferring that the group status did change and sending the status report to the network processor; and
periodically executing a background task to synchronize current channel status information for each of the channels of the plurality of groups in the first memory to current channel status information for each of the channels of the plurality of groups located in a second memory in the network processor.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention comprises system and method for offloading a processor tasked with calendar processing of channel status information. The method comprises multiplexing channel status information received from a plurality of physical interfaces; grouping the channels based on bandwidth; comparing current and previous status information of a group of channels in a first memory; sending current channel status to the processor only if the status of any of the channels in the group has changed; and periodically synchronizing channel status information in the first memory to status information in the processor'"'"'s memory. The system comprises: multiplexer to combine channel status information received from the interfaces and means for grouping, based on bandwidth, the channels; hardware assist engine to send current channel status to the processor only if channel status has changed; and device to synchronize channel status information in the hardware assist engine to status information in the processor'"'"'s memory.
45 Citations
14 Claims
-
1. A method for reporting channel status information, comprising:
-
multiplexing channel status information received from a plurality of physical interfaces subdivided into a plurality of channels; combining the plurality of channels into a group selected from a plurality of groups comprising associated pluralities of channels grouped according to bandwidth classes, each of the plurality of groups having a predetermined number of channels, wherein each channel corresponds to a memory location in a first memory; wherein a first memory location is configured to store new independent status bits for each of the channels of the group; wherein a second memory location is configured to store previously received independent status bits for each of the channels of the group; wherein a third memory location is configured to store a group status; upon receiving and storing new independent status bits corresponding to the channels of the group, comparing the new independent status bits with corresponding previously received independent status bits; wherein if the new independent status bits match all the corresponding previously received independent status bits, then inferring that the group status did not change and deferring sending a status report to a network processor, else, if any of the new independent status bits is different from a corresponding bit in the previously received independent status bits, then inferring that the group status did change and sending the status report to the network processor; and periodically executing a background task to synchronize current channel status information for each of the channels of the plurality of groups in the first memory to current channel status information for each of the channels of the plurality of groups located in a second memory in the network processor. - View Dependent Claims (2, 7)
-
-
3. A readable storage media containing instructions that, when executed, cause a machine to:
-
multiplex channel status information received from a plurality of physical interfaces subdivided into a plurality of channels; combine the plurality of channels into a group having a predetermined number of channels, wherein the combining is based on bandwidth; associate a current group status with a first location in a first memory; associate a previous group status with a second location in the first memory; associate a change group status with a third location in the first memory; wherein the channel status information comprises current and previous independent status bits corresponding to each channel of the group; receive and store current independent status bits for all channels of the group in the first location in the first memory, the current independent status bits indicating channel status for each channel of the group; store previous independent status bits in the second location in the first memory, the previous independent status bits indicating a previous channel status for each channel of the group; for each channel of the group, compare each of the current independent status bits to a corresponding bit of the previous independent status bits; determine the current group status, wherein if any of the current independent status bits is different than the corresponding bit of the previous independent status bits, then determining that the current group status has changed, else, if each of the current independent status bits match the corresponding bit of the previous independent status bits then determine that the current group status has not changed; for each channel of the group, indicate a change based on the determination that the current independent status bits is different than the corresponding bit of the previous independent status bits in the third location in the first memory; report the current independent bits including all of the channel status information of the group of channels to a second memory in a network processor only if the change is indicated in the third location in the first memory; and periodically execute a background task to synchronize the channel status information for each channel in the first memory to channel status information in the second memory in the network processor. - View Dependent Claims (4, 5, 6)
-
-
8. A system for reporting channel status information, comprising:
-
means for multiplexing channel status information received from a plurality of physical interfaces subdivided into a plurality of channels; means for combining the plurality of channels into a group selected from a plurality of groups comprising associated pluralities of channels grouped according to bandwidth classes, each of the plurality groups having a predetermined number of channels, wherein each channel corresponds to a memory location in a first memory; wherein the first memory location is configured to store new independent status bits for each of the plurality of channels of the group; wherein a second memory location is configured to store previously received independent status bits for each of the plurality of channels of the group; wherein a third memory location is configured to store a group status; means for comparing the new independent status bits with corresponding previously received independent status bits upon receiving and storing new independent status bits corresponding to the plurality of channels of the group; wherein if any of the new independent status bits matches a corresponding bit in the previously received independent status bits, then inferring that the group status did not change and deferring reporting to a network processor, else, if any of the new independent status bits is different from the corresponding previously received independent status bit, then inferring that the group status did change and sending the status report to the network processor; and means for periodically executing a background task to synchronize current channel status information for each of the plurality of channels of the plurality of groups in the first memory to current channel status information for each of the plurality of channels of the plurality of groups located in a second memory in the network processor. - View Dependent Claims (11)
-
-
9. An apparatus comprising:
-
a first hardware assist engine, comprising a multiplexer to combine channel status information received from a plurality of interfaces subdivided into a plurality of channels, and configured to combine, based on bandwidth, the plurality of channels into a plurality of groups, each one of the groups having a predetermined number of the channels, wherein the channel status information comprises current and previously received independent status bits corresponding to each channel of a group of the plurality of groups; a second hardware assist engine comprising a processor to; associate a current group status with a current status table in a first memory; associate a previous group status with a previous status table in the first memory; associate a change group status with a group status table in the first memory; and store previously received independent status bits indicating a previous status for each channel of the group in the previous status table; a receiver to receive current independent status bits for all channels of the group, the current independent status bits to be stored in the current status table and indicating channel status for each channel of the group; a comparator to determine whether any entry of a particular one of a first plurality of status lines in the current status table matches a corresponding entry in one of a second plurality of status lines in the previous status table, wherein the first plurality of status lines comprise a current version of the channel status information for the channels of the group; a transmitter configured to report the status of the group to a network processor, if the comparator determines that any two corresponding entries corresponding to any channel of the group do not match; and a device to execute a background task to synchronize the channel status information in current status table to channel status information in a second memory in the network processor. - View Dependent Claims (10)
-
-
12. A method comprising:
-
receiving, from each of a plurality of physical interfaces, respective calendar-based channel status information, each of the physical interfaces subdivided into a plurality of respective channels, each of the respective channels of each of the physical interfaces associated with one or more time slots in the respective calendar-based channel status information of a physical interface of the plurality of physical interfaces, associated one or more time slots providing respective channel status information of the respective channel; mapping, for each of the physical interfaces, each of the time slots in the respective calendar-based channel status information to a respective bit location in a current status table in a first memory, each of the channels corresponding to one of the bit locations; grouping the channels into groups according to bandwidth classes, at least some of the groups having two or more of the channels, and wherein, for each of the groups, a current version of the respective channel status information of the channels of the group is configured to be accessed simultaneously in the current status table in the first memory via a respective base address of the group; for each channel of a group, comparing, for each of the groups, the current version of the respective channel status information for the channels of the group with a previous version of the respective channel status information for the channels of the group; determining a current group status for each of the groups, wherein for a particular group if any current channel status information is different than the previous version of the respective channel status information, then determining that the current group status of the particular group has changed from a previous status, else, if all of the current channel status information is not different than the previous version of the respective channel status information, then determine that the current group status of the particular group has not changed for the particular group; and in response to the comparing, for each of the groups, selectively sending a group status update to a network processor, only if the current group status has changed from the previous status; periodically execute a background task to synchronize, for each of the groups, the current version of the respective channel status information of the channels of the group to a memory of the network processor - View Dependent Claims (13, 14)
-
Specification