迁移:自移动的对象集群

EW 7 Pub Date : 1996-09-09 DOI:10.1145/504450.504494
E. Jul
{"title":"迁移:自移动的对象集群","authors":"E. Jul","doi":"10.1145/504450.504494","DOIUrl":null,"url":null,"abstract":"In a world connected by an Information Superhighway there will be many smaller highways, roads, and even paths to users. Users will roam around and touch upon the access paths at many different point with varying path bandwidths. Upon each access, the user will expect to see data, objects, and computations essential to his or her needs.\nWe propose to provide such access using Migrant which, in a nutshell (excuse the pun), encapsulates small units of data, objects, and computation. The central idea behind migrants is that of carving out a subset of objects in an object based system where the subset represents some small part of one (or more) applications and letting this subject, called a migrant chase down the user wherever the user accesses the WorldWide net.\nA migrant can be considered a small agent containing essential data (and computations) which furthermore are aware of the network and are willing to travel as to find the user. For example, a simple migrant could contain a mail message plus information on where the migrant might rendez-vous with the user. On the way, the migrant may decide to replicate itself, so as to better show up wherever the user connects to the network next.\nMigrants must be application defined because they need to contain a suitable summary of some subset of the application. The application programmer defines distilling functions as to create migrants. The idea is that migrants are mini-replicas and are themselves replicable---an ability which is useful when trying to chase down the users. For example, a migrant may replicate itself by being sent to multiple plausible locations of the user.\nMigrants can also produce migrants of their own, e.g., a mail message migrant can produce a smaller migrant (max. 160 characters) that can be transmitted via the Short Message Service (SMS) of the GSM cellular system.\nMigrants can also be created at the user end, e.g., a user can create a migrant using a cellular phone by sending a SMS message. Upon receipt the migrant expands itself into a 257 real task, e.g., sending a real mail message, accessing a database, requesting the creation of a file migrant (e.g., to order retrieval of a file), etc.\nAt the implementation level, migrants can be considered a form of active messages in that they contain the necessary code to identify and hook up with the application or user (or other migrant) that they are looking for. The underlying support layer is to provide transportation, location information, and location hints that the migrant can use in chasing down its destination. Thus the underlying transport layer must make parts of its information available to migrants. In many cases, a hunting migrants will not have to do much chasing because the underlying system has up-to-date location information and network connections to the destination. However, by exposing location information, migrants can then apply their own policy concerning the chasing to be done. This can include the further replication of the migrant and the initiation of further communication over the available communication lines.\nWe are developing language constructs for specifying migrants within the object-based system Emerald. A major problem with semi-automatically defined migrants is to ensure that enough other Emerald objects are included in the migrant for it to be able to function. In this sense, migrants are akin to mobile objects in Emerald where sub-data structures are moved along with their containing objects. However, for migrants it is often necessary to provide proxies or dummy stubs for references outside the migrants. A part of the project is to study the necessary types of references required in this environment. The original single type of object reference in Emerald does not suffice. Migrants also need handlers (upcalls) to enable them to react when they arrive at a new location, when a potential destination has been found, etc.\nMigrants also need to match themselves against potential destinations. The exact matching used is still an open question. One solution is to rely on the underlying language reference mechanism (so matching is reduced to using the identity operator). This, however, places the real matching burden on the underlying system which is a poor chose for several reasons. The matching is fixed and thus inflexible; in some cases, the migrants will want to chose their own policies. We are also considering using the Emerald type system to perform part of the matching in a more secure manner by employing the Emerald restrict mechanism. One advantage of using the type system for matching is that the migrant and the destination do not have to use the same compiler; the Emerald type system uses structural equivalency and thus independent Emerald compilers can be used.\nEmerald has a clustering mechanism in the form of the attachment concept. We are considering modifications to this concept as to provide for migrant clustering. Migrants need to cluster small and very specific objects and need some control over which of its sub-data objects are replicated.\nCurrently, the Migrants project is in the preliminary stages; its future depends on funding that will prevent student migration!","PeriodicalId":137590,"journal":{"name":"EW 7","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Migrants: self-moving object clusters\",\"authors\":\"E. Jul\",\"doi\":\"10.1145/504450.504494\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In a world connected by an Information Superhighway there will be many smaller highways, roads, and even paths to users. Users will roam around and touch upon the access paths at many different point with varying path bandwidths. Upon each access, the user will expect to see data, objects, and computations essential to his or her needs.\\nWe propose to provide such access using Migrant which, in a nutshell (excuse the pun), encapsulates small units of data, objects, and computation. The central idea behind migrants is that of carving out a subset of objects in an object based system where the subset represents some small part of one (or more) applications and letting this subject, called a migrant chase down the user wherever the user accesses the WorldWide net.\\nA migrant can be considered a small agent containing essential data (and computations) which furthermore are aware of the network and are willing to travel as to find the user. For example, a simple migrant could contain a mail message plus information on where the migrant might rendez-vous with the user. On the way, the migrant may decide to replicate itself, so as to better show up wherever the user connects to the network next.\\nMigrants must be application defined because they need to contain a suitable summary of some subset of the application. The application programmer defines distilling functions as to create migrants. The idea is that migrants are mini-replicas and are themselves replicable---an ability which is useful when trying to chase down the users. For example, a migrant may replicate itself by being sent to multiple plausible locations of the user.\\nMigrants can also produce migrants of their own, e.g., a mail message migrant can produce a smaller migrant (max. 160 characters) that can be transmitted via the Short Message Service (SMS) of the GSM cellular system.\\nMigrants can also be created at the user end, e.g., a user can create a migrant using a cellular phone by sending a SMS message. Upon receipt the migrant expands itself into a 257 real task, e.g., sending a real mail message, accessing a database, requesting the creation of a file migrant (e.g., to order retrieval of a file), etc.\\nAt the implementation level, migrants can be considered a form of active messages in that they contain the necessary code to identify and hook up with the application or user (or other migrant) that they are looking for. The underlying support layer is to provide transportation, location information, and location hints that the migrant can use in chasing down its destination. Thus the underlying transport layer must make parts of its information available to migrants. In many cases, a hunting migrants will not have to do much chasing because the underlying system has up-to-date location information and network connections to the destination. However, by exposing location information, migrants can then apply their own policy concerning the chasing to be done. This can include the further replication of the migrant and the initiation of further communication over the available communication lines.\\nWe are developing language constructs for specifying migrants within the object-based system Emerald. A major problem with semi-automatically defined migrants is to ensure that enough other Emerald objects are included in the migrant for it to be able to function. In this sense, migrants are akin to mobile objects in Emerald where sub-data structures are moved along with their containing objects. However, for migrants it is often necessary to provide proxies or dummy stubs for references outside the migrants. A part of the project is to study the necessary types of references required in this environment. The original single type of object reference in Emerald does not suffice. Migrants also need handlers (upcalls) to enable them to react when they arrive at a new location, when a potential destination has been found, etc.\\nMigrants also need to match themselves against potential destinations. The exact matching used is still an open question. One solution is to rely on the underlying language reference mechanism (so matching is reduced to using the identity operator). This, however, places the real matching burden on the underlying system which is a poor chose for several reasons. The matching is fixed and thus inflexible; in some cases, the migrants will want to chose their own policies. We are also considering using the Emerald type system to perform part of the matching in a more secure manner by employing the Emerald restrict mechanism. One advantage of using the type system for matching is that the migrant and the destination do not have to use the same compiler; the Emerald type system uses structural equivalency and thus independent Emerald compilers can be used.\\nEmerald has a clustering mechanism in the form of the attachment concept. We are considering modifications to this concept as to provide for migrant clustering. Migrants need to cluster small and very specific objects and need some control over which of its sub-data objects are replicated.\\nCurrently, the Migrants project is in the preliminary stages; its future depends on funding that will prevent student migration!\",\"PeriodicalId\":137590,\"journal\":{\"name\":\"EW 7\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1996-09-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"EW 7\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/504450.504494\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"EW 7","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/504450.504494","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

在一个由信息高速公路连接起来的世界里,将会有许多通往用户的小高速公路、道路甚至路径。用户将漫游并在具有不同路径带宽的许多不同点接触访问路径。每次访问时,用户都希望看到满足其需求的数据、对象和计算结果。我们建议使用Migrant来提供这样的访问,简而言之(请原谅双关语),它封装了数据、对象和计算的小单元。迁移背后的核心思想是在一个基于对象的系统中划分出一个对象子集,该子集代表一个(或多个)应用程序的一小部分,并让这个被称为迁移的主题在用户访问全球网络的任何地方追踪用户。迁移者可以被认为是一个包含基本数据(和计算)的小代理,它进一步意识到网络,并愿意旅行以找到用户。例如,一个简单的迁移可以包含一条邮件消息以及关于迁移者可能在何处与用户会合的信息。在此过程中,迁移者可能会决定复制自己,以便更好地出现在用户下一次连接到网络的任何地方。迁移必须是应用程序定义的,因为它们需要包含应用程序某些子集的适当摘要。应用程序程序员定义蒸馏函数来创建迁移。这个想法是,迁移者是迷你复制品,并且本身是可复制的——这种能力在试图追踪用户时很有用。例如,迁移者可以通过发送到用户的多个合理位置来复制自己。迁移者也可以产生自己的迁移者,例如,一个邮件消息迁移者可以产生一个较小的迁移者(最大。160个字符),可以通过GSM蜂窝系统的短消息服务(SMS)传输。迁移也可以在用户端创建,例如,用户可以通过发送SMS消息使用蜂窝电话创建迁移。在接收后,迁移扩展为257实际任务,例如,发送实际邮件消息,访问数据库,请求创建文件迁移(例如,命令检索文件)等。在实现级别,迁移可以被认为是一种活动消息的形式,因为它们包含必要的代码来识别和连接他们正在寻找的应用程序或用户(或其他迁移)。底层支持层提供迁移者在追踪其目的地时可以使用的运输、位置信息和位置提示。因此,底层传输层必须使其部分信息可供迁移者使用。在许多情况下,狩猎移民不需要做太多的追逐,因为底层系统有最新的位置信息和与目的地的网络连接。然而,通过暴露位置信息,移民可以应用他们自己的政策来完成追捕。这可以包括迁移的进一步复制和通过可用通信线路发起进一步通信。我们正在开发用于在基于对象的系统Emerald中指定迁移的语言结构。半自动定义迁移的一个主要问题是确保在迁移中包含足够多的其他Emerald对象以使其能够正常工作。从这个意义上讲,迁移类似于Emerald中的移动对象,其中子数据结构与其包含对象一起移动。然而,对于迁移来说,通常需要为迁移之外的引用提供代理或虚拟存根。该项目的一部分是研究在这种环境中所需的必要类型的参考文献。在Emerald中,原来单一类型的对象引用是不够的。移民还需要处理程序(向上呼叫),使他们能够在到达新地点时做出反应,当发现潜在目的地时,等等。移民还需要将自己与潜在目的地进行匹配。所使用的精确匹配仍然是一个悬而未决的问题。一种解决方案是依赖底层语言引用机制(因此匹配简化为使用标识操作符)。然而,这将把真正的匹配负担放在底层系统上,这是一个糟糕的选择,原因有几个。匹配是固定的,因此不灵活;在某些情况下,移民会想要选择自己的政策。我们还在考虑使用Emerald类型系统,通过使用Emerald限制机制,以更安全的方式执行部分匹配。使用类型系统进行匹配的一个优点是迁移对象和目标对象不必使用相同的编译器;Emerald类型系统使用结构等价,因此可以使用独立的Emerald编译器。Emerald以依恋概念的形式有一个集群机制。我们正在考虑修改这一概念,以便为移徙者群集提供条件。 迁移需要对小型和非常特定的对象进行聚类,并且需要对复制哪些子数据对象进行某种控制。目前,移民项目处于初步阶段;它的未来取决于阻止学生移民的资金!
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Migrants: self-moving object clusters
In a world connected by an Information Superhighway there will be many smaller highways, roads, and even paths to users. Users will roam around and touch upon the access paths at many different point with varying path bandwidths. Upon each access, the user will expect to see data, objects, and computations essential to his or her needs. We propose to provide such access using Migrant which, in a nutshell (excuse the pun), encapsulates small units of data, objects, and computation. The central idea behind migrants is that of carving out a subset of objects in an object based system where the subset represents some small part of one (or more) applications and letting this subject, called a migrant chase down the user wherever the user accesses the WorldWide net. A migrant can be considered a small agent containing essential data (and computations) which furthermore are aware of the network and are willing to travel as to find the user. For example, a simple migrant could contain a mail message plus information on where the migrant might rendez-vous with the user. On the way, the migrant may decide to replicate itself, so as to better show up wherever the user connects to the network next. Migrants must be application defined because they need to contain a suitable summary of some subset of the application. The application programmer defines distilling functions as to create migrants. The idea is that migrants are mini-replicas and are themselves replicable---an ability which is useful when trying to chase down the users. For example, a migrant may replicate itself by being sent to multiple plausible locations of the user. Migrants can also produce migrants of their own, e.g., a mail message migrant can produce a smaller migrant (max. 160 characters) that can be transmitted via the Short Message Service (SMS) of the GSM cellular system. Migrants can also be created at the user end, e.g., a user can create a migrant using a cellular phone by sending a SMS message. Upon receipt the migrant expands itself into a 257 real task, e.g., sending a real mail message, accessing a database, requesting the creation of a file migrant (e.g., to order retrieval of a file), etc. At the implementation level, migrants can be considered a form of active messages in that they contain the necessary code to identify and hook up with the application or user (or other migrant) that they are looking for. The underlying support layer is to provide transportation, location information, and location hints that the migrant can use in chasing down its destination. Thus the underlying transport layer must make parts of its information available to migrants. In many cases, a hunting migrants will not have to do much chasing because the underlying system has up-to-date location information and network connections to the destination. However, by exposing location information, migrants can then apply their own policy concerning the chasing to be done. This can include the further replication of the migrant and the initiation of further communication over the available communication lines. We are developing language constructs for specifying migrants within the object-based system Emerald. A major problem with semi-automatically defined migrants is to ensure that enough other Emerald objects are included in the migrant for it to be able to function. In this sense, migrants are akin to mobile objects in Emerald where sub-data structures are moved along with their containing objects. However, for migrants it is often necessary to provide proxies or dummy stubs for references outside the migrants. A part of the project is to study the necessary types of references required in this environment. The original single type of object reference in Emerald does not suffice. Migrants also need handlers (upcalls) to enable them to react when they arrive at a new location, when a potential destination has been found, etc. Migrants also need to match themselves against potential destinations. The exact matching used is still an open question. One solution is to rely on the underlying language reference mechanism (so matching is reduced to using the identity operator). This, however, places the real matching burden on the underlying system which is a poor chose for several reasons. The matching is fixed and thus inflexible; in some cases, the migrants will want to chose their own policies. We are also considering using the Emerald type system to perform part of the matching in a more secure manner by employing the Emerald restrict mechanism. One advantage of using the type system for matching is that the migrant and the destination do not have to use the same compiler; the Emerald type system uses structural equivalency and thus independent Emerald compilers can be used. Emerald has a clustering mechanism in the form of the attachment concept. We are considering modifications to this concept as to provide for migrant clustering. Migrants need to cluster small and very specific objects and need some control over which of its sub-data objects are replicated. Currently, the Migrants project is in the preliminary stages; its future depends on funding that will prevent student migration!
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信