Active Files A Mechanism for Integrating Legacy Applications
Active Files:A Mechanism for Integrating Legacy Applications into Distributed Systems
Partha Dasgupta Department of Computer Science Arizona State University
partha@08f99541336c1eb91a375d88 Ayal Itzkovitz and Vijay Karamcheti Department of Computer Science
New York University
ayali,vijayk@08f99541336c1eb91a375d88
Abstract
Despite increasingly distributed internet information sources with diverse storage formats and access-control constraints,most of the end applications(e.g.,?lters and media players)that view and manipulate data from these sources operate against a traditional?le-based interface. These legacy applications need to be rewritten to access re-mote sources,or need to rely upon ad hoc intermediary ap-plications that aggregate the data into a passive?le before executing the legacy application.
This paper presents a simple,elegant,programmable method for allowing natural integration of legacy applica-tions into distributed system infrastructures.The approach called active?les,enables multiple information sources to be encapsulated as a local?le that serves as their logical proxyw.This local?le is accessed though a sentinel pro-cess,which automatically starts when the?le is opened,ag-gregates data from multiple sources,and?lters all access to and from the?le.More importantly,the integration of active ?les into client applications is transparent:an active?le is virtually indistinguishable from a regular?le.Active?les ?nd a variety of applications in both distributed and non-distributed systems.We discuss active?les,their semantics, their usage and their implementations in Windows NT. 1.Introduction
The growth of the internet has been accompanied by an explosion in information sources.These sources are dis-tributed,store data in different formats,are dynamically changing,and may be subject to a variety of constraints in-cluding consistency,privacy,and access-control.However, most of the end applications that view and manipulate data This research was sponsored by DARPA/AFRL-Rome agreements F30602-96-1-0320and F30602-99-1-0517,by NSF award CCR-9876128, and Microsoft.from these sources(e.g.,browser helper applications such as?lters and media players)assume a traditional?le-based interface,treating?les simply as a passive,persistent,un-interpreted sequence of bytes.Consequently,the integra-tion of such legacy applications into distributed systems has required either signi?cant code modi?cation to use a new distributed system-aware API or relies on the ad hoc use of intermediary applications that isolate the end application from the data sources.These intermediaries perform neces-sary operations such as access control,?ltering,and format conversion before aggregating the data into a passive?le that can be handed down to legacy applications.
However,there are signi?cant shortcomings to both these approaches.The?rst,supported by constructs such as dynamic HTML and cgi-bin scripts to couple activity with network-accessed?les,and component frameworks such as DCOM,and CORBA to support object-speci?c access interfaces,has seen restricted use except in a few scenar-ios.Reasons include the vastly different semantics provided by these constructs,their relatively complicated APIs,and their heavyweight implementations.The second approach although more popular,has the disadvantage that the data collected by the intermediary is completely decoupled from both the original sources of the information and the end ap-plication.Consequently,it is unable to track changes in the original sources or be controlled by the end application.For example,an end application that searches through a col-lection of distributed databases cannot see changes in these databases,nor in?uence the progress of the search when an intermediary?rst aggregates data from these databases and presents it to the search application as a?le.
In this paper,we present an elegant,easy to use,and programmable concept,that allows natural integration of legacy applications into distributed system infrastructures. This association is done by a construct we call active?les, which enables distributed sources of information to be en-capsulated in the form of a local?le that serves as their logical proxy.An active?le has the look and feel of a reg-ular?le,but is associated with a sentinel(process)that can
To appear in the Proceedings of International Conference on Distributed Computing Systems, April 2000
act on the streams of data that enter the?le on a write or exit the?le on a read.More importantly,from the perspec-tive of the end-application,active?les are indistinguishable from non-active?les.There is no reprogramming,or re-compilation necessary for using active?les.The sentinel can perform a variety of tasks,including aggregating data from distributed sources,?ltering data entering/exiting the ?le,and performing actions that have external side-effects.
Active?les provide a convenient abstraction for alleviat-ing several shortcomings of intermediary approaches.The sentinel process can control?ow of data between distributed sources and the end application,enforcing consistency,pri-vacy,and access-control constraints required by the former while simultaneously yielding control to the end applica-tion.For example,an active?le can provide the illusion of accessing a single?le even though the?le data is physically located on multiple remote sites with varied authentication and access-control policies.In addition,it can monitor how the application uses this?le,caching only the most fre-quently accessed contents for performance.Moreover,the cache can be kept consistent with any updates performed to its contents at any of the remote sources.Note that all of these behaviors can be expressed without modifying either the end application or the original sources of data.
Active?les can also enhance regular?le functionality in non-distributed systems.Tradi …… 此处隐藏:48155字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




