| 计算机专业时文选读之一 | |
| Grid Storage Definition: Grid storage, analogous to grid computing, is a new model for deploying and managing storage distributed across multiple systems and networks, making efficient use of available storage capacity without requiring a large, centralized switching system. A grid is, in fact, a meshed network in which no single centralized switch or hub controls routing. Grids offer almost unlimited scalability in size and performance because they aren't constrained by the need for ever-larger central switches. Grid networks thus reduce component costs and produce a reliable and resilient structure. Applying the grid concept to a computer network lets us harness available but unused resources by dynamically allocating and deallocating capacity, bandwidth and processing among numerous distributed computers. A computing grid can span locations, organizations, machine architectures and software boundaries, offering power, collaboration and information access to connected users. Universities and research facilities are using grids to build what amounts to supercomputer capability from PCs, Macintoshes and Linux boxes. After grid computing came into being, it was only a matter of time before a similar model would emerge for making use of distributed data storage. Most storage networks are built in star configurations, where all servers and storage devices are connected to a single central switch. In contrast, grid topology is built with a network of interconnected smaller switches that can scale as bandwidth increases and continue to deliver improved reliability and higher performance and connectivity. What Is Grid Storage? Based on current and proposed products, it appears that a grid storage system should include the following: Modular storage arrays: These systems are connected across a storage network using serial ATA disks. The systems can be block-oriented storage arrays or network-attached storage gateways and servers. Common virtualization layer: Storage must be organized as a single logical pool of resources available to users. Data redundancy and availability: Multiple copies of data should exist across nodes in the grid, creating redundant data access and availability in case of a component failure. Common management: A single level of management across all nodes should cover the areas of data security, mobility and migration, capacity on demand, and provisioning. Simplified platform/management architecture: Because common management is so important, the tasks involved in administration should be organized in modular fashion, allowing the autodiscovery of new nodes in the grid and automating volume and file management. Three Basic Benefits Applying grid topology to a storage network provides several benefits, including the following: Reliability. A well-designed grid network is extremely resilient. Rather than providing just two paths between any two nodes, the grid offers multiple paths between each storage node. This makes it easy to service and replace components in case of failure, with minimal impact on system availability or downtime. Performance. The same factors that lead to reliability also can improve performance. Not requiring a centralized switch with many ports eliminates a potential performance bottleneck, and applying load-balancing techniques to the multiple paths available offers consistent performance for the entire network. Scalability. It's easy to expand a grid network using inexpensive switches with low port counts to accommodate additional servers for increased performance, bandwidth and capacity. In essence, grid storage is a way to scale out rather than up, using relatively inexpensive storage building blocks. 时文选读 网格存储 定义:网格存储与网格计算类似,是部署和管理分布在多个系统和网络上的存储的新模式,在无需集中式大型交换系统的情况下,高效地利用可资使用的存储容量。 网格实际上是一个网状网络,其中没有控制路由的单个集中式交换机或集线器。网格在规模和性能上提供了无限的扩展性,因为它们不会受越来越大的集中式交换机这个需求的束缚。因此,网格网络降低了构件的成本,生成一个可靠且有弹性的结构。 将网格概念应用于计算机网络,让我们通过动态分配和重新分配数量众多的分布式计算机的容量、带宽和处理能力,利用可用但未用的资源。计算网格可以跨越地域、机构、机器架构和软件界限,给连接着的用户提供处理能力、协作和信息存取。大学和研究机构正在利用网格提供 PC机、苹果机和Linux机组成的、可与巨型机匹敌的计算能力。 有了网格计算之后,出现利用分布数据存储的类似模型只是个时间问题。大多数存储网络是星型结构,其中所有服务器和存储设备都与单一的交换机相连。相反,网格的拓扑结构是互联在一起的小服务器网络,可以随着带宽的增加而增加服务器,继续提供更好的可靠性和更高的性能及连接性。 何为网格存储? 基于目前已有的和建议中的产品,网格存储系统应该包括下列组成部分: 模块化存储阵列:这些系统连接在一个使用串行 ATA磁盘的存储网络。系统可以是基于块的存储阵列,也可以是接在网络上的NAS网关和服务器。 公共虚拟层:存储被组织成一个逻辑资源库,以供用户使用。 数据冗余和可用性:数据的多个拷贝应该存在于网格的节点上,在部件出现故障时保证冗余数据的存取和可用性。 公共管理:对所有节点的单一管理层次应该覆盖数据安全、机动性和迁移性、按需能力供应和预备功能等诸多方面。 简化的平台 /管理架构: 由于公共的管理非常重要,管理中所涉及的任务应该按模块方式组织好,允许自动发现网格中的节点和自动完成卷及文件的管理。 三大基本优势 将网格拓扑应用于存储网络带来了诸多的好处,其中包括下列优势: 可靠性 : 一个设计良好的网格极具弹性。网格不只是在任何两个节点之间提供两个通道,而是在每个存储节点之间提供多个通道。这就使维修服务和出故障时更换部件比较容易,对系统的可用性或宕机时间影响最小。 性能:导致高可靠性的因素同样也能改善性能。不需要有大量端口的集中式交换机,消除了潜在的性能瓶颈,并能将负载平衡技术应用于可使用的多个通道,为整个网络提供一致的性能。 可扩展性 : 利用端口数不多的廉价交换机,就能很容易地扩展网格网络,以适应为提高性能、带宽和容量而增加的服务器。本质上,网格存储是利用较廉价的存储设备来向外扩展而不是向上升级的方法。 | |
| 计算机专业时文选读之二 | |
| Data Cubes DEFINITION: A data cube is a type of multidimensional matrix that lets users explore and analyze a collection of data from many different perspectives, usually considering three factors (dimensions) at a time. When we try to extract information from a stack of data, we need tools to help us find what's relevant and what's important and to explore different scenarios. A report, whether printed on paper or viewed on-screen, is at best a two-dimensional representation of data, a table using columns and rows. That's sufficient when we have only two factors to consider, but in the real world we need more powerful tools. Data cubes are multidimensional extensions of 2-D tables, just as in geometry a cube is a three-dimensional extension of a square. The word cube brings to mind a 3-D object, and we can think of a 3-D data cube as being a set of similarly structured 2-D tables stacked on top of one another. But data cubes aren't restricted to just three dimensions. Most online analytical processing (OLAP) systems can build data cubes with many more dimensions—Microsoft SQL Server 2000 Analysis Services, for example, allows up to dimensions. We can think of a 4-D data cube as consisting of a series of 3-D cubes, though visualizing such higher-dimensional entities in spatial or geometric terms can be a problem. In practice, therefore, we often construct data cubes with many dimensions, but we tend to look at just three at a time. What makes data cubes so valuable is that we can index the cube on one or more of its dimensions. Relational or Multidimensional? Since data cubes are such a useful interpretation tool, most OLAP products are built around a structure in which the cube is modeled as a multidimensional array. These multidimensional OLAP, or MOLAP, products typically run faster than other approaches, primarily because it's possible to index directly into the data cube's structure to collect subsets of data. However, for very large data sets with many dimensions, MOLAP solutions aren't always so effective. As the number of dimensions increases, the cube becomes sparser—that is, many cells representing specific attribute combinations are empty, containing no aggregated data. As with other types of sparse databases, this tends to increase storage requirements, sometimes to unacceptable levels. Compression techniques can help, but using them tends to destroy MOLAP's natural indexing. ? Data cubes can be built in other ways. Relational OLAP uses the relational database model. The ROLAP data cube is implemented as a collection of relational tables (up to twice as many as the number of dimensions) instead of as a multidimensional array. Each of these tables, called a cuboid, represents a particular view. Because the cuboids are conventional database tables, we can process and query them using traditional RDBMS techniques, such as indexes and joins. This format is likely to be efficient for large data collections, since the tables must include only data cube cells that actually contain data. However, ROLAP cubes lack the built-in indexing of a MOLAP implementation. Instead, each record in a given table must contain all attribute values in addition to any aggregated or summary values. This extra overhead may offset some of the space savings, and the absence of an implicit index means that we must provide one explicitly. From a structural perspective, data cubes are made up of two elements: dimensions and measures. Dimensions are already explained; measures are simply the actual data values. It's important to keep in mind that the data in a data cube has already been processed and aggregated into cube form. Thus we normally don't perform calculations within a data cube. This also means that we're not looking at real-time, dynamic data in a data cube. The data contained within a cube has already been summarized to show figures such as unit sales, store sales, regional sales, net sale profits and average time for order fulfillment. With this data, an analyst can efficiently analyze any or all of those figures for any or all products, customers, sales agents and more. Thus data cubes can be extremely helpful in establishing trends and analyzing performance. In contrast, tables are best suited to reporting standardized operational scenarios. 时文选读 数据立方体 定义:数据立方体是一类矩阵,让用户从多个角度探索和分析数据集,通常是一次同时考虑三个因素(维度)。 当我们试图从一堆数据中提取信息时,我们需要工具来帮助我们找到那些有关联的和重要的信息,以及探讨不同的情景。一份报告,不管是印在纸上的还是出现在屏幕上,都是数据的二维表示,是行和列构成的表格。在我们只有两个因素要考虑时,这就足矣,但在真实世界中我们需要更强的工具。 数据立方体是二维表格的扩展,如同几何学中立方体是正方形的三维扩展一样。 “立方体”这个词让我们想起三维的物体,我们也可以把三维的数据立方体看作是一组类似的互相叠加起来的二维表格。 但是数据立方体不局限于三个维度。大多数在线分析处理( OLAP)系统能用很多个维度构建数据立方体,例如,微软的SQL Server 2000 Analysis Services工具允许维度数高达个(虽然在空间或几何范畴想像更高维度的实体还是个问题)。 在实际中,我们常常用很多个维度来构建数据立方体,但我们倾向于一次只看三个维度。数据立方体之所以有价值,是因为我们能在一个或多个维度上给立方体做索引。 关系的还是的? 由于数据立方体是一个非常有用的解释工具,所以大多数 OLAP产品都围绕着按阵列建立立方模型这样一个结构编制。这些的OLAP产品,即MOLAP产品,运行速度通常比其他方法更快,这是因为能直接把索引做进数据立方的结构,方便收集数据子集。 然而,对于非常大的数据集, MOLAP方案并不总是有效的。随着维度数目的增加,立方体变得更稀疏,即表示某些属性组合的多个单元是空的,没有集合的数据。相对于其他类型的稀疏数据库,数据立方体往往会增加存储需求,有时会达到不能接受的程度。压缩技术能有些帮助,但利用这些技术往往会破坏MOLAP的自然索引。 数据立方体还可以用其他的方法构建。关系 OLAP就利用了关系数据库模型。ROLAP数据立方体是按关系表格的集合实现的(最多可达维度数目的两倍),来代替阵列。其中的表格叫做立方单元,代表特定的视图。 由于立方单元是一个常规的数据库表格,所以我们能用传统的 RDBMS技术(如索引和连接)来处理和查询它们。这种形式对大量的数据集合可能是有效的,因为这些表格必须只能包含实际有数据的数据立方单元。 但是 ROLAP缺少了用MOLAP实现时所具有的内在索引功能。相反,给定表格中的每个记录必须包括所有的属性值而任何集合的或摘要的数据。这种额外的开销可能会抵消掉一些节省出来的空间,而隐性索引的缺少意味着我们必须提供显性的索引。 从结构角度看,数据立方体由两个单元构成:维度和测度。维度已经解释过了,测度就是实际的数据值。 记住这点是很重要的:数据立方体中的数据是已经过处理并聚合成立方形式。因此,通常不需要在数据立方体中进行计算。这也意味着我们看到数据立方体中的数据并不是实时的、动态的数据。 立方体中的数据已经过摘要,表示诸如计件销售、店面销售、区域销售、销售纯利和完成订单的平均时间等数据。有了这些数据,分析师能针对一个或全部产品、客户、销售代理等,就这些数字中的一个或全部进行分析。这样,在预测趋势和分析业绩时,数据立方体就非常有用,而表格最适合报告标准化的运作情况。 | |
| 计算机专业时文选读之三 | |
| Virtual Servers(1) Server virtualization is one of those rare technologies that sounds too good to be true, but it's real. Its earliest use was to consolidate underutilized server hardware onto a smaller number of machines. Since those early days, it has grown into a multipurpose solution that enables greater reliability, improved management, and other benefits that make it an all-but-indispensable tool for enterprise datacenter administrators. To use an oversimplified definition, a virtual server mimics, using software alone, the behavior and capabilities of a stand-alone computer. The nomenclature of virtualization is simple. The bottom of the software stack is occupied by a single instance of an ordinary operating system that's installed directly onto the server hardware. Above that, a virtualization layer handles the redirection and emulation that make up the virtual computer. The combination of these two lower layers is referred to as the host. The host provides the full workings of a familiar PC right down to its BIOS ROM, and it can spawn as many independent PCs— using varying user-defined configurations—as you choose. As are physical servers, a virtual PC is useless until you install an operating system on it. The operating systems that you install on your virtual hosts are called guests. Installing a guest OS can be as easy as booting from the OS's installation CD. It's just like installing an OS on a PC, and in general, if you wonder how virtualization will behave, that's the answer: Just like a PC. In fact, in an all-Windows environment, it's easy to lose your place: Are you looking at your Windows host OS or at one of the four Windows guest OSes you just installed? You might get confused, but your guest OSes and their applications never do. Each guest OS believes it has the whole machine to itself. And, in a sense, it does. Software-based hardware Operating systems and applications running on virtual servers don't have direct control over resources such as memory, hard drives, and network ports. Instead, the VM that sits beneath the OS and applications intercepts requests for interaction with hardware and handles them as it sees fit. The real mindblower that turns this technology into something close to magic is that a world-class virtualization solution such as VMware ESX Server can synthesize an entire hardware configuration that has little resemblance to the underlying hardware. For example, the host might simulate the initialization process of a SCSI controller to the last detail, convincing the guest OS that this initialization is being performed even when no physical SCSI controller exists. It can make IDE drives look like SCSI drives, convert network shares into locally attached storage, turn one Ethernet adapter into several, and create gateways between older operating systems and unsupported modern hardware such as Fibre Channel adapters. You build your own servers that precisely fit the needs of your applications, but you use a mouse instead of a screwdriver. Installing the OS and software onto a physical PC server every time you need one can be tedious. Fortunately, with virtualization you don't have to. After you've tuned a virtualized hardware configuration precisely to your liking, you can save that server's disk image to a file and use it as a template for other guest systems. In practice, this is a delight. You can back up a virtual server by copying the file. You can create a new server by duplicating the file—copying Windows requires reactivation and an appropriate license—or move an existing server to different physical hardware. (To Be continued) 时文选读 虚拟服务器(1) 服务器虚拟化是少有的几种技术之一,它们听上去太好而好像不真实,但实际上是真的。其早期的用途是减少使用率不足的服务器硬件,(将处理任务)集中到数量更少的机器上。自这些早期应用以来,它已经发展成一种多目的的解决方案,实现更高的可靠性、更好的管理、以及成为企业数据中心管理员不可或缺的工具。 按照非常简化的定义,虚拟服务器是仅仅利用软件来模拟计算机的行为和能力。 虚拟化这个术语是很简单的。(服务器虚拟化)软件栈集的底部是直接安装在服务器硬件上的普通操作系统。其上是处理重新定向和仿真的虚拟层,而重新定向和仿真构成了虚拟计算机。这底部的两层合起来被叫做宿主机。宿主机提供大家熟悉的 PC机BIOS ROM的全部工作,按照用户的选择,利用改变用户定义的配制而生出很多的PC机。 作为物理的服务器,虚拟 PC机只有安装了操作系统才有用。安装在虚拟宿主机上的操作系统称做客OS。安装客操作系统(OS)非常简便,只需从OS的安装光盘上引导过来。这和PC机上安装OS没有什么两样。一般来说,如果你不知道虚拟化是如何运转的,这就是答案:就像一台PC机。 事实上,在全 Windows环境下,你很容易找不到北:是在看Windows宿主机OS,还是在看刚刚安装的四个Windows客OS中的一个?你自己可能搞不清,但你的客OS及其应用程序是从来不会弄错的。每个客OS认为它拥有整个机器。在某种意义上,它是拥有整个机器。 基于软件的硬件 运行在虚拟服务器上的操作系统和应用程序不直接控制内存、硬盘和网络端口等资源,而是由位于 OS和应用程序之间的VM(虚拟机)截取与硬件交互的请求并在认为合适时对它们进行处理。 真正将此技术变成接近于魔术的是 VMware公司的ESX Server等世界级的虚拟化解决方案,这类解决方案能合成整个硬件的配置,而它与基础的硬件几乎没有关系。例如,宿主机可以最详细地模拟SCSI控制器的初始化过程,让客OS相信即使不存在物理的SCSI控制器时初始化也在被执行。它能使IDE磁盘机看上像SCSI磁盘机,能将网络共享的磁盘机转换成装在本机内的存储设备,将一个以太网卡变成几个网卡,并能在较老式的操作系统和它不支持的新式硬件(如光通道卡)之间生成网关。你可以建立完全适合应用程序需要的属于你自己的服务器,这时你用的是鼠标而不是用改锥。 在每次需要时把 OS 和软件装到物理的 PC 服务器是很烦人的。幸亏有了虚拟化你就不必这么做。在完全按你的喜好调好虚拟硬件的配置后,你就能把服务器磁盘映像保存到文件中,对其他的客系统而言它可以当做样板用。在实际中,它是一件赏心悦目的好事。你能通过拷贝该文件将虚拟服务器备份。复制该文件就能创建新的服务器 —— 而拷贝 Windows 需要重新激活和相应的许可证,或者把已有的服务器移到不同的物理硬件上。 | |
| 计算机专业时言语选读之四 | |
| Virtual Servers(2) Virtualized servers do all the good and bad things regular servers do. They boot up, power down, suspend, hang, and even crash. If a guest OS or a device driver it uses is buggy, the virtual PC will crater. But not the physical computer, and that's key. If your OS crashes or an application hangs, or even if you install a software fix that requires a reboot, nothing happens to the hardware. One virtual machine can fail over to another in a purely virtual sense or in a way that's closer to the real thing. Even if certain hardware devices have malfunctioned, so long as the fail-over target is configured to use a secondary network adapter and an alternate path to storage, the fail-over will work exactly as it would if the virtual PCs were physical PCs. In most cases, an enterprise management system will monitor and react to a virtual fail-over as if it were the real thing. Solutions such as HP OpenView see and interact with virtual servers the same way they do with physical ones. The reported configurations of the servers will change after they're virtualized, but it's entirely likely that the day-to-day management of your shop will experience little change. In addition, most virtualization systems bundle solution-specific management software, allowing an administrator to sit at a central console and manipulate all the virtual servers in an enterprise. It's quite an eye-opener to swap out a virtual Ethernet card without ever touching the hardware. A virtualization solution's management console gives you a degree of control over your virtual PCs that surpasses what administrators can do with traditional tools. From a central location, you can boot and shut down virtual PCs as needed. It's also possible to pause them, which harmlessly freezes them in their current state, or hibernate them, putting them in a deep freeze by saving their state to a file on disk. By overwriting the disk file, you can restore PCs from a backed-up state and roll back changes that rendered the guest inoperable, all from a terminal session. In environments with a mix of operating systems——a common condition that turns even simple consolidation into a messy affair—— one solution would be to host each OS in its own VM. For example, on a PC server running one of VMware's virtualization solutions, you can run any combination of Windows 2003 Server, Windows 2000, Windows NT 4.0, various flavors of Linux, and FreeBSD. You can even use VMs to host different versions of the same OS. Linux software is infamous for dependence on specific versions and vendor distributions of Linux. Virtualization is the only way to run applications designed for Red Hat 7.2 and Suse 9.0 simultaneously on a single server. Virtualization is magnificent stuff, but it doesn't cure all ills. You can never create a virtual PC that outperforms the physical system underneath. You will learn much about your applications' system requirements from moving them to a virtual environment. They'll likely surprise you, either with how little of the original server they used——that's the typical case——or how piggish they are. If necessary, you can throttle the nasty ones down. And while one of the great benefits of virtualization is security——it's hard to accomplish much by cracking a system that doesn't exist——a virtualized PC can still be compromised. Fortunately, the cure is to overwrite the virtual PC's disk image with one that's known to be clean, but managing virtual servers still requires vigilance. Ultimately, hardware consolidation is only one reason to opt for server virtualization, and it has wide appeal. Still, depending on each department's unique needs, IT managers are sure to find innumerable ways that virtualization can benefit your enterprise. (The End) 时文选读 虚拟服务器 (2) 虚拟化的服务器会做正常服务器会做的所有好事和坏事。它们会自举、宕机、挂起、暂停、甚至崩溃。如果它的客 OS或者设备驱动程序有错误,虚拟PC机将崩溃。而物理的计算机不会那样,这是关键。 如果 OS崩溃或者应用程序暂停,甚至如果你安装需要重新引导的软件补丁,对硬件不会发生任何影响。一台虚拟机能以完全虚拟的方式或者以更近似于真实的方式,将故障转移到另一台虚拟机。即便某个硬件装置有故障,只要配置好故障转移的目标,能使用第二网卡和到存储设备的替代通道,故障转移就能正确地工作,如同虚拟机就是一台物理PC机那样地工作。 在多数情况下,企业管理系统将对虚拟的故障转移进行监视和做出反应,好像就是真实的东西。诸如 HP OpenView一类的解决方案对虚拟服务器做出的反应和对物理服务器做出的反应是一样的。在虚拟化之后,报告的服务器配置将改变,但是整体上,数据中心日常管理几乎没有什么变化。 此外,多数虚拟化系统与特定的解决方案管理软件是捆绑在一起的,允许管理员坐在控制台,管理整个企业的所有虚拟服务器。在不用碰硬件的情况下,就能置换以太网卡,真让开眼界。 虚拟化解决方案的管理控制台让你一定程度上控制虚拟 PC机,这种控制程度超过了用传统工具能做到的程度。从一个集中点,就能按需要引导和关闭虚拟PC机。也能暂停它们,无害地将它们冻结在当前的状态,或者使它们休眠,通过将它们的状态保存到磁盘上的一个文件中,将它们深度冻结。通过重写该磁盘文件,就能将PC机从备份状态中恢复过来,从最后一次会话开始将使之不工作的改变全部回滚。 在多种操作系统混用的环境下(这是一种常见的情况,会把简单的服务器集中弄得乱七八糟),一种解决办法就是将每个 OS在各自虚拟机上运行。例如,在一台运行VMware虚拟方案的PC服务器上,你能运行Windows 2003 Server、 Windows 2000、 Windows NT 4.0、各种版本的Linux以及FreeBSD的各种组合。甚至能运行同一OS的不同版本。Linux因对特定版本和厂商有依赖性而搞得名声狼藉。虚拟化是惟一的方法,让一台服务器上同时运行为Red Hat 7.2 和Suse 9.0设计的应用程序。 虚拟化是个好东西,但它不能包治百病。你永远不能建立一个虚拟 PC机,其性能超过它所在的物理系统。将应用程序移到虚拟环境,你能从中学到很多应用程序的系统要求。它们可能让你吃惊,不是它们只用了原来服务器非常少的一部分(这是一种很典型的情况),就是它们是多么的贪婪。如果有必要,你就能关闭那些讨厌的程序。 虚拟化最大的好处之一是安全(破坏实际不存在的系统是难以实现的),同时虚拟化的 PC机还能做出妥协。办法是把虚拟PC机的磁盘映像重写到已知是干净的磁盘上,但是管理虚拟服务器仍需要警惕。 归根结底,硬件集中不是选择服务器虚拟化的惟一理由,它还有很广泛的需求。依据每个部门不同的要求, IT 管理人员一定能找到数不清的方法,让虚拟化为企业服务。 | |
| 计算机专业时文选读之五 | |
| Digital Defense(2) The Intelligent Security Systems Research Lab at The University of Memphis has built software prototypes that address that weakness. It's Security Agents for Network Traffic Analysis uses mobile software agents for intrusion detection in a network of computers. Agents monitor at multiple levels——packet, process, system and user——using neural networks to spot anomalous behavior and “fuzzy rules” to decide what action the agents should take in the face of an attack. Stephanie Forrest, a computer science professor at The University of New Mexico, points out that diversity in biological and ecological systems leads to robustness and resilience. She's working on“automated diversity for security,” in which each system is made unique by arbitrary random changes.“That increases the cost of attack, because the attack has to be adapted for each computer,” she says. Diversity can be created in a number of ways, such as by adding nonfunctional code, reordering code or randomizing memory locations, file names or system calls. Other researchers are experimenting with a measure called Kolmogorov Complexity, the minimum number of bits a character string can be compressed into without losing information. Scott Evans, a researcher at GE Global Research, has used it to study attack scenarios. Evans analyzed file transfer protocol logs and found that attacks, such as a stealth port scan, tend to be more or less complex than normal behavior by predictable amounts, allowing a defense tool to identify and block the attacks. The technique is attractive because it is adaptive and requires no attack signature database, Evans says. Real-world application of some of these ideas lies years in the future, but Steven Hofmeyr, a former graduate student under Forrest, has already commercialized some of them. He's developed Primary Response, which monitors and protects applications at the operating system kernel level. It uses agents to build a profile of an application's normal behavior based on the code paths of a running program, then continually monitors those code paths for deviations from the norm.(The End) 参考译文 数字防御 (2) 孟菲斯大学的智能安全系统研究实验室建立了能解决这种弱点的软件原型。它的 “网络流量分析的安全代理”使用了移动的软件代理,检测计算机网络中的入侵。代理在多个级别上——包、过程、系统和用户——进行监视,利用神经网络找出反常行为和用“模糊规则”决定代理在面临攻击时采取哪种行动。 新墨西哥州大学计算机科学教授 Stephanie Forrest指出:生物和生态系统的多样性成就了强健性和恢复性。她在从事“安全的自动多样性”研究,其中每个系统通过任意的随机改动而具有独特性。她认为: “这就增加了攻击的成本,因为攻击必须适应每个系统。” 多样性可有多种方法生成,如加入不起作用的代码、重新排序的代码或者存储位置、文件名或系统调用的随机化等。 其他的研究人员在对一个叫 Kolmogorov复杂度的措施做试验,即在不丢失信息的情况下一个字符串能压缩成的最小位数。通用电气公司全球研究部的Scott Evans就利用它研究攻击情景。 Evans分析文件传递协议纪录,以发现攻击,如秘密的端口扫描,这种扫描比正常的行为多少要复杂些,这就让防御工具能识别和阻断攻击。Evans称,由于它是自适应的,不需要攻击特征数据库,所以该技术很有吸引力。 其中有些设想变成真正的应用还要几年时间,但 Forrest 以前的研究生 Steven Hofmeyr 已将它们中间的一部分实现了商品化。他开发了一个叫 “ 初步响应 ” 的产品,它在操作系统内核级上监视和保护应用程序。它采用代理来建立应用程序正常行为剖析,而该剖析是基于运行中程序的代码路径,然后连续监视代码路径,看看有没有偏离。 | |
| 计算机专业时文选读之六 | |
| Autoimmune Computer Systems For half a century, developers have protected their systems by coding rules that identify and block specific events. Edit rules look for corrupted data, firewalls enforce hard-coded permissions, virus definitions guard against known infections, and intrusion-detection systems look for activities deemed in advance to be suspicious by systems administrators. But that approach will increasingly be supplemented by one in which systems become their own security experts, adapting to threats as they unfold and staying one step ahead of the action. A number of research projects are headed in that direction. At the University of New Mexico, computer science professor Stephanie Forrest is developing intrusion-detection methods that mimic biological immune systems. Our bodies can detect and defend themselves against foreign invaders such as bacteria and parasites, even if the invaders haven't been seen before. Forrest's prototypes do the same thing. Her host-based intrusion-detection system builds a model of what is normal by looking at short sequences of calls by the operating system kernel over time. The system learns to spot deviations from the norm, such as those that might be caused by a Trojan horse program or a buffer-overflow attack. When suspicious behavior is spotted, the system can take evasive action or issue alerts. The central challenge with computer security is determining the difference between normal activity and potentially harmful activity. The common solution is to identify the threat and protect against it, but in many ways, this is the same as constantly fighting the last war, and it can be quite inefficient in environments that are rapidly changing. In another project Forrest and her students are developing intrusion-detection systems even more directly modeled on how the immune system works. The body continuously produces immune cells with random variations. As the cells mature,the ones that match the body's own proteins are eliminated, leaving only those that represent deviations as guides to what the body should protect against. Likewise, Forrest's software randomly generates “detectors”, throws away those that match normal behavior and retains those that represent abnormal behavior. Each machine in the network generates its own detectors based on that machine's unique behavior and experiences, and the detectors work with no central coordination or control. In fact, just how the detectors work isn't precisely known, Forrest says. Indeed, these experimental approaches don't work perfectly, Forrest acknowledges, but she points out that no security measure, including encryption or authentication, works perfectly either. She says the most secure systems will employ multiple layers of protection, just as the human body does. The advantage of this type of system is that it is largely self-maintaining and doesn't require continual updating by experts. 参考译文 自免疫计算机系统 半个世纪以来,开发人员通过编制能识别和中断特别事件的规则来保护其系统。编辑规则寻找已被破坏了的数据,防火墙实施硬编码的许可,病毒定义防止已知的(病毒)感染,入侵检测系统则寻找由系统管理员事先认定好的可疑行为。 但是这种办法将越来越多地得到另一个办法的补充,即系统自己成为安全专家,当它们发现威胁时对威胁自适应,并提前一步采取措施。很多研究项目正在向此方向前进。 在(美国)新墨西哥大学,计算机科学教授 Stephanie Forrest正在开发模仿生物免疫系统的入侵检测系统。我们的身体能探测和自我防御外来入侵者,如细菌和寄生虫,甚至在以前根本没有看到过它们。Forrest的样机做同样的事。 她的这个基于主机的入侵检测系统建立一个模型,即通过操作系统内核察看短序列调用,看看它是否正常。系统学会找出偏离正常的地方,如由特洛伊木马程序或缓存溢出攻击造成的异常。当发现可疑行为时,系统能采取规避行为或发出警报。 对计算机安全的主要挑战是确定正常行为与潜在的可疑行为之间的差异。常见的解决办法是识别威胁和针对它采取保护措施,但是在很多方面,这与上一次与(病毒)打仗常常是一样的,这在快速变化的环境中效率可能很低。 在另一个项目中, Forrest和她的学生正在开发的入侵探检系统更是直接以免疫系统为模型。身体连续不断产生能随机变异的免疫细胞,当细胞成熟时,那些与体内已有蛋白质相匹配的免疫细胞被消灭了,只留下那些有变异的细胞,指导它们去针对那些应防御的(病毒)。同样,Forrest的软件随机地产生“探测元”,摒弃那些与正常行为匹配的探测元,保留那些代表异常行为的探测元。 网络中的每台机器都基于该机器的独特行为和经历产生自己的探测元,这些探测元在没有集中协调或控制的情况下工作。 Forrest称,探测元的工作实际上是没法精确了解的。 事实上, Forrest承认,这些试验性的方法还不太完美,包括加密或认证在内。她说最安全的系统如同人体那样采用多层次的保护。这类系统的优点是,在很大程度上它是自我维护的,不需要专家连续不断地更新。 | |
| 计算机专业时文选读之七 | |
| SOA(1) Definition: An SOA (Service-Oriented Architecture) is a computing structure in which a software application contains only the logic specific to its immediate task and uses a set of services on a network to do more generic tasks. Given the buzz about service-oriented architecture today, let's make a few important points: The SOA concept isn't new, it's not a technology per se, it isn't just the use of XML and Web services, and it's a good deal more than a development methodology. SOA is a pretty simple idea: Standardize those generic functions that are widely used by many applications into reusable components (services) that are accessible over a network, and code more specific logic needs into the application itself. Indeed, every operating system is a prime example of an SOA in action, if not in name. IT organizations were successfully building and deploying SOA applications years before XML and Web services existed. They just talked about the process using terms like modularity, reusable components, object-oriented programming or application programming interfaces. Although none of those concepts is identical to SOA, they all embody aspects of it. SOA is just the latest shorthand for a method of designing, developing, deploying and managing discrete pieces of computer logic (read “services”) within a computing network. It's a way of structuring applications, organizing IT infrastructure and standardizing business functionality. Although SOA is often associated with the use of XML and Web services, these latter two are merely the latest implementation of the SOA principle. SOA requires developers to design applications as collections of services, even if there's no immediately apparent benefit to doing so. SOA requires developers to think beyond their current application, to consider reusing existing services and to examine how other developers might reuse the services they are creating. SOA encourages developers to use alternative technologies and approaches, such as messaging, and to build applications by linking services together rather than by writing new code. This type of application structure allows a company to react quickly to changing market conditions; instead of having to develop new application code, they can simply modify the messaging. By focusing on business processes and using standard interfaces, SOA can help hide the underlying technical complexity of the IT environment. Analyzing the interaction between services in an SOA lets companies understand when and why specific business logic is being executed, which makes it easier to optimize business processes. (To Be Continued) 参考译文 SOA——面向服务架构(1) 定义: SOA(面向服务架构)是一种计算结构,在此结构中,应用软件只包含与其任务直接相关的程序逻辑,并使用网络上的一套服务来完成更一般化的任务。 今天说到面向服务架构的术语时,让我们明确几个重要的概念: SOA不是新东西,就其本身而言它不是一种技术,它不只是使用XML和Web Services,它是一件远远超过开发方法学的好东西。 SOA是非常简单的设想: 将那些被很多应用程序广泛使用的一般性功能,标准化成可从网络上获得的、能重复使用的部件(服务),只对应用本身更特定的逻辑需求进行编码。事实上,如果不从名字看,每一种操作系统就是SOA实际工作的最好例子。 IT机构早在XML和Web Services出现之前就成功地编制和部署了SOA应用程序。不过他们用模块化、可重复用部件、面向对象编程或应用编程接口等术语来谈论这个过程。虽然它们中没有一个是与SOA完全相同的,但它们都包含了SOA的一些方面。 SOA只是设计、开发、部署和管理网络中计算机程序逻辑(读作“服务”)具体模块的方法的最新速记。它是构成应用程序、组织IT基础设施和业务功能标准化的一种方法。虽然SOA常常与XML和Web Services连在一起,但后者只是SOA原则的最新实现。 SOA要求开发人员将应用程序设计成服务的集合,即使这样做在眼下没有明显的好处。SOA需要开发人员超脱目前的应用程序进行思考,考虑重复使用已有的服务,以及调查其他的开发人员将如何使用他们生成的服务。SOA鼓励开发人员使用其他可选择的技术和方法,如消息,以及通过链接服务来编制应用程序,而不是编写新的程序代码。此类应用程序结构允许公司对变化的市场进行快速反应,来替代不得不开发新程序的做法,他们只是简单地修改消息。 SOA 关注业务流程和使用标准接口,有助于掩盖 IT 环境底层的技术复杂性。分析 SOA 中服务之间的相互关系就能让公司了解具体的业务逻辑何时和为何执行,这就使业务过程的优化更容易些。 | |
| 中英文对照计算机专业时文选读之八 | |
| Loose vs. Tight Coupling(2) One key feature of SOA is the use of loosely coupled connections. Traditionally, connections between applications or between applications and services have been tightly coupled, as with CORBA (Common Object Request Broker Architecture). The difference is important. Eric Van der Vlist, author of XML Schema: The W3C's Object-Oriented Descriptions for XML (O'Reilly, 2002), describes the differences between the two types of coupling with this analogy: In a tightly coupled system, you have direct control over the operation. For example, flipping a wall switch to turn on a light is a tightly coupled system. However, making a telephone call to order a book is a loosely coupled system. It could be tightly coupled only if you had access to the button controlling the printer that will print the book you order. Tightly coupled systems are usually fast and safe, and the risk of transmission errors is very low. Loosely coupled systems, on the other hand, are usually more error-prone but also more flexible. The clerk you talk to on the phone may misunderstand the ISBN number of the book you want to order or make an error while entering it. But if you don't remember the ISBN number, you can still tell the clerk that you want the latest book on the World Wide Web Consortium's XML schema by a guy with a Dutch name from a publisher that puts pictures of animals on its book covers—and when you do that, you've got a good chance of being understood. Tight coupling tends to make component maintenance and reuse much more difficult, because a change in one component automatically means changes in others. Similarly, tight coupling makes extra work when an application has to adapt to changing business requirements, because each modification to one application may force developers to make changes in other connected applications. In general terms, a Web service is a type of SOA in which interfaces are based on standardized Internet protocols. In addition, except for binary data attachment, Web service messages must be in XML. Generally speaking, a Web service is little more than an SOA that uses Simple Object Access Protocol and the Web Services Description Language. However, an SOA doesn't require the use of Web services as we understand them, and some types of Web services can be deployed without an SOA. (The End) 参考译文 松散耦合与紧密耦合 (2) SOA的一项关键特性就是使用松散耦合连接。传统上,应用程序与应用程序之间或者应用程序与服务之间的连接是紧耦合的,如用CORBA(公共对象请求代理体系结构)那样。此差异是很重要的。 《 XML Schema: The W3C's Object-oriented Descriptions for XML》一书(O'Reilly公司2002年出版) 的作者 Eric Van der Vlist有下列比喻来描述这两类耦合之间的差异:在紧耦合系统中,你直接控制操作。例如,扳动墙上的开关接通电灯就是紧耦合系统,而利用电话订购书就是松耦合系统。只有当你访问控制打印机(该打印机将打印你订购的书籍)的按钮时,才可能是紧耦合。 紧耦合系统通常比较快、也安全,传输误差的风险非常低。另一方面,松散耦合系统通常比较容易出错,但比较灵活。当你在电话上通话时对方职员可能会听错你要订购书的 ISBN编号、或者在输入时出错。如果你不记得ISBN编号,你还可以告诉对方职员,你要一本由一名有荷兰名字的人写的有关3W联盟的XML范式的新书,该书的出版社通常将动物的图片放在书的封面上,当你这样做时,你就得到了被理解的好机会。 紧耦合往往会使部件的维护和重复使用变得非常困难,因为一个部件中的修改就自动意味着其他部件中的修改。同理,在应用程序不得不适应变化了的业务要求时,紧耦合就要做额外的工作,因为一个应用程序中的一次修改将迫使开发人员对其他相连接的应用程序进行修改。 从一般意义上讲, Web Services 就是一类 SOA ,其接口都是基于标准化了的互联网协议。此外,除二进制数据附件, Web Services 消息必须用 XML 语言。通常讲, Web Service 只是一个用了 SOAP (简单对象访问协议)和 Web Services 描述语言的 SOA 。但是, SOA 不要求使用我们所理解的 Web Services ,有些类型的 Web Services 不用 SOA 也能部署。 | |
| 计算机专业时文选读之九 | |
| EDA (Event-driven Architecture) Just as many IT shops are starting to get their arms around the service-oriented architecture (SOA) approach now that Web services standards are emerging, there's already a “next big thing” on the development horizon, according to Gartner Inc. Four years from now, “mere mortals” will begin to adopt an event-driven architecture (EDA) for the sort of complex event processing that has been attempted only by software gurus building operating systems or systems management tools, and sophisticated developers at financial institutions, predicted Roy Schulte, an analyst at Gartner. Fortunately for IT shops, the EDA approach is complementary to SOA, which forward-thinking IT shops are starting to employ in greater numbers as they forge ahead with Web services. Taking an SOA-based approach, developers build an application by assembling “services,” or software components that define reusable business functions. One of the main advantages of the SOA approach is that by building standards-based interfaces between components, developers can incrementally construct applications and swap out, reuse and modify components without having to concern themselves with their inner workings. Those who build Web services typically describe the interfaces using the Web Services Definition Language and send XML-based messages between components using SOAP over HTTP. But connecting services occurs in a linear, predictable sequence, whereas an event-driven architecture allows for multiple, less predictable, asynchronous events to happen in parallel and trigger a single action. Simple event-driven processing has been in common use for at least 10 years with technology such as IBM's message-oriented middleware and message-driven Enterprise JavaBeans. But Schulte predicted that complex event processing (CEP) will start to become mainstream in 2007, as application developers and systems and business analysts strive to do more business in real time. Paving the way for the trend will be faster networks, the arrival of general-purpose event management software tools and the emergence of standards for event processing beginning in 2005. David Luckham, a professor of electrical engineering at Stanford University and author of a book on CEP, The Power of Events, said the goal of CEP is rather simple: delivering understandable information about what's happening in IT systems. That information, in turn, can be used for a variety of purposes, such as detecting unusual activity, improving security and recognizing advantageous scenarios in CRM and supply-chain systems. “The events in IT systems contain untapped information. CEP lets you extract it and use it in ways you want to,” he said. Luckham predicted that CEP will start creeping into Web services, middleware and application servers in 2005. By 2008, he foresees the emergence of CEP standards, languages and complex event-pattern search engines. Ubiquity of CEP will come in 2012, he forecasted. To prepare for EDA, Schulte advised companies to look at their application requirements to see if there are places where they could do simple event processing instead of SOA to design part of an application. Leading-edge companies should also look to implement complex event processing for applications that bring a competitive advantage. 参考译文 EDA(事件驱动架构) 据 Gartner公司的分析,随着Web Services标准的出现而更多的公司开始拥抱面向服务架构(SOA),在开发的地平线上已经出现了“下一个大家伙”。 Garnter公司的分析师Roy Schulte预测,今后四年中,“小小的死东西”也将采纳EDA用于那些今天只有开发操作系统或系统管理工具的软件巨头们和金融机构中的资深开发者才敢尝试的复杂事件处理。 对于 IT部门来说幸运的是,EDA方法与SOA是互补的,随着具有前瞻思想的IT部门伴随Web Services向前进时,他们开始更多地采用此方法。采用基于SOA的方法,开发者通过将那些定义可重复用业务功能的“服务”或软件部件组装起来,就能构建应用程序。 SOA方法的主要优点之一,通过构建部件之间基于标准的接口,开发者就能不断编制应用程序,在无需关心部件内部工作的情况下交换、重复使用和修改部件。那些构建Web Services的开发者通常用Web Services定义语言描述接口,以及在部件之间利用在HTTP上的SOAP(简单对象接入协议)发送基于XML的消息。 但是连接服务是以线性的可预测顺序发生的,而事件驱动架构允许多个不大可预测的异步事件并行地发生和触发单一动作。 利用诸如 IBM面向消息中间件和消息驱动Enterprise JavaBeans等技术,简单的事件驱动处理已经广泛使用至少有10年。 但是 Schulte预测,随着应用开发者和系统与业务分析师努力争取实时地做更多业务,复杂事件处理(CEP)到2007年将开始成为主流。更快的网络、通用事件管理软件工具的到来、以及2005年开始出现事件处理标准,为此趋势铺平了道路。 斯丹福大学电气工程教授和有关 CEP的《The Power of Events》一书的作者David Luchham称,CEP的目标是相当简单的:递交有关IT系统中正在发生着什么的信息。该信息反过来又能用于各种不同的目的,如检测不寻常的活动、改进安全、以及重组CRM(客户关系管理)和供应链系统中优势的情景。 他说: “IT系统中包含了未触动的信息。CEP让你将它们提取出来,依你想要用的方式使用它们。” Luchham预测,CEP将在2005年进入Web Services、中间件和应用服务器。到2008年,他预言将出现CEP的标准、语言和复杂事件模式搜索引擎。他预计,到2012年CEP将普及。 为了迎接 EDA,Schulte建议各公司检查一下他们的应用要求,看看是否能用简单的事件处理代替SOA,以设计应用程序的一部分。领先的公司也应该看看为能带来竞争优势的应用程序实现复杂的事件处理。 | |
| 计算机专业时文选读之十 | |
| Extensible Stylesheet Language (XSL)(2) Components of XSL XSL is actually a family of three tools produced by the W3C's XSL Working Group: XPath, XSLT and XSF-FO. * XPath, or XML Path Language, is used to specify the parts of an XML document that will be transformed by XSL Transformations (XSLT). XPath interprets an XML document as a hierarchical tree of nodes, which can include elements, attributes or text. The hierarchical tree is called the source-node tree. * XSLT describes how to filter or convert (transform) XML documents into other types of XML documents, including XSL Formatting Object (XSL-FO) files. An XSLT stylesheet contains a set of template rules for transforming a source tree by matching a pattern against elements in the source tree. When a match is found, the rules are used to create a new node in the result tree. The result tree's structure can be completely different from that of the source tree because elements can be filtered and reordered and arbitrary structure added. An XSLT stylesheet is like a sophisticated search-and-replace routine. * XSL-FOs are instructions that define exactly how a document will be formatted for a specific medium or device. For a document to be printed, formatting objects can include characters, blocks of text, images, tables, borders, master pages and the like. XSL-FO specifies various layout rules (e.g., where page breaks can occur) and requirements (e.g., placement of footnotes), but the XSL-FO file itself doesn't determine exactly where each element is positioned. That' s done by a separate formatting engine that interprets the file. XSL-FO isn't restricted to printed pages and on-screen appearance; it can also specify audio reproduction, for example. Confusingly, XSL-FO is sometimes referred to as XSL. Why XSL? XSL is designed for repetitive situations where documents are dynamically generated and formatted on demand, not for documents that require a creative professional to modify the layout, content and typography to get an acceptable (albeit static) result. XSL is thus an ideal fit for documents that have to be output in a variety of formats and on many different types of devices, ranging from printers and computer screens to handhelds and phones. (The End) 时文选读 可扩展版式语言( XSL)(2) XSL的组成 实际上, XSL家族有三个工具,分别是由W3C的XSL工作组编制的XPath,、XSLT和XSF-FO。 * XPath,即XML通道语言,用来指定将由XSL转换工具(XSLT)转换的XML文档的部分。XPath用节点的层次树解释XML文档,它可以包括元素、属性或文本。层次树也叫做源节点树。 * XSLT描述如何对XML文档进行过滤或转换成其他类型的XML文档,包括XSL格式化对象(XSL-FO)文件。XSLT版式包含一组转换源树用的模板规则,它是通过将模式与源树中的元素进行匹配来完成转换的。如果匹配,规则就用于生成结果树中的新节点。结果树的结构可以与源树完全不同,因为元素可以被过滤和重新排序,还能加入任意的结构。XSLT版式类似于复杂的搜索和替代子程序。 * XSL-FO是确切定义文档如何为指定的介质或设备而格式化的指令。对于要打印的文档,格式化对象可以包括字符、文本、图像、表格、边框、主页等等。 XSL-FO规定各种不同的排版规则(如何处分页)和要求(如放置脚注),但XSL-FO文件本身不确切决定每个元素的位置。那是由解释该文件的的格式化引擎完成。 XSL-FO并不仅仅局限于打印页面和屏幕显示,它还能重现声音。令人混淆的是,XSL-FO有时也指XSL。 为什么用 XSL? XSL 设计用于重复性的场合,其中文档是动态生成,格式按需产生, XSL 不适合于需要由创作人员修改版式、内容和印刷式样等以保证结果能被接受(虽然是静态的)的文档。因此, XSL 非常适合必须以各种不同的格式和在多种不同设备(从打印机、计算机屏幕到手持设备和电话)上输出的文档。 | |
| 计算机专业时文选读之十一 | |
| RPR ups efficiency of metro Ethernet(!) Companies traditionally have gained basic resiliency for their metropolitan Ethernet networks through a Layer 2 mechanism such as Spanning Tree or Layer 3 routing protocols. But these mechanisms, with their few-second network restoration times, are inadequate for delay- and jitter-sensitive data applications that are proliferating rapidly on enterprise networks. To gain greater resiliency, corporations have had to install fixed-bandwidth point-to-point circuits, or fiber pairs, between campus nodes along with back-up paths for protection - a costly endeavor. What companies need is a metropolitan Ethernet architecture with the resiliency of SONET but with significant network efficiencies for packet-based services. Resilient Packet Ring (RPR) is an emerging Layer 2 media access control (MAC) technology that meets those needs. The IEEE created a draft specification for RPR and is expected to ratify the standard this year. RPR uses Ethernet switching and a dual counter-rotating ring topology to provide SONET-like network resiliency and optimized bandwidth usage, while delivering multipoint Ethernet/IP services. RPR maintains its own protection scheme and uses physical-layer alarm information and Layer 2 protocol communications to detect node and/or link failures. When a failure is detected, the RPR switching mechanism restores networks in less than 50 millisec. Because RPR is a Layer 2 MAC-based technology, it can operate over multiple physical layers, including SONET. Therefore, corporations can reap the benefits of RPR by having it ride over the SONET network to deliver the resilient, efficient, multipoint functionality and scalability of data applications such as VoIP, packet video, business continuance and distance learning. Or they can install multiservice provisioning platforms, which are optimized for TDM services but also can support advanced data applications via RPR over SONET. The advantage is that existing TDM services are maintained, while a smooth migration to packet-based services is enabled. (To Be Contiued) 时文选读 弹性分组环( RPR)技术提升城域以太网的效率(1) 传统上,各个公司是通过第二层机制(如生成树)或第三层路由协议,获得城域以太网的基本弹性。但这些机制具有几秒钟的网络复原时间,对延迟和抖动敏感的数据应用是不适合的,而这样的应用却在企业网上迅速增多。为了获得更大的弹性,各公司不得不在有保护用备份通道的园区节点之间安装固定带宽的点对点电路,即光纤对,而这是很费钱的事。 公司所需要的是城域以太网的架构加上 SONET的弹性,但要具有适合基于分组服务的网络高效率。RPR是新兴的第二层媒体访问控制(MAC)技术,能满足这些要求。IEEE为RPR制定了一个规范草案,可望今年内获得批准成为标准。 RPR利用以太网的交换和双逆向旋转环的拓扑结构,提供像SONET那样的网络弹性和优化的带宽应用,同时提供多点的以太网/IP服务。RPR保留了它自己的保护方案,并使用物理层的报警信息和第二层协议通信来检测节点和(或)链路的故障。当检测到故障时,RPR交换的机制能在不足50毫秒的时间内恢复网络。 由于 RPR是第二层基于MAC的技术,所以它能在多个物理层上工作,包括SONET。因此,企业能通过运行在SONET网上提供弹性、高效、多点的功能性和数据应用(如VoIP、分组视频、业务连续和远程学习等)的可扩性,从而获得RPR的好处。 或者他们可以安装多服务提供平台,这些平台为提供时分复用( TDM )服务进行了优化,同时也能通过 SONET 上的 RPR 支持高级的数据应用。其优点是在实现向基于分组服务平稳过渡的同时保留了已有的 TDM 服务。 | |
| 计算机专业时文选读之十二 | |
| RPR ups efficiency of metro Ethernet(2) Another major advantage of RPR's dual-rotating ring design is that Ethernet traffic is sent in both directions on the ring to achieve the maximum bandwidth utilization. Unlike older ring-based data networks such as token ring or FDDI, RPR uses a spatial reuse mechanism. Rather than requiring traffic to traverse the entire ring even though a destination node is only a hop away, RPR sends it there directly, keeping the rest of the ring bandwidth available for use by other stations on the network. To further enhance the network efficiency and support multimedia applications, the IEEE has included a classification scheme and a fairness algorithm in the RPR specification. This guarantees that jitter- and delay-sensitive traffic is always given higher-priority access to the network. Meanwhile, best effort (Internet type) data traffic is ensured equal access and a “fair” share of the remaining ring bandwidth. RPR also uses statistical multiplexing so that bandwidth can be oversubscribed, while establishing committed information rate (CIR) and peak-rate thresholds on a per-application basis. This guarantees each enterprise application a CIR and the ability to burst up to the peak rates when bandwidth is available. With such a mechanism, each department is charged only for using extra bandwidth rather than being billed for a larger, nailed-up circuit, regardless of use. Widespread corporate adoption of RPR will help usher in the cost-effective transport of popular Ethernet and IP communications services. RPR transport will provide efficient bandwidth protection, accommodate bursty data traffic and provide the quality of service needed for these advanced packet applications. (End) 时文选读 弹性分组环( RPR)技术提升城域以太网的效率(2) RPR双旋转环设计的另一个优点是,以太网的数据流在环上是双向传送的,以获得最大的带宽利用率。它与较老的基于环的数据网(如令牌环或FDDI)不一样,RPR使用了空间复用机制。它不要求流量跨越整个环(即使离目的地节点只有一跳之遥),而是直接发送流量,将环其余部分的带宽留给网上其他站使用。 为了进一步提高网络效率和支持多媒体应用, IEEE已经将分级方案和公平算法包含在RPR规范中。这就保证了对抖动和延迟敏感的流量始终给予较高的访问网络的优先权。同时,最大努力(因特网类型)的数据传输也保证有平等的访问和“公平”分享剩余环的带宽。 RPR也采用统计复用,因而带宽能被超额定购,同时建立了在每个应用程序基础上的约定信息速率(CIR)和峰值速率门限。这就保证了每个企业应用程序有一CIR以及在有带宽可用时提升峰值速率。有了这样的一个机制,每个部门只按使用超额的带宽计费,而不是不管用不用都按更大的、定死的电路计费。 公司广泛采用 RPR 将有助于引入成本有效的传输流行的以太网和 IP 通信服务。 RPR 传输将提供高效的带宽保护,适应脉冲式的数据流量,以及提供那些高级分组应用程序所需的服务质量。 | |
| 计算机专业时文选读之十三 | |
| RPR ups efficiency of metro Ethernet(2) Another major advantage of RPR's dual-rotating ring design is that Ethernet traffic is sent in both directions on the ring to achieve the maximum bandwidth utilization. Unlike older ring-based data networks such as token ring or FDDI, RPR uses a spatial reuse mechanism. Rather than requiring traffic to traverse the entire ring even though a destination node is only a hop away, RPR sends it there directly, keeping the rest of the ring bandwidth available for use by other stations on the network. To further enhance the network efficiency and support multimedia applications, the IEEE has included a classification scheme and a fairness algorithm in the RPR specification. This guarantees that jitter- and delay-sensitive traffic is always given higher-priority access to the network. Meanwhile, best effort (Internet type) data traffic is ensured equal access and a “fair” share of the remaining ring bandwidth. RPR also uses statistical multiplexing so that bandwidth can be oversubscribed, while establishing committed information rate (CIR) and peak-rate thresholds on a per-application basis. This guarantees each enterprise application a CIR and the ability to burst up to the peak rates when bandwidth is available. With such a mechanism, each department is charged only for using extra bandwidth rather than being billed for a larger, nailed-up circuit, regardless of use. Widespread corporate adoption of RPR will help usher in the cost-effective transport of popular Ethernet and IP communications services. RPR transport will provide efficient bandwidth protection, accommodate bursty data traffic and provide the quality of service needed for these advanced packet applications. (End) 时文选读 弹性分组环( RPR)技术提升城域以太网的效率(2) RPR双旋转环设计的另一个优点是,以太网的数据流在环上是双向传送的,以获得最大的带宽利用率。它与较老的基于环的数据网(如令牌环或FDDI)不一样,RPR使用了空间复用机制。它不要求流量跨越整个环(即使离目的地节点只有一跳之遥),而是直接发送流量,将环其余部分的带宽留给网上其他站使用。 为了进一步提高网络效率和支持多媒体应用, IEEE已经将分级方案和公平算法包含在RPR规范中。这就保证了对抖动和延迟敏感的流量始终给予较高的访问网络的优先权。同时,最大努力(因特网类型)的数据传输也保证有平等的访问和“公平”分享剩余环的带宽。 RPR也采用统计复用,因而带宽能被超额定购,同时建立了在每个应用程序基础上的约定信息速率(CIR)和峰值速率门限。这就保证了每个企业应用程序有一CIR以及在有带宽可用时提升峰值速率。有了这样的一个机制,每个部门只按使用超额的带宽计费,而不是不管用不用都按更大的、定死的电路计费。 公司广泛采用 RPR 将有助于引入成本有效的传输流行的以太网和 IP 通信服务。 RPR 传输将提供高效的带宽保护,适应脉冲式的数据流量,以及提供那些高级分组应用程序所需的服务质量。 | |
| 计算机专业时文选读之十四 | |
| MDA: Model Driven Architecture(2) * Productivity, by allowing developers, designers and system administrators to use languages and concepts they are comfortable with, while allowing seamless communication and integration across the teams. The benefits of MDA are significant to business leaders and developers alike: * Reduced cost throughout the application life-cycle * Reduced development time for new applications * Improved application quality * Increased return on technology investments * Rapid inclusion of emerging technology benefits into their existing systems MDA provides a solid framework that frees system infrastructures to evolve in response to a never-ending parade of platforms, while preserving and leveraging existing technology investments. It enables system integration strategies that are better, faster and cheaper. MDA provides an open, vendor-neutral approach to the challenge of interoperability, building upon and leveraging the value of OMG's established modeling standards: Unified Modeling Language (UML); Meta-Object Facility (MOF); and Common Warehouse Meta-model (CWM). Platform-independent Application descriptions built using these modeling standards can be realized using any major open or proprietary platform, including CORBA, Java, .NET, XMI/XML, and Web-based platforms.? As new platforms and technologies emerge, MDA enables rapid development of new specifications that use them, streamlining the process of integration. In this way, MDA goes beyond middleware to provide a comprehensive, structured solution for application interoperability and portability into the future. Creating Application and Platform Descriptions in UML provides the added advantage of improving application quality and portability, while significantly reducing costs and time-to-market. Most importantly, MDA enables the creation of standardized Domain Models for specific vertical industries. These standardized models can be realized for multiple platforms now and in the future, easing multiple platform integration issues and protecting IT investments against the uncertainty of changing fashions in platform technology.(The End) 时文选读 MAD:模型驱动架构 (2) ● 生产率——通过让开发人员、设计人员和系统管理人员使用他们感到舒服的语言和概念,以及在这些人群之间实现无缝的通信和集成,提高生产率。 MDA的好处是明显的,对业务领导人和开发人员都是如此: ● 降低整个应用生命周期的成本; ● 缩短新应用程序的开发时间; ● 提高应用程序的质量; ● 增加技术投资的回报; ● 将新技术的优点快速带入已有的系统中。 MDA提供了一个坚实的框架,使系统基础设施可以保持不变,不必随永不停止前进的平台而变化,同时保留和利用已有的技术投资。它能实现更好、更快和更便宜的系统集成策略。 MDA提供了一个开发的、于供应商的方法来响应互用性挑战,它是建立在并利用OMG已确立的模型标准的价值之上,这些标准有:统一建模语言(UML)、元对象功能(MOF)、公共仓库元模型(CWM)。利用这些建模标准编制的于平台应用程序描述,可用任何一种主要的或专有开发的平台(包括CORBA、Java、.NET、XMI/XML和基于Web的平台)实现。 随着新平台和技术的出现, MDA能实现快速开发利用它们的新规范,使集成过程更顺利。这样,MDA超过了中间件,为应用程序互用性和移植性提供未来也适用的综合性结构化方案。用UML生成应用程序和平台描述,提供了附加的优点,提高了应用程序的质量和移植性,同时显著降低了成本和缩短上市时间。 最为重要的, MDA 能生成某个特定行业的标准化域模型。这些标准化的模型能在今天和将来的多个平台上实现,使多平台集成问题变得容易和保护 IT 投资,免受平台技术时尚变化带来的不确定性的影响。 | |
| 计算机专业时文选读之十五 | |
| What's .NET? .NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services. Microsoft's goal is to provide individual and business users with a seamlessly interoperable and Web-enabled interface for applications and computing devices and to make computing activities increasingly Web browser-oriented. The .NET platform includes servers; building-block services, such as Web-based data storage; and device software. It also includes Passport, Microsoft's fill-in-the-form-only-once identity verification service. The .NET platform is expected to provide: * The ability to make the entire range of computing devices work together and to have user information automatically updated and synchronized on all of them * Increased interactive capability for Web sites, enabled by greater use of XML (Extensible Markup Language) rather than HTML * A premium online subscription service, that will feature customized access and delivery of products and services to the user from a central starting point for the management of various applications, such as e-mail, for example, or software, such as Office .NET * Centralized data storage, which will increase efficiency and ease of access to information, as well as synchronization of information among users and devices * The ability to integrate various communications media, such as e-mail, faxes, and telephones * For developers, the ability to create reusable modules, which should increase productivity and reduce the number of programming errors According to Bill Gates, Microsoft expects that .NET will have as significant an effect on the computing world as the introduction of Windows. One concern being voiced is that although .NET's services will be accessible through any browser, they are likely to function more fully on products designed to work with.NET code. The full release of .NET is expected to take several years to complete, with intermittent releases of products such as a personal security service and new versions of Windows and Office that implement the .NET strategy coming on the market separately. Visual Studio .NET is a development environment that is now available. Windows XP supports certain .NET capabilities. 时文选读 何谓 .NET? .NET既是微软公司的商业策略,也是对称作为Web Services的编程支持的集合,所谓Web Services是利用Web而不是你自己的计算机进行各种服务的能力。微软的目标是向个人和商业用户提供用于应用程序和计算设备的无缝互用和Web实现的界面,以及使计算活动更多地面向Web浏览器。.NET平台包括服务器和基本构件服务(如基于Web的数据存储和设备软件)。它也包括了微软的Passport一次性填表身份验证服务。 .NET平台可望提供: ● 一种能力,使得所有的计算设备能在一起工作,并使用户的信息自动更新和在所有设备上实现同步。 ● 增加网站的交互能力,这是通过更广地使用XML(扩展标记语言)而不是HTML实现的。 ● 额外的在线订阅服务,其特点是通过管理各种应用程序(如电子邮件或Office.NET软件)的起始点给用户定制访问和产品与服务的定制交付。 ● 集中的数据存储,这将增加效率和方便信息的存取,以及信息在用户和设备上的同步。 ● 整合各种通信媒体(如电子邮件、传真和电话)的能力。 ● 对于开发者而言,生成可重复用模块的能力,此能力将能提高生产率和减少编程错误。 Bill Gates表示,微软希望.NET的推出会像Windows那样对计算世界产生重大的影响。但有一项关注已被提出,虽然通过任何浏览器可获得.NET服务,但在那些设计与.NET程序一起工作的产品上,这些服务更可能得到充分的发挥。 .NET的全部推出可能要花几年的时间,其间断断续续会有产品推出,如实施.NET策略的个人安全服务、Windows新版本,以及Office会陆续上市。提供开发环境的Visual Studio.NET现在已能买到,Windows XP也支持某些.NET的功能。 | |
| 计算机专业时文选读之十六 | |
| RSS For several years, my morning information drill has gone something like this: turn on the monitor, then quickly check my e-mail to see if there's anything that needs immediate attention. It's time to fire up the Web browser and check those URLs that I go to every day. Some are news sites, some are technical, others are discussion forums related to current projects, and some reflect my interests. If I'm busy and don't get to visit every site—or perhaps none at all for several days—then I'm likely to get so far behind that I can't usefully catch up and have to reconcile myself to perhaps having missed something important. This is a routine familiar to many knowledge workers. If you're lucky, you may have only a half-dozen such sites to check each morning. Or you might have to look at 40 or 50, depending on the work you're doing. It's a time-consuming, if important, even bookmarks, favorites or tabbed browsers don't speed up the process much. You still have to go to each page, load it, remember how it's formatted and find where you were the last time. There has to be a better way. The solution is an interesting notion called RSS. RSS is an XML-based format originally designed for sharing headlines and other Web content. It allows computers to automatically fetch and understand the information users want, to track and personalize lists they're interested in. While HTML is designed to present information directly to users, RSS is an automation mechanism for computers to communicate with one another. RSS feeds can let you know if a site has been updated recently. RSS forms an important underlying technology for many weblogs and portals such as My Yahoo. Commercial sites noticed how RSS turbocharged the distribution of content, and many news sites, including those of The New York Times, the BBC, CNN and Computerworld, have created RSS feeds to increase the visibility of their content. RSS solves many of the problems webmasters face, such as increasing site traffic and the difficulty of gathering and distributing news. RSS can also serve as the basis for distributing other types of content. How RSS Works RSS starts with an original Web site that has content available. The Web site creates an RSS feed, sometimes called a channel, that's available just like any other resource or file on the Web server. The site registers this feed in the form of an RSS document, with a directory of RSS publishers. Once an RSS feed is available on the Web, any computer can regularly fetch it. The most common type of program to do this is called an aggregator, or news reader. Such programs enable users to collect information from many different sources of their own selection with a single, automated application that checks RSS feeds regularly and highlights new material. 时文选读 RDF格式网站摘要(RSS) 几年来,我的信息 “早操”是这样的:开启监视器,然后快速检查邮件,看看有没有需要立即关注的邮件。随即打开浏览器,检查我每天都要访问的网址。其中有的是新闻网站、有的是技术网站,其他的是与目前从事的项目有关的或者我感兴趣的论坛。 如果我很忙,不能访问每个网站,甚至也许一连几天一个网站都不能访问,那么我可能掉队太远,赶都赶不上来了,不得不让自己相信也许丢失了一些重要的东西。 这是很多知识工作者熟悉的每天例行的事情。如果你走运,你可能只有几个这样的网站每天早上要检查,或者依据你在做的工作必须要看四、五十个网站。如果它们很重要,这是很费时间的事,书签、收藏页或 Tab键浏览器都不能加快这个过程。你还是必须一页一页地访问、装载,并记住它是如何格式化以及上一次你到了哪里。所以必须要有更好的办法。 这个解决办法就是令人感兴趣的 RSS概念。RSS是一种基于XML的格式,最初是为共享标题和其他Web内容而设计的。它让计算机自动读取和理解用户需要的信息,跟踪他们感兴趣的列表并加以个性化。 HTML是为了直接给用户展现信息而设计的,但RSS是一种自动机制,让计算机相互间通信。RSS馈送让你知道网站是否最近更新过。 RSS构成了很多博客网站和门户网站(如My Yahoo)的一项重要的基础技术。商业网站已注意到RSS对内容发布的冲击是何等大,很多新闻网站,如纽约时报、BBC、CNN和计算机世界,都已生成RSS馈送,以增加其内容的可见性。RSS还解决了Web管理员面临的很多问题,如不断增加的网站流量以及收集和分发新闻的难度。RSS也能起到分发其他类型内容的作用。 RSS是如何工作的? RSS从有内容的初始网站开始。该网站生成RSS馈送(有时也叫做频道),它可以像Web服务器上的其他资源或文件那样被利用。网站在RSS出版者的目录中以RSS文档的形式注册该馈送。 一旦 RSS馈送在Web上可以利用时,任何计算机就能定期读取它。做这件事最常见的程序叫聚合器或者新闻阅读器。这样的程序能够使用户以单一的自动应用程序从他们选择的多个不同来源收集信息,而该程序定期检查RSS馈送和加亮显示新的材料。 | |
| 计算机专业时文选读之十七 | |
| Web Harvesting As the amount of information on the Web grows, that information becomes ever harder to keep track of and use. Search engines are a big help, but they can do only part of the work, and they are hard-pressed to keep up with daily changes. Consider that even when you use a search engine to locate data, you still have to do the following tasks to capture the information you need: scan the content until you find the information,mark the information (usually by highlighting with a mouse),switch to another application (such as a spreadsheet, database or word processor),paste the information into that application. A better solution, especially for companies that are aiming to exploit a broad swath of data about markets or competitors, lies with Web harvesting tools. Web harvesting software automatically extracts information from the Web and picks up where search engines leave off, doing the work the search engine can't. Extraction tools automate the reading, copying and pasting necessary to collect information for analysis, and they have proved useful for pulling together information on competitors, prices and financial data of all types. There are three ways we can extract more useful information from the Web. The first technique, Web content harvesting, is concerned directly with the specific content of documents or their descriptions, such as HTML files, images or e-mail messages. Since most text documents are relatively unstructured (at least as far as machine interpretation is concerned), one common approach is to exploit what's already known about the general structure of documents and map this to some data model. Another approach to Web content harvesting involves trying to improve on the content searches that tools like search engines perform. This type of content harvesting goes beyond keyword extraction and the production of simple statistics relating to words and phrases in documents. Another technique, Web structure harvesting, takes advantage of the fact that Web pages can reveal more information than just their obvious content. Links from other sources that point to a particular Web page indicate the popularity of that page, while links within a Web page that point to other resources may indicate the richness or variety of topics covered in that page. This is like analyzing bibliographical citations—a paper that's often cited in bibliographies and other papers is usually considered to be important. The third technique, Web usage harvesting, uses data recorded by Web servers about user interactions to help understand user behavior and evaluate the effectiveness of the Web structure. General access-pattern tracking analyzes Web logs to understand access patterns and trends in order to identify structural issues and resource groupings. Customized usage tracking analyzes individual trends so that Web sites can be personalized to specific users. Over time, based on access patterns, a site can be dynamically customized for a user in terms of the information displayed, the depth of the site structure and the format of the resources presented. 时文选读 Web收割 随着网上信息量的增加,信息变得越来越难以跟踪和使用。虽然搜索引擎给予了很大的帮助,但它们只能做一小部分工作,也很难迫使它们跟上每天的变化。 考虑到即使你在用搜索引擎确定数据位置,你还是不得不完成下列任务,以捕捉到所需的信息 : 扫描内容,直到找到信息为止; 给信息置上标记(通常用鼠标使它更亮些); 转到其他应用(如电子数据表、数据库或字处理程序); 把信息粘贴到那个应用程序。 Web收割工具是一个更好的解决方案,尤其是对那些要大量利用市场或竞争对手的数据的公司而言。 Web收割软件自动从网上提取信息,在搜索引擎脱身的地方精选信息,完成搜索引擎不能做的工作。提取工具自动完成收集供分析用信息所需的读出、复制和粘贴,这些工具对于汇总有关竞争对手的信息、各种各样的价格和财务数据而言,已被证明是有用的。 从网上提取更有用信息的方法有三种: 第一种技术叫 Web内容收割,与具体的文档内容或它们的描述,如HTML文件、图像或电子邮件信息直接有关。由于大多数文本文档相对而言是非结构化的(至少就机器解释而言),一个常用的方法就是利用对文档一般结构已知的信息,将它映射到某个数据模型。 Web内容收割的另一种方法涉及到试着改进内容搜索,像搜索引擎一类工具所做的那样。此类内容收割超过关键词提取,和产生与文档中的词和短语有关的简单统计。 第二种技术叫 Web结构收割,它利用了网页能比显而易见(如纸面上的)的内容揭示更多的信息。指向特定网页的其他来源的链接,表明了该页的流行性,而同一页内指向其他资源的链接,表明了该页所覆盖的题目的丰富性和多样性。这类似于书目引用的分析——常常被引用的论文通常就被认为比较重要。 第三种方法叫 Web使用收割,它使用Web服务器记录下的有关用户交互行为的数据,来帮助理解用户的行为和评价Web结构的有效性。 通用的访问模式跟踪分析 Web日志,来理解访问模式和倾向以便鉴别结构问题和资源分组。 定制的用途跟踪分析了个别倾向,从而能针对特定用户使网站实现个性化。随着时间的推移,基于访问模式,网站就能按显示的信息、网站结构的深度和展示资源的格式,为用户进行动态定制。 | |
| 计算机中英文对照专业时文选读之十八 | |
| Wireless PANs(2) The 802.15 working group is defining different versions for devices that have different requirements. 802.15.3 focuses on high-bandwidth (about 55M bit/sec), low-power MAC and physical layers, while 802.15.4 deals with low-bandwidth (about 250K bit/sec), extra-low power MAC and physical layers. The emphasis on minimizing cost, complexity and chip size is permeating all aspects of the standardization process. The selection criteria for power management, security algorithms and QoS all include consideration of these features. The short-range nature of communication in a wireless PAN also means reduced transmission power and cost. The security requirements for 802.15 networks are different from more static networks because of the dynamic nature of wireless PANs. As a result, the working group is looking into specifying public-key solutions for authentication and key exchange, letting devices that have not been in contact previously establish secure communications without revealing any secret keying material. Once the devices have been authenticated, each device in the wireless PAN shares common group (symmetric) payload protection keys for encryption and data integrity. Devices also may use the authentication mechanism to establish two-party secure subnetworks. Another issue still facing the working group before completion of the standards is coexistence with other types of wireless devices and among the different types of 802.15 devices. There are several wireless standards that specify transmission in the 2.4-GHz range, and in some cases they interfere with each other. Despite the remaining challenges, the working group expects to resolve the outstanding issues and provide complete, cost-effective, low-power solutions in the wireless device market. The standards are scheduled to be completed in the third quarter of this year. [参考译文] 无线个人局域网 (2) 802.15工作组正在为有不同要求的设备定义不同的版本。802.15.3针对大带宽(约55M位/秒)、低功率MAC和物理层,而802.15.4针对小带宽(约250K位/秒)和极低功率的MAC和物理层。 在此标准化过程的方方面面都贯穿着对降低成本、复杂度和芯片尺寸的强调。用电管理、安全算法和 QoS的选择标准全都考虑到这些特点。无线PAN的短距离通信的本质也意味着降低了发射功率和成本。 由于无线 PAN具有动态的本质,802.15网络的安全要求不同于更多的静态网络。因此,该工作组正在为认证和密钥交换的公开密钥方案做深入的研究,以便让以前没有接触过的设备在不暴露任何密钥材料的情况下建立安全的通信。 一旦设备得到认证,无线 PAN中的每台设备就共享用于加密和数据完整性的公共组(对称)有效负荷保护密钥。设备也能使用认证机制,建立两方的安全子网。 工作组在完成此标准之前还面临着另一个问题,即与其他类型的无线设备和在不同类型的 802.15设备之间的共处问题。在2.4GHz波段已有几个阐明发射的无线标准,在某些情况下,这些标准互相有干扰。 尽管还存在着挑战,但工作组期待着解决这些突出的问题,为无线设备市场提供完整的、有效的、低功率的解决方案。 此标准预定在今年第三季度完成。 | |
| 计算机中英文对照专业时文选读之十九 | |
| Extensible Stylesheet Language (XSL)(1) Markup languages have been around since 1969. That was the grandfather of Hypertext Markup Language (HTML), which makes the Web work, and of Extensible Markup Language (XML), which has become the primary means of defining, storing and formatting data in a multitude of areas, including documents, forms and databases. At the heart of these languages is a system called tagging, where text or data is marked by indicators enclosed in angled brackets, always at the beginning (tag) and often at the end (/tag). HTML pages use standardized, predefined tags. For example, (p) means a paragraph, (h1) means a header and (b) followed by (/b) means the enclosed text is to be bold. Web browsers interpret these tags and format the text accordingly when they display the pages on-screen. With XML, however, programmers can make up tags, and browsers have no built-in way of knowing what the tags mean or what to do about them. Further complicating matters, we can use tags to describe data itself (content) or to give formatting instructions (how to display or arrange an element). For instance, (table) could refer to a matrixlike arrangement of items on an HTML page, or it could signify a piece of furniture. This flexibility makes XML powerful, but it confuses the distinction between content and format. In order to display XML documents usefully, we need a mechanism that identifies and describes the meaning of formatting tags and shows how they affect other parts of the document. Past mechanisms have included the Document Style Semantics and Specification Language, and Cascading Style Sheets. Both have now been extended and superseded by Extensible Stylesheet Language, a standard recommended by the World Wide Web Consortium (W3C) in 2001. Extensible Stylesheet Language (XSL) is a family of languages and specifications designed for laying out and presenting XML documents and data in specified formats appropriate for the final output medium or device. XSL provides a comprehensive model and vocabulary for writing stylesheets using XML syntax. It is used to define how to transform an XML file into a format (such as HTML) that a browser can recognize and understand. XSL can add elements to the output file or remove or ignore existing elements. It can rearrange and sort the elements, test and make decisions about which elements to display, and a lot more.(To Be Continued) 时文选读:可扩展版式语言( XSL)(1) 自 1969年就有了标记语言。它是超文本标记语言(HTML)和扩展标记语言(XML)的始祖,HTML成就了互联网,而XML是在文档、格式和数据库等多方面定义、储存和格式化数据的基本手段。 这些语言的核心是一个叫 “标记”的系统,其中文本或数据被用尖括号括起来的指示符做标记。总是以“(标记)”开始,常常以“”结束。 HTML页面使用标准化的、预定义的标记。例如,“(p)”表示段落,“(h1)”表示标题,而“(b)”后跟“(/b)”表示括起来的文本要大写。Web浏览器解释这些标记,在屏幕上显示文本时根据标记对文本格式化。 然而在使用 XML时,程序员可以创造标记,而浏览器没有内在预定好的方法,知道这些标记是什么意思或者对它们做些什么。更为复杂的是,我们能用标记来表述数据本身(内容)或者给出格式化的指令(如何显示或安排内容)。 例如, “(table)”可以指在HTML页面上像矩阵那样安排内容,或者强调它只是一片空白。这种灵活性使XML功能强大,但也混淆了内容与格式之间的界限。 为了有效地显示 XML文档,我们需要一种机制,它能识别和描述格式标记的意义,以及说明这些标记如何影响文档的其他部分。过去的机制包括文档风格语义和规范语言以及级联版式。现在,万维网联盟(W3C)在2001年推荐的标准——可扩展版式语言将这些机制扩展进来或替代了。 可扩展模版语言( XSL)是一组语言和规范,设计来以与最终输出介质和设备相适应的指定格式编排和展现XML文档。 XSL为用XML语法编写版式提供了一个综合的模型和词汇表。它用来定义如何把XML文件转换成浏览器能够识别和理解的格式。 XSL 能给输出文件增加成分或者去掉或忽略已有的成分。它也能重新安排和筛选成分,测试和决定哪些成分显示等等。 | |
Do an Internet search on the term buffer overflow, and you'll come up with hundreds of thousands of links, most related to security. In the National Institute of Standards and Technology's ICAT index of computer vulnerabilities, six of the top 10 involve buffer overflows. In 1999, buffer overflow was named the No. 1 computer vulnerability. Five years later, it's still a major problem.
If you've ever poured a gallon of water into a pint-size pot, you know what overflow means ——water spills all around.
Inside a computer, something similar happens if you try to store too much data in a space designed for less. Input normally goes into a temporary storage area, called a buffer, whose length is defined in the program or the operating system.
Ideally, programs check data length and won't let you input an overlong data string. But most programs assume that data will always fit into the space assigned to it. Operating systems use buffers called stacks, where data is stored temporarily between operations. These, too, can overflow.
When a too-long data string goes into the buffer, any excess is written into the area of memory immediately following that reserved for the buffer -- which might be another data storage buffer, a pointer to the next instruction or another program's output area. Whatever is there is overwritten and destroyed.
That in itself is a problem. Just trashing a piece of data or set of instructions might cause a program or the operating system to crash. But much worse could happen. The extra bits might be interpreted as instructions and executed; they could do almost anything and would execute at the level of privilege (which could be root, the highest level).
Bad Programming
Buffer overflow results from a well-known, easily understood programming error. If a program doesn't check for overflow on each character and stop accepting data when its buffer is filled, a potential buffer overflow is waiting to happen. However, such checking has been regarded as unproductive overhead - when computers were less powerful and had less memory, there was some justification for not making such checks. Moore's Law has removed that excuse, but we're still running a lot of code written 10 or 20 years ago, even inside current releases of major applications.
Some programming languages are immune to buffer overflow: Perl automatically resizes arrays, and Ada95 detects and prevents buffer overflows. However, C —— the most widely used programming language today -- has no built-in bounds checking, and C programs often write past the end of a character array.
Also, the standard C library has many functions for copying or appending strings that do no boundary checking. C++ is slightly better but can still create buffer overflows.
Buffer overflow has become one of the preferred attack methods for writers of viruses and Trojan horse programs. Crackers are adept at finding programs where they can overfill buffers and trigger specific actions running under root privilege -- say, telling the computer to damage files, change data, disclose sensitive information or create a trapdoor access point.
时文选读
缓冲溢出
对缓冲溢出这个术语做一次因特网搜索,你将看到成千上万的链接,其中大多数与安全有关。按(美国)国家标准与技术协会公布的 ICAT计算机安全隐患指数,在最主要的十项安全隐患中有六项涉及缓冲溢出。1999年,缓冲溢出被定为头号计算机安全隐患。五年之后,它仍是一个重大问题。
如果你将一加仑水倒入一品脱的壶里,就知道溢出是什么意思了 ——水洒了一地。
在计算机中,如果你试图在设计存放较少数据的空间储存太多的数据,也会发生类似的事情。正常情况下,输入放入临时存储区域,称作缓冲区,其长度由程序或操作系统定义。
理想的情况是,程序检查你的数据长度,不让你输入过长的数据串。但多数程序假设数据总是适合分配给它的空间。操作系统使用称作堆栈的缓冲区,在两次运算之间数据暂时存放在那里。这也能产生溢出。
当太长的数据串进入缓冲区时,超过部分马上被写入紧跟在为缓冲区保留的存储区域后面的区域,它可能是另一个数据存储缓冲区、下一个指令的指针或者另一个程序的输出区域。不管是哪一种情况,(数据)都会因重写而被破坏。
这本身就是个问题。弄坏一个数据或一组指令会造成程序或操作系统的崩溃。还会发生更坏的事情,额外的位有可能被解释成指令而加以执行,这些位几乎可能做任何事情,在级上执行(它可能是根,即最高级)。
坏的编程
缓冲溢出源于一个众所周知、容易理解的编程错误。如果程序不检查每个字符是否溢出,以及在缓冲区已满时不停止接收数据,那么潜在的缓冲溢出就可能发生。但是,这样的检查被当作无收益的开销 ——当计算机能力不强、内存不大时,不做这样的检查还算有些道理。摩尔定律使这个借口不复存在,但是我们仍在运行一、二十年前写的程序,甚至有些主要应用软件的最新版本还是如此。
有些编程语言对缓冲溢出具有免疫力: Perl能自动给阵列重新定长度,Ada95能检测和避免缓冲溢出。然而,今天用得最广的编程语言——C语言没有内在的超限检查,而C语言的程序常常写得超出字符阵列的末端。
同样,标准的 C语言程序库拥有很多拷贝或添加不检查边缘的字符串的功能。C++稍好一些,但仍会产生缓冲溢出。
缓冲溢出已经成为病毒和特洛伊木马程序编写者喜爱用的攻击方法。黑客们擅长于发现他们能使缓冲区溢出并在根下触发特定动作的程序,比方说,告诉计算机破坏文件、修改数据、暴露敏感信息或生成陷阱门接入点等。
Home automation technologies
X10 Automation: Lighting, Climate, Security, Home Cinema and Beyond
When it first appeared in 1978, X10 became the standard in home automation technology. Using conventional home electrical wiring, X10 transmits digital packets through up to 256 compatible devices on a single power circuit. A control centre for an X10 system may be a standalone hardware unit or a PC running Linux or Windows. Remote controls and keypads can also be used to control light dimmers, TVs, VCRs, security alarms, door locks and surveillance equipment.
With no specialised wiring required, X10 is an affordable and reliable beginning to any digital home project. For around $250, an X10 starter kit usually contains PC and hand-held remote controls as well as modules for two appliances, two lamps and a ceiling-mounted light. To use a module, you simply plug it into a power socket and then plug the appliance into the module. The appliance is then controlled via an infrared remote control or a power-point control module such as a keypad or PC adapter. Once the software is installed, the system can be run from a Windows, Mac, Linux, OS/2 or Amiga computer. A wide selection of freeware applications for use with most X10 controllers are available online.
Universal Plug and Play (UPnP) — Networking the Home with Microsoft
X10 is essentially a remote control system for your home, limited to on, off and dim commands. In an attempt to create “intelligent” appliances that communicate via a home network, Microsoft launched their Universal Plug and Play (UPnP) technology in 1999. UPnP offers Ethernet connectivity to household appliances. These can range from lighting dimmers and climate control systems to security and audiovisual appliances. This means, in theory, that any networked Windows PC can control UPnP devices around the home (Windows ME and XP have native support for UPnP. A free upgrade for Windows 98 is available from Microsoft). It also means that you may eventually have remote access to do things like record a TV show on your home VCR via a Web browser. Unfortunately, it also means your household appliances are open to the possibility of being hacked or hijacked!
Although slow to be adopted by manufacturers, some recent UPnP devices such as standalone media players have emerged. Version 2 of the UPnP protocol is in development. This is expected to be more widely implemented than its predecessor by incorporating support for technologies such as IPv6 and .NET services.
xAP
Likened by some to UPnP, but with a smaller overhead, xAP is a network protocol designed to be independent of operating system and programming language. Although available to any mode of transmission, it is currently only implemented via serial port or Ethernet connections. The goal of xAP is a lofty one—to provide interconnectivity between all household devices including lights, telephones, Hi-Fi units, heating systems and computers. Although in its infancy, xAP has a dedicated developer community and may emerge as a contender in the future of home automation.
Jini—Networking Home Appliances with Java
If Java is more your thing then Sun Microsystems' Jini technology can network any device with a Java Virtual Machine over Ethernet, Firewire or HomeRF (a proprietary radio frequency wireless networking technology). Although it has the backing of vendors such as Sony and Philips, Jini remains within the realm of Java programmers prepared to build their own interfaces and hand-code appliance drivers.
时文选读
家庭自动化技术
X10自动化:用于照明、气候、安全、家庭影院等
当 X10在1978年首次出现时,它就成了家庭自动化技术的标准。X10利用常规的家庭电力线路,给单一电力线路上多达256个兼容的设备发送数字包。X10系统的控制中心可以是的硬件设备,也可以是运行Linux或Windows的PC机。遥控器和小键盘也可以用来控制调光器、电视、录像机、安全报警器、门锁和监视设备。
X10没有专门的连线要求,所以它是任何数字家庭项目廉价且可靠的开端。一个X10基本套件大约250美元,通常包括PC和手持遥控器以及控制两个装置的模块、两个灯泡和一个安装在天花板上的灯。使用这种模块时,你只需将它插入电源插座,然后将装置插入该模块即可。通过红外遥控器或电源点控制模块(如小键盘或PC适配器)控制该装置。软件一旦装上了,就能在Windows、Mac、Linux、OS/2或Amiga等计算机上运行。可以在线选择多种免费应用软件,供大多数X10控制器使用。
通用即插即用( UPnP)——将家庭与微软联网
X10基本上是家用的遥控系统,局限于开、关和明暗调节的命令。微软为了创建能通过家庭网络进行通信的“智能”装置,在1999年发表了通用即插即用(UPnP)技术。UPnP提供了以太网联接家用设备。这些设备包括从调光器、气候控制器到安全装置和音像设备。从理论上讲,这意味着任何一台联网的Windows PC机能控制家庭中的UPnP设备(Windows ME和XP天生就支持UPnP,Windows 98可从微软公司获得免费的升级)。这也意味着你最终能通过Web浏览器远程做这样的事:遥控家用录像机录下电视剧。同时,这也意味着你的家用装置有可能被黑客攻击或劫持。
虽然( UPnP)被制造商采纳的速度很慢,但最近出现了一些UPnP设备,如的媒体播放器。UPnP V2尚在开发之中。由于该版本包含了对IPv6和.NET服务等技术的支持,可望比其以前的版本有更广泛的应用。
xAP
有人将 xAP比作UPnP,但它的开销较小。xAP是设计于操作系统和编程语言的网络协议。虽然它能用于任何传输模式,但目前只是通过串行口或以太网联接实现。xAP的目标很高——连接所有的家用设备,包括照明、电话、高保真音响、供暖系统和计算机。虽然xAP尚处于幼年,但它已有了一个热心的开发者社团,在将来的家庭自动化中有可能成为竞争者。
Jini——用Java将家用设备联网
如果你喜欢 Java,那么Sun公司的Jini技术通过利用Java虚拟机,能在以太网、火线、或HomeRF(一种专有的射频无线联网技术)上连接任何设备。虽然它已得到诸如Sony和Philips等公司的支持,但Jini仍只在准备编制自己的接口和手编设备驱动程序的Java程序员中流行。下载本文