IntroductionWith the rapid increase in the number of edge devices connected to the Internet, the aggregate power consumption of these devices will become a major concern in the near future [2]. The most prevalent of these edge devices are consumer desktop computer systems, consuming on average 60 -95 watts of power and up to 195 watts in high-end systems [22].Research estimates that these systems are on average left idle for 75% of the time when powered on [18]. During these idle periods, systems could be powered down to a standby mode to reduce power consumption by 80% [2]. However, standby mode currently disrupts the system's network connectivity. Popular Internet applications such as peer to peer (P2P) clients and instant messengers demand continuous network connectivity in order to respond to incoming file queries and to announce a user's presence. In order to ensure this connectivity, users typically disable the power management features, inhibiting the transition to standby mode, and thereby increasing the energy consumption of otherwise idle systems. However, given existing system architectures, disabling standby mode is the only option to retain two-way network connectivity for user applications.A novel approach to address this problem is to augment the network interface card (NIC) to act as a proxy (or liaison) for the system during standby mode, and maintain network connectivity by handling a subset of certain application network protocol semantics [8][18]. This subset has the unique characteristic that responses do not require a complex decision process, thus the NIC can proxy automated responses, allowing the system to remain in standby mode -a technique known as power proxying. Network protocols that are amenable to proxying are called proxiable protocols. Purushothamom et al. [18] demonstrated that the NIC can successfully proxy portions of P2P application protocol semantics, increasing the amount of time a system can be in standby mode by 85%. Similarly, several other applications such as instant messengers, initiating sessions of Internet telephony, and new mail notification of email clients are suitable for power proxying.For a NIC to provide the capability of power proxying, power proxying rules are required to enable the NIC to identify packets that may be appropriately responded to using proxiable protocols. The system provides these rules to the NIC immediately prior to entering standby mode. Such a 'smart'-NIC (SNIC) would, upon receiving a packet, identify the packet and either respond appropriately or wake up the system.To provide this functionality, the SNIC must have a packet classifier, a method of examining incoming packets to determine the appropriate action. Thus, packet classification is the process of determining which rule an inbound packet satisfies. This packet classification methodology is similar to that performed in traditional routers. However, router techniques for packet classification are not directly applicable to a desktop NIC due to high resource requiremen...