This paper presents a distributed smart home middleware where each appliance is able to learn user behavior and customize their actions by themselves as well as cooperate with other appliances through a more lightweight smart home gateway. As the key components, we
present a knowledge base which describes common- and appliance-specific concepts in a smart home domain, and design libraries for smart appliances and a smart home gateway. We implement the proposed middleware on our testbed and conduct evaluations. The result shows that our scheme reduces the interaction time and the runtime memory allocation