This is an HTML rendering of a working paper draft that led to a publication. The publication should always be cited in preference to this draft using the following reference:
© ACM, 2003. This is the author's version of the work. It is posted here by permission of the ACM for your personal use. Not for redistribution. The definitive version was published in the Proceedings of the ACM Symposium on Applied Computing, pp. 631-636, (March 2003) http://doi.acm.org/10.1145/952532.952656
Systems Architecture for Pervasive Retail
Malet Street WC1E 7HX
NOKIA Research Center
P.O.Box 407, FIN-00045
Athens 11362, Greece
Procter and Gamble
165 Syngrou Ave
Athens 17121, Greece
Helsinki Univ. of
P.O. Box 9700, FIN-002015
Athens 11362, Greece
Categories and Subject Descriptors
J.3 [Computers in other Systems]: Consumer Products.
H.4 [Information Systems Applications]: Miscellanious.
Experimentation, Security, Human Factors, Standardization.
Mobile commerce, pervasive computing, retail, radio frequency identification, middleware, transcoding, electronic identity.
Recent developments in mobile technologies and associated economies of scale via mature manufacturing processes have made possible the construction of pervasive computing systems focused on specific application areas. In this paper we discuss a novel type of retail service based on wireless and mobile technologies for the automated replenishment of home product supplies. The application environment extends from the supermarket floor to the user home and is accessible from anywhere through mobile communications systems. This service architecture has been developed with particular focus on integration with current retail business process and in close association with key organizations in the retail market. To date, the application has undergone three stages of user evaluation (mock up; laboratory; controlled set of users in the field) and it is currently in trial operation in two participating sites in Finland and Greece. During the development of this architecture we have discussed particular aspects of the system: middleware , home network and service architectures , location based services , issues in redesigning the supply chain [14,15], electronic product identification and classification schemes , privacy requirements and standardization  and user perceptions of the novel retail experience . In this paper we attempt to bring together all the individual elements into an integrated architecture for future pervasive retail services.
Our primary motivation for the implementation of this research project [14,15] does not come from the point of view of mobile computing systems but rather from a different perspective, namely optimizing the efficiency and effectiveness of the fast moving consumer goods (FMCG) supply chain [13, 23, 27]. Although the focus of pervasive systems is primarily on disappearing computing infrastructures, the information gathered has significant repercussions for the operation of businesses and for conducting commerce. Indeed, rather than having a supply chain terminating at the supermarket checkout, it is now possible to extend its reach in the consumer home. Of course, this has significant effects on the one hand on the consumer shopping experience and on the other on the supply chain partners affecting both their internal business processes and their relationships with their partners.
Indeed, the integration of Internet technologies in retail practice has transformed the sector in a matter of a few years. The transformation has not only affected the way retailers interface with their clients but has touched all areas of their activities. The fundamental aim remains of course the same, that is, to provide services increasingly cost efficient and consumer-oriented . This trend has generated a new generation of Internet based collaborative, cross-organizational supply chain models. The Holly Grail of these developments is the unification of the supply chain as a direct, shared and cost efficient channel from raw material all the way to the customer. This objective generates a novel kind of service, which is on demand, ubiquitous and personal and for that matter a perfect match for pervasive computing.
The current situation is quite different: supply chain management does not employ data beyond the point of sale (POS), which in turn results in significant inefficiencies in a market sector where margins are minimal. It has been estimated  that in a typical supermarket out of stock conditions cause up to 3 percent loss of revenue due to loss of sales. Furthermore, 53 percent out of stock conditions are due to store replenishment inefficiencies. Even worse, a further 8 percent of on the floor out of stock conditions occur despite the fact that the necessary supplies are in storage on site.
A possible solution [12, 23] to this problem is to distance the store from the ordering process that is, to establish ordering on the basis of consumption. A goods receipt system that automatically and accurately adds incoming material to inventory control combined with real time demand information, enables novel replenishment solutions between distribution centers and supermarkets, thus effectively reducing out of self-stock conditions. On the side of automated goods receipt, it is sufficient that product identification is not at item level since pallet level identification would provide enough information. On the other hand, on the floor product monitoring must be at individual item level for practical (for example, packaging) and systems reasons. Last but not least, wireless product identification technologies would enrich supply chain management with after sales consumption data.
This is only possible due to recent technology developments; a central role is reserved for electronic tagging and wireless communication and devices. The use of radio frequency identification technologies (RFID) currently in rapid development and standardization is the main factor in this. Indeed, the use of RFID technologies for electronic retailing [5, 11, 12] builds on its ability to provide faster inventory counts based on shelf content as well as significant reduction in POS costs. In addition to the value of home consumption information for supply chain management, RFID technology could be used as the basis for innovative after sales solutions. A home inventory maintenance database could be maintained for each consumer and be updated with each service transaction. In the case of a grocery product, when the customer exhausts her inventory and discards packaging, the RFID tag is read, the database is updated and a consumption alert generated and delivered to the customer most probably through her mobile device.
Over the course of this work we have found that the most efficient and effective way to present the functionality of our system is through application scenarios. In this section we will do exactly that, that is present our system’s functionality through three usage scenarios: first we discuss the case of the user on the supermarket floor, then the home scenario and finally the so-called “on-the-move” scenario.
Supermarket Scenario. The consumer enters the supermarket and selects a “smart” shopping cart (a smart shopping cart is equipped with radio frequency identification (RFID) readers and an on board personal digital assistant (PDA). She identifies to the system using her RFID enabled loyalty card (her user ID is read into the PDA and transmitted to the authentication server) on the cart and gains access by entering her personal identification number (PIN). The system logs her in, responds with a welcome message and then proceeds to present a “suggested” shopping list, based on monitored home inventory and actual consumption data.
The consumer walks in the supermarket aisles and picks up products from the shelves. For example, she may decide to buy a shampoo, which she picks up and places inside her shopping cart. By doing so, the RFID readers on the cart identify the entry of the shampoo bottle and trigger the following sequence: the ID is sent to the back end systems, the systems retrieve information about the specific product and update the display of the shopping list and of the total cost of the shopping cart content. Next, the consumer decides to buy a hair conditioner where the retailer has placed a discount promotion for customers with her profile. When the consumer places the product in the cart, the system displays the promotion on the PDA screen as well as instructions on the shortest path to the aisle and self where the product is held. Later, the consumer decides to remove one can of orange juice from her cart and replace it on the supermarket shelves. The system updates the shopping list with the new total amount and the new contents of the cart.
When the items on the shopping list are exhausted, the consumer proceeds to the check out. When she approaches the till the system rescans all the items in her shopping cart, calculates the total value of the products, displays that information on the till display and prints out a receipt. The consumer pays at the till or charges everything to her account.
Home Scenario. The consumer returns home and places her shopping in her RFID enabled storage (fridge, cupboard etc). New product information is recorded by her home server and consolidated to the home inventory data. The home maintains data on inventory levels as well as consumption. Periodically, the consumer gives permission to her home server to upload her new shopping list to the system.
On-the-move Scenario. While on her way to work, the consumer uses her mobile phone to check which products she needs to replenish before the weekend. After logging in, the system displays her current home inventory and/or her shopping list. The consumer decides to add new items to her shopping list for the dinner party she gives on Saturday night. The consumer is happy with her new shopping list. The system displays the total cost of her shopping list at her usual supermarket. The consumer is unhappy with the price and she decides to look for a better price, thus initiating a reverse auction. The system forwards her list to participating retailers and prompts the consumer to define the duration of the auction, which she does. The system sends a confirmation message that the process has been initiated. A short while later the consumer receives offers by different retailers and selects the best. The consumer selects “home delivery” and confirms the order. Later in the day, the system notifies the consumer via SMS to her mobile, that baby diapers are going to run out in the following hours and request confirmation of instant replenishment order. The consumer confirms and the order is placed.
There were two main issues regarding the architecture of the back end for this application: first, transition to the electronic product code standard  and second, integration with the existing infrastructure .
Current practice in product identification entails the use of bar code: bar codes are self-contained messages with information encoded in the widths of bars and spaces in a printed pattern attached on the product itself. This information is retrieved through optical readers that can transform the pattern into data. However, the actual interpretation of the data is an altogether different issue: there are several competing standards including several versions of UPC  and EAN , JAN, MSI, CODABAR, Code 39, H-P, Code 11, Code 128 and so on. On the other hand, all of them share one feature: they can identify a class of products but not specific instances of them. For example, all 330ml cans of Coke have the same bar codes printed on them and thus these data does not differentiate between different cans. Finally, in most cases the bar code only identifies the specific product class but not product class classification or category.
Transition from bar code to RFID identification technologies opens up several issues regarding the best balance between hardware requirements and functionality. For the implementation of this application, we have followed closely the specifications developed at the Auto-ID Centre at MIT  and the corresponding specifications of the Global Commerce Initiative for the definition of identifications codes. The specification of the Electronic Product Code (EPC) numbering scheme defines four fields that record version, manufacturer, and product numbers; and a unique ID for each individual tag. The tag itself stores only a 64- or 96-bit long EPC.
The second issue that has beard significant influence on the design of the back end of this application is the requirement of integration with existing super market infrastructures. Our experience in this area has been that such infrastructure has been developed incrementally over a rather long period of time and thus its current architecture has been evolved rather than designed. Furthermore, access to such systems is rarely transparent and requires significant overhead.
A middleware layer was deemed necessary for bridging the back end systems and the user , either while on the supermarket flour or from any remote location (for other approaches cf. [2, 16, 19]). The middleware consists of two elements: First, a transcoder that communicates on the one side with the back end systems in whatever mode they support (we provided this functionality in one case where the back end was available through COM+ and ODBC and one case where access was directly in SQL but we also investigated the transition to SOAP) and on the other with either the end user via web or mobile web devices (using HTML or binary WML) or with the second middleware elements the appliance server (using a purpose built XML vocabulary incorporating XML-RPC). The appliance server (or rather the array of appliance servers required to support the expected number of consumers in a realistic situation) was used for providing access services to the carts including session management, location tracking, personalization and caching. Our primary motivation for developing this architecture was the requirement that traffic on the wireless network should be kept to a minimum, as should the hardware requirements on the computing device mounted on the shopping cart. However, by introducing this design we also inherited what proved to be a more reliable, secure as well as faster method for device support.
The main function of the transcoder is to transform data description between different access devices and system modes. Since the transcoder completely controls the movement of data in and out of the internal systems it has proved to be the best point to implement content-based access control.
The main function of the appliance server has been the management of user session while in the supermarket. Most of the processing is performed at the appliance server with the cart-mounted device employed primarily for rendering the presentation layer elements. We believe this is a reasonable design for two reasons: first, user sessions share a large amount of data traffic between client and back end server (for example catalogue queries and product offers) and second, the processing capabilities of the end user device are too restricted to provide acceptable performance levels for the more demanding tasks (for example real time recommendations based on consumption profiles). Although one might argue that bandwidth and processing ability increases rapidly with each processor generation, it will always remain true the difference between the high and low end of computing devices. In any case, for the foreseeable future tasks like data mining will remain in the realm of the server. In the meantime, a layer of application level caching will significantly improve the perceived performance of end user applications. Furthermore, benefits of caching architectures will increase with the introduction of EPC location services.
Appliance servers communicate with carts over IEEE 802.11b using the Common Object Request Broker (CORBA) distributed computing framework. This approach is known to present several challenges (for a review of relevant work see ) to the application developer due to the particular characteristics of the wireless medium. We will not go into more detail than to state that we followed closely the recommendations of . A further benefit of this approach is that with the anticipated introduction of 2.5 and 3G mobile systems and handsets it will become feasible to execute application code on the mobile device. In this case, the appliance server architecture can be easily extended to support application provision in this context.
Our choice of RFID solution was based on the IONAS chip design by Atmel Corp. The IONAS operates at 13.56 Mhz and is ISO/IEC 14443-2 compliant. It has a capacity of 320 EEPROM bits, divided into 10 pages of 32 bits. It supports password and write lock protection, programmable send and receive protocols and multiple tags read (anti-collision mechanism). The chip itself contains an internal tuning capacitor and thus for a complete tag only an external antenna is required. The IONAS can store an identification of length between 4 and 19 bytes.
The corresponding RFID reader is a custom design by Ordicam. The reader used in this application is based on the commercially available Ordicam model V61 and it is built on the Microchip PIC16F876 processor. However, the V61 has only 3cm effective reading range and is thus unsuitable for this application. This sort read limit is due to safety and environmental requirements that restrict the power output of radio frequency equipment. The custom model with a corresponding antenna design, while honouring the regulations, it has an effective read range of approximately 20cm. The reader is 100x50x15 mm and weights 2.5kgs with battery included.
Our original requirement was that the readers should be able to cover the complete volume of the shopping cart, that is approximately 80x40x60cm. Given the range of the reader and the fact that readers may only be attached to the cage sides we came up with a design requiring at least 12 readers per cart. Since the cost of each reader is relatively high, this requirement had a significant cost overhead and was infeasible from a financial point of view. Our second attempt approached the issue from a different point of view: rather than aiming to monitor the presence of items anywhere at the full volume of the shopping cart we opted instead to monitor only entry and exit of products. Thus, we need only identify the passage of a product through the top surface of the cart volume, effectively transforming the identification problem from two to three dimensions. This way, we can achieve the same effect (i.e. monitoring the contents of the shopping cart) using only 4 readers at the additional small cost of extra logic in our application.
Each RFID reader is equipped with a serial RS-232 interface which connects to a pocket PC device also fitted on the cart. The device we have selected for this application is the Symbol PPT 2800 series device. The PPT is a ruggedised version of the Intel StrongARM SA 1100 based Compaq iPAQ, it is Pocket PC compliant but also can sustain a drop impact from at least a one meter height. Furthermore, it is equipped with a bar code reader as well as one IEEE 802.11b wireless Ethernet card and a ¼ VGA display capable of 64k colour. Our choice for this device was based on the following requirements. First, the device would have to be resistant to its operational environment (supermarket floor, outdoor storage area). Second, it should be able to connect to the RFID readers on the one hand and to the wireless network infrastructure on the other. Third, it should offer a good display capability for consumer interaction. Four, it should be perceived as fast enough from the user. And finally, it should offer an open and extensible operating environment suitable for its capabilities.
Our selection of the PPT covered most of this functionality but was further modified for faster operation. Our main modification was the definition of an operating environment based on the QNX real time embedded operating system and the Java SDK, version 1.1 with Swing components for user interface. Although the client side of our application does not have a real time requirement, our choice was primarily directed by the need for a low overhead system (where QNX provides a significant advantage) and a portable and robust operating environment (at the time we were not completely satisfied by the robustness of more recent Java releases including J2SE). The selection of Java as the operating platform provided baseline portability across a wide variety of devices that were evaluated before the selection of the PPT and provided enough common ground for functionality and performance comparisons.
Proximity location sensing services inside the supermarket building has been based on a combination of signal strength measurements of access point connection and RFID reading observation. For monitoring consumer navigation patterns and subsequently offering navigation guidance it has been sufficient to develop a proximity location sensing technique that uses RFID to record an event located at a position which is approximately estimated through signal strength measurement from the wireless access point (the feasibility of this approach has been also noted by ).
The main remaining problem with the cart solution and one that we have not tackled to date effectively is power consumption. Both the RFID readers and the PPT seem to last enough for a single session but the problem is recharging. We anticipate that a solution to this problem will be a storage area mechanism that will carry power from cart to cart while at store.
The in-home scenario  was built around a home networking architecture based on X10 with connectivity provided through an Open Service Gateway Initiative (OSGi) compliant device. OSGi devices can support a number of alternative transport technologies including but not restricted to cable, Ethernet, DSL, ISDN and wireless local loop, while at the same time providing web, security and tranport and management services to all supported applications. It is expected that OSGi devices will proliferate in the following years with this functionality embedded primarily in set top boxes and home appliances. For this application we have used an embedded PC solution from Cell Computing running the Java Embedded Server, an OSGi compliant implementation.
For the home infrastructure, the importance of the issue of security and privacy became apparent from the early stages of this work. For this reason we have built into the system access control and trust management mechanisms that allow users to fully control the flow of data out of their home. Indeed, this issue was strongly contested throughout the evaluation process and is discussed extensively elsewhere . In any case, it is worth pointing out that effective resolution to this can only be through the development of a long-lived trust relationship between the retailer the consumer and contrary to several claims, cannot be solved purely by technological means.
Finally, access to the service from mobile devices was available through a WAP gateway that connected to the transcoder. Out of stock alerts are sent as SMS messages to the registered users. We have performed simulations on prototype systems with advanced data transmission and computational capabilities.
A particularly difficult to implement requirement proved to be auctioning. The main reason for this is that currently product descriptions are not portable between different retailers [26, 27]. Hence, it was necessary to implement a mediator product description service that provided comparable characterizations of product properties. However, for each new participating retailer it is necessary to undergo a full product review on a peer-to-peer basis.
A major challenge for the further development of this architecture is the provision of truly personalized services. For the first time multiple consumer produced data streams became available, including navigation trails on the supermarket floor, click-streams from web and cart access logs, WAP events as well as consumption data from the consumer homes. Effective and efficient correlation of this data is a major challenge but if sufficiently addressed it can be particularly rewarding by introducing recommender systems informed of multiple dimensions of use habits. We are currently investigating the use of mediated architectures for heterogeneous information integration via schema integration at the semantic layer through project AUTOMED.
An area where significant improvement can be made is device and service discovery, capability negotiation and self-configuration. Due to the partial effectiveness of current solutions in this area we have opted to cater –via three distinct interfaces-- only for three distinct classes of fairly similar devices: cart mounted devices (tablet), mobile telephone phones and workstations. This approach will certainly not be sufficient in a truly pervasive environment, especially if peer-to-peer interactions are to be accommodated. In fact, it is almost certain that the variability of devices will only increase with time. In such an environment it is impossible to cater for individual requirements and a common language for modelling device capabilities against software requirements is required. Furthermore, negotiation between the devices and the systems would be necessary for the transparent operation of the services. Furthermore, a software component-device capability mapping and dynamic, on-demand augmentation of applications should cater from the very beginning security, privacy and payment systems.
Overall, our attempt to develop a fully functional pervasive computing environment for the provision of next generation retail services has been instructive in several respects. First, we have found that the need for open standards is more important than ever before. Provision of a seamless user experience requires interoperable systems irrespective of location, hardware and software manufacturer, service provider and person. On the other hand, information between trading partners must flow seamlessly between systems, a condition that can be met at the required scale only through open standards and collaborative development.
Second, delivery of services must be context aware and thus localized and personalized. Furthermore, pervasive systems being indistinguishable from the environment they operate in must provide guarantees regarding their functionality and operation so that users trust them with their intimate personal data. For this reason, access control and trust management are core requirements rather than afterthoughts. Users will be willing to take up new technologies only if they perceive that they are receiving fair service value in return for abandoning some of their privacy.
In this respect two issues seem to stand out: what is human identity in a pervasive world and how does the disrupting nature of ubiquitous services can be integrated in everyday life activities. For example, a legal requirement for identity proof in many countries is the issue of paper-based credentials, such as national identity cards and driver licenses. What is going to be the equivalent in a pervasive world? Many candidates vie for this role: mobile phones offer an attractive alternative and are already part of everyday life of a large proportion of the population but are easy to loose; home servers can also provide this service but again their security depends on the individual; several parties would be more than happy to provide identity services and some already do (for example Microsoft’s Passport and the Liberty Alliance) but this means entrusting too much power to a single organization. Effective pervasive architectures will be people-centered but what the link between the physical and the virtual identities is likely to be is still an open issue. Although the idea of our own environment providing assistance to everyday activities is attractive there is a fine line between disruption that contributes towards efficiency and disruption that diverts our concentration and energy from the important to the trivial. We had to confront these issues in the context of our own work in retail but these issues appear to have far more reaching effects that may finally determine the success or the failure of next generation electronic commerce technologies.
Partial support for the MyGrocer project was provide by the European Commission under research contract IST-1999-26238. The MyGrocer Consortium consists of the following members: Nokia Corporation, Procter and Gamble, Unisys Corporation, ATMEL Corporation, Pouliadis Associates Corporation, Athens University of Economics and Business, Helsinki University of Technology, S-Markt and Atlantic Supermarkets.
 Auto-ID Centre, http://www.auto-id.org
 G. Banavar, J. Beck and E. Gluzberg (2000), “Challenges: An Application Model for Pervasive Computing”, Proc. Mobicom 2000.
 K. Black, J. Currey, J. Kangasharju, J. Länsiö and K. Raatikainen (2001), Wireless Access and Terminal Mobility in CORBA, Whitepaper, Dep. Computer Science, Univ. of Helsinki.
 J. Burkhart, H. Henn, S. Hepper, K. Rintdorff and T. Schack (2001) Pervasive Computing, Addison-Wesley.
 G. Doukidis., P. Kourouthanassis, G. Giaglis, “Improving the retail grocery supply chain through mobile shopping of electronically referenced products”, Proc. IFIP Bled 2002, pp. 54-63.
 EAN International, http://www.ean-int.org/
 E. A. Gryazin and J.O. Tuominen (2002) “SMART Environment for Easy Shopping”, Proc. Int. ITEA Workshop on Virtual Home Environment, pp. 103-111.
 E. A. Gryazin, J. O. Tuominen and Olli Seppala (2002) “Heterogeneous middleware for MyGrocer”, Proc. 1st Int. Conf. Mobile Business, pp. 66-78.
 A. Hang, B. Ling, S. Ponnekanti and A. Fox (1999) ``Pervasive Computing: What is it good for?’’ Proc. ACM Mobicom 99, ACM Press.
 J. Hightowe and G. Borriello (2001), Location Sensing Techniques, Technical Report UW-CSE-01-07-01, Computer Science and Engineering, Univer. of Washington.
 L. Jones (1999) “Working without wires”, Ind. Distribution, Vol. 88, No. 8, pp. M6-M9.
 M. Karkkainen and J. Holmstrom (2002) “Wireless product identification: Enabler for handling efficiency, customisation, and information sharing”, Supply Chain Management: An International Journal, to appear.
 W.C. Kim and R. Mauborgne (1999) “Strategy, Value Innovation, and the Knowledge Economy”, Sloan Management Review, Vol. 40, No. 3, pp. 41-54.
 P. Kourouthanassis, L. Koukara, C. Lazaris, K. Thiveos (2001) "Last-Mile Supply Chain Management: MyGROCER Innovative Business and Technology Framework", Proc. 17th International Logistics Congress, pp. 264-273.
 G. Lekakos, P. Kourouthanassis, J.O. Tuominen (2001) “Redesigning the traditional retail value chain: MyGROCER Innovative Business and Technology Framework”, Proc. eBusiness & eWorks Conference, Venice, Italy.
 P. Maniatis, M. Roussopoulos, E. Swierk, K. Lai, G. Appenzeller, X. Zhao and M. Baker (2001) “The Mobile People Architecture”, Mob. Comp. And Comm. Review, Vol. 1, No. 2.
 OASIS, ebXML Specification. http://www.ebxml.org
 QNX, http://www.qnx.com
 K. Raatikainen (2001) “Functionality Needed in Middleware for Future Mobile Computing Platforms”, Proc. Mobile Middleware 2001.
 G. Roussos, P.Kourouthanasis, G. Lekakos and G. Doukidis (2001) "Challenges for Automatic Home Supply Replenishment in e-Retailing", e-Commerce Frontiers 2001, Cheshirehenbury, Macclesfield, UK.
 G. Roussos, L. Koukara, P. Kourouthanasis, J.O. Tuominen, O. Seppala, G. Giaglis and J. Frissaer (2002) “A case study in pervasive retail”, Proc. ACM Mobile Commerce 2002, pp. 100-105.
 R. Ruggaber and J. Seitz (2000) “Using CORBA applications in nomadic environments”, Proc. Third IEEE Workshop on Mobile Computing Systems and Applications (WMCSA'00).
 J. Smaros and J. Holmstrom (2000), “Reaching the consumer through e-grocery VMI”, International Journal of Retail and Distribution Management, Vol. 28, No 2, pp. 55-61.
 Symbol, http://www.symbol.com/wireless
 J. O. Tuominen (2001) “Location-based services for mobile commerce”, Proc. Mobile Location Workshop, Espoo, Finland.
 R. van Hoek (2001) “E-supply chains virtually non-existing”, Supply Chain Management: AnInternational Journal, Vol. 6, No. 1, pp. 21-24.
 E. van Roessler, P.Kesteloot and P.Howgate (2000) “B2B e-Commerce: Open standards for interoperable e-catalogues”, Proc. e2000 Conference.
 Uniform Council Code, http://www.uc-council.org/
 VICS CPFR Committee (1999) The Collaborative Planning, Forecasting and Replenishment Committee of the Voluntary Interindustry Commerce Standards (VICS), Association CPFR Voluntary Guidelines, UCC Council.
 VICS Collaborative Forecasting and Planning Specification, http://www.cprg.org