Abstract
In this paper, we present GateScript, a scripting language for active applications to be executed on generic active gateways. Unlike other active networking platforms, it offers a simple scripting language for expressing custom processing of packets at different protocol layers without the need for interpretation of complex protocol data structures. In this way, the user writes statements in a script-like language while using protocol-specific variables and predefined function calls acting on the packet’s content. From a textual description, we automatically create a packet parser and reassembler for a given protocol. The parser decomposes PDUs arriving in an active application into protocol variables that can be used in the script language. After processing, outcoming packets are reconstructed from the protocol variables. GateScript also enables active applications to react to the state of the environment: they can receive events from monitors and test variables reflecting the state of the environment.
We have designed an architecture for a generic active gateway (GAG) that supports GateScript. An active application can dynamically install/remove a packet filter that intercepts relevant packets and passes them to the application. We have implemented GAG on Linux: its packet forwarding part is implemented in the kernel and all other components as user space processes.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Amir, E., McCanne, S., Katz, R.: An Active Service Framework and its Application to Real-time Multimedia Transcoding. ACM Communication Review 28(4), 178–189 (1998)
Balakrishnan, H., Seshan, S., Katz, R.H.: Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks. ACM Wireless Networks 1(4) (1995)
Barnes, J.F., Pandey, R.: CacheL: Language Support for Customizable Caching Policies. In: The 4th International Web Caching Workshop, San Diego, California (1999)
Chandra, S., Ellis, C.S., Vahdat, A.: Multimedia Web Services for Mobile Clients Using Quality Aware Transcoding. In: The 2nd ACM International Workshop on Wireless and Mobile Multimedia (WoWMoM’99), Seattle, Washington, USA, August 1999, ACM Press, New York (1999)
Decasper, D., Dittia, Z., Parulkar, G., Plattner, B.: Router Plugins: A Software Architecture for Next Generation Routers. IEEE/ACM Transaction on Networking (Feb. 2000)
Eleftheriadis, A., Hong, D.: Flavor: A Language for Media Representation. In: the Fifth ACM International Conference on Multimedia, Seattle, Washington, ACM Press, New York (1997)
Fox, A., Brewer, E.A.: Reducing WWW Latency and Bandwidth Requirements by Real-Time Distillation. In: The 5th International WWW Conference, Paris, France, May (1996)
Fry, M., Ghosh, A.: Application Level Active Networking. Computer Networks (1999)
Han, R., et al.: Dynamic Adaptation in an Image Transcoding Proxy for Mobile Web Browsing . IEEE Personal Communications Magazine 5(6), 8–17 (1998)
Hicks, M., et al.: PLAN: A Programming Language for Active Networks. In: Proc. ICFP ’98 (1998)
ipqmpd - IP Queue Multiplex Daemon. http://gnumonks.org/projects/
Java Compiler Compiler (JavaCC) - The Java Parser Generator. http://www.webgain.com/products/java_cc/
Keller, R., Ruf, L., Guindehi, A., Plattner, B.: PromethOS: A Dynamically Extensible Router Architecture Supporting Explicit Routing. In: Sterbenz, J.P.G., Takada, O., Tschudin, C.F., Plattner, B. (eds.) IWAN 2002. LNCS, vol. 2546, Springer, Heidelberg (2002)
Kind, A., Pletka, R., Waldvogel, M.: The Role of Network Processors in Active Networks. In: Wakamiya, N., Solarski, M., Sterbenz, J.P.G. (eds.) IWAN 2003. LNCS, vol. 2982, Springer, Heidelberg (2004)
Muffin - a World Wide Web Filtering System. http://muffin.doit.org/
The netfilter/iptables project. http://netfilter.samba.org
Nguyen, H-B., Duda, A.: ProAN: an Active Node for Proactive Services in Pervasive Environments. In: The 2nd International Workshop on Active Network Technologies and Applications (ANTA 2003), Osaka, Japan, May (2003)
Nygren, E., Garland, S., Kaashoek, M.F.: PAN: A High-Performance Active Network Node Supporting Multiple Mobile Code Systems. In: The Second IEEE Conference on Open Architectures and Network Programming-OpenArch99, New York, NY, March, IEEE Computer Society Press, Los Alamitos (1999)
Ooi, W.T., Renesse, R., Smith, B.: Design and Implementation of Programmable Media Gateways. In: The 10th International Workshop on Network and Operating System Support for Digital Audio and Video, Chapel Hill, North Carolina, June (2000)
The Open Pluggable Edge Service (OPES). http://www.ietf-opes.org
Schmid, S., Chart, T., Sifalakis, M., Scott, A.C.: Flexible, Dynamic and Scalable Service Composition for Active Routers. In: Sterbenz, J.P.G., Takada, O., Tschudin, C.F., Plattner, B. (eds.) IWAN 2002. LNCS, vol. 2546, Springer, Heidelberg (2002)
Seitz, J., Davies, N., Ebner, M., Friday, A.: A CORBA-based Proxy Architecture for Mobile Multimedia Applications. In: MMNS’98 - 2nd IFIP/IEEE International Conference on Management of Multimedia Networks and Services, Versailles, France, November 1998, IEEE Computer Society Press, Los Alamitos (1998)
Yemini, Y., Silva, S.: Towards Programmable Networks. In: IFIP/IEEE International Workshop on Distributed Systems: Operations and Management, L’Aquila, Italy, October 1996, IEEE Computer Society Press, Los Alamitos (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Nguyen, HB., Duda, A. (2007). GateScript: A Scripting Language for Generic Active Gateways. In: Minden, G.J., Calvert, K.L., Solarski, M., Yamamoto, M. (eds) Active Networks. IWAN 2004. Lecture Notes in Computer Science, vol 3912. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71500-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-71500-9_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71499-6
Online ISBN: 978-3-540-71500-9
eBook Packages: Computer ScienceComputer Science (R0)