
- Publisher: Prentice Hall PTR
- Number Of Pages: 400
- Publication Date: 2004-06-28
- Sales Rank: 714296
- ISBN / ASIN: 0131482076
- EAN: 0076092036852
- Binding: Paperback
- Manufacturer: Prentice Hall PTR
- Studio: Prentice Hall PTR
Summary:
Networking Concepts and Technology: A Designer's Resource is a resource for network architects who must create solutions for emerging network environments in enterprise data centers. You'll find information on how to leverage Sun Open Network Environment (Sun ONE) technologies to create Services on Demand solutions as well as technical details about the networking internals. You'll also learn how to integrate your environment with advanced networking switching equipment, providing sophisticated Internet Protocol (IP) services beyond plain vanilla Layer 2 and Layer 3 routing. Based upon industry standards, expert knowledge, and hands-on experience, this book provides a detailed technical overview of the following: Design of highly available, scalable, manageable gigabit network architectures with a focus on the server-to-switch tier. We will share key ingredients for successful deployments based on actual experiences. Emerging IP services that vastly improve Sun ONE-based solutions, giving you a centralized source of concise information about these services, the benefits they provide, how to implement them, and where to use them. Example services include quality of service (QoS), server load balancing (SLB), Secure Sockets Layer (SSL), and IPSec. Sun Networking software and hardware technologies available. We describe and explain how Sun differs from the competition in the networking arena, and then summarize the internal operations and describe technical details that lead into the tuning section. Currently there are only blind recommendations for tuning, with no explanations. This book fills that void by first describing the networking technology, which variables serve what purpose, what tuning will do, and why. The Sun BluePrints Program The mission of the Sun BluePrints program is to empower Sun s customers with the technical knowledge required to implement reliable, extensible, and secure information systems within the data center using Sun products. This program provides a framework to identify, develop, and distribute preferred practices information that applies across the Sun product lines. Experts in technical subjects in various areas contribute to the program and focus on the scope and advantages of the information. The Sun BluePrints program includes books, guides, and online articles. Through these vehicles, Sun can provide guidance, installation and implementation experiences, real-life scenarios, and late-breaking technical information. The monthly electronic magazine, Sun BluePrints OnLine, is located on the Web at [a href="http://www.sun.com/blueprints" title="http://www.sun.com/blueprints" target="_new">http://www.sun.com/blueprints . To be notified about updates to the Sun BluePrints program, please register on this site. Who Should Read This Book This book is intended for readers with varying degrees of experience with and knowledge of computer system and server technology, who are designing, deploying, and managing a data center within their organizations. Typically these individuals already have UNIX ; knowledge and a clear understanding of their IP network architectural needs. The book is targeted at network architects who must design and implement highly available, scalable data centers. How This Book Is Organized This book is organized into the following chapters: Chapter 1 provides an overview of this book and its concepts. Chapter 2 explores the main components of a typical enterprise Services on Demand network architecture and some of the more important underlying issues that impact network architecture design decisions. Chapter 3 describes some of key Transport Control Protocol (TCP) tunable parameters related to performance tuning: how these tunables work, how they interact with each other, and how they impact network traffic when they are modified. Chapter 4 describes the internal architecture of a basic network switch andprovides a comprehensive discussion of server load balancing. Chapter 5 discusses the networking technologies that are regularly found in a data center. Chapter 6 provides an overview of the various approaches and describes where it makes sense to apply that solution. Chapter 7 describes network implementation concepts and details. _ Appendix A provides an example of the Lyapunov function. Glossary provides definitions for the technical terms and acronyms used in this book.
Download

The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics
ISBN: 0321194969
Author: Randima Fernando / Mark J. Kilgard
Publisher: Addison-Wesley Professional
Edition: Bk&CD-Rom edition (February 26, 2003)
Paperback: 384 pages
From the Back Cover
"Cg is the key to unlocking the power of a new generation of programmable graphics hardware. This book is the definitive introduction to Cg, and will be essential for anyone programming high-quality real-time graphics. The Cg Tutorial will teach you to use Cg to create effects never before available for real-time applications."
--Larry Gritz, Author of Advanced RenderMan (Morgan Kaufmann, 2000)
"An important and timely book: Pixel-level procedural textures--animated clouds, fire, water, the whole bag of procedural tricks--finally go from the movie screen to the desktop. Access to computation of this power through a C-like language will usher in an exciting new era for the graphics community."
--Ken Perlin, Professor, New York University
Cg (C for graphics) is a complete programming environment for the fast creation of special effects and real-time cinematic quality experiences on multiple platforms. By providing a new level of abstraction, Cg lets developers more directly target OpenGL®, DirectX®, Windows®, Linux, Mac OS X®, and console platforms, such as the Xbox™, without having to program directly to the graphics hardware assembly language. Cg was developed by NVIDIA® Corporation in close collaboration with Microsoft® Corporation, and is compatible with both the OpenGL API and Microsoft's HLSL for DirectX 9.0.
The Cg Tutorial explains how to implement both basic and advanced techniques for today's programmable GPU architectures.
Major topics covered include:
# 3D transformations
# Per-vertex and per-pixel lighting
# Skinning and key-frame interpolation
# Environment mapping
# Bump mapping
# Fog
# Performance optimization
# Projective texturing
# Cartoon shading
# Compositing
Download
-
- Publisher: Springer
- Number Of Pages: 234
- Publication Date: 2006-11-13
- Sales Rank: 512808
- ISBN / ASIN: 3540233385
- EAN: 9783540233381
- Binding: Hardcover
- Manufacturer: Springer
- Studio: Springer
Book Description: )
The public information available on the Web today is larger than information distributed on any other media. The raw nature of Web content, the unpredictable remote changes that can affect it, the wide variety of formats concerned, and the growth in data-driven websites make the preservation of this material a challenging task, requiring specific monitoring, collecting and preserving strategies, procedures and tools.
Julien Masanès, Director of the European Archive, has assembled contributions from computer scientists and librarians that altogether encompass the complete range of tools, tasks and processes needed to successfully preserve the cultural heritage of the Web. His book serves as a standard introduction for everyone involved in keeping alive the immense amount of online information, and it covers issues related to building, using and preserving Web archives both from the computer scientist and librarian viewpoints.
Practitioners will find in this book a state-of-the-art overview of methods, tools and standards they need for their activities. Researchers as well as advanced students in computer science will use it as an introduction to this new field with a hopefully stimulating review of open issues where future work is needed.
Download

ISBN: 0321194969
Author: Randima Fernando / Mark J. Kilgard
Publisher: Addison-Wesley Professional
Edition: Bk&CD-Rom edition (February 26, 2003)
Paperback: 384 pages
Summary:
From the Back Cover
"Cg is the key to unlocking the power of a new generation of programmable graphics hardware. This book is the definitive introduction to Cg, and will be essential for anyone programming high-quality real-time graphics. The Cg Tutorial will teach you to use Cg to create effects never before available for real-time applications."
--Larry Gritz, Author of Advanced RenderMan (Morgan Kaufmann, 2000)
"An important and timely book: Pixel-level procedural textures--animated clouds, fire, water, the whole bag of procedural tricks--finally go from the movie screen to the desktop. Access to computation of this power through a C-like language will usher in an exciting new era for the graphics community."
--Ken Perlin, Professor, New York University
Cg (C for graphics) is a complete programming environment for the fast creation of special effects and real-time cinematic quality experiences on multiple platforms. By providing a new level of abstraction, Cg lets developers more directly target OpenGL®, DirectX®, Windows®, Linux, Mac OS X®, and console platforms, such as the Xbox™, without having to program directly to the graphics hardware assembly language. Cg was developed by NVIDIA® Corporation in close collaboration with Microsoft® Corporation, and is compatible with both the OpenGL API and Microsoft's HLSL for DirectX 9.0.
The Cg Tutorial explains how to implement both basic and advanced techniques for today's programmable GPU architectures.
Major topics covered include:
# 3D transformations
# Per-vertex and per-pixel lighting
# Skinning and key-frame interpolation
# Environment mapping
# Bump mapping
# Fog
# Performance optimization
# Projective texturing
# Cartoon shading
# Compositing
[rapidshare.com]

ISBN: 020156355X
Author: Dennis deChampeaux / Douglas Lea / Penelope Faure
Publisher: Addison-Wesley Professional
Edition: (May 31, 1993)
Paperback: 560 pages
Summary:
From the Inside Flap
Object-oriented (OO) programming has a growing number of converts. Many people believe that object orientation will put a dent in the software crisis. There is a glimmer of hope that OO software development will become more like engineering. Objects, whatever they are now, may become for software what nuts, bolts and beams are for construction design, what 2-by-4s and 2-by-6s are for home construction, and what chips are for computer hardware construction.
However, before making this quantum leap, object-orientedmethods still have to prove themselves with respect to more established software development paradigms. True, for small tasks the war is over. Object-oriented programs are more compact than classic structured programs. It is easier to whip them together using powerful class libraries. Inheritance allows "differential programming", the modification in a descendant class of what is wrong with a parent class, while inheriting all of its good stuff. User interfaces, which are often sizable fractions of small systems, can be put together easily from object-oriented libraries.
Delivering large object-oriented software systems routinely and cost effectively is still a significant challenge. To quote Ed Yourdon: "A system composed of 100,000 lines of C++ is not to be sneezed at, but we don't have that much trouble developing 100,000 lines of COBOL today. The real test of OOP will come when systems of 1 to 10 million lines of code are developed."
Footnote: To be fair and accurate, systems of 100,000 lines of C++ and those of 1,000,000 lines of COBOL are often of the same order of magnitude in complexity.)
The development of large systems is qualitatively different from that of small systems. For instance, a multinational banking conglomerate may want a system supporting around-the-clock access to the major stock markets in the world. They may additionally want to integrate accounts for all worldwide customers, providing fault-tolerant distributed transaction services. The banking conglomerate cannot realize this system by relying exclusively on a bundle of smart programmers. Instead, as enshrined by the structured paradigm, analysis and design must precede pure implementation activities. OO methods are known by experience to scale up to such large systems. For example, Hazeltine reports a project with "about 1000 classes, 10 methods per class, involving an average of 40 persons over 2 years."
This book is intended to help the reader better understand the role of analysis and design in the object-oriented software development process. Experiments to use structured analysis and design as precursors to an object-oriented implementation have failed. The descriptions produced by the structured methods partition reality along the wrong dimensions. Classes are not recognized and inheritance as an abstraction mechanism is not exploited. However, we are fortunate that a multitude of object-oriented analysis and design methods have emerged and are still under development. Core OO notions have found their home place in the analysis phase. Abstraction and specialization via inheritance, originally advertised as key ingredients of OO programming, have been abstracted into key ingredients of OO analysis (OOA). Analysis-level property inheritance maps smoothly on the behavior inheritance of the programming realm.
A common selling point of the OO paradigm is that it is more "natural" to traverse from analysis to implementation. For example, as described by de Champeaux and Anderson, developers at Hewlett-Packard who were well versed in the structured paradigm reported that the "conceptual distances" between the phases of their project were smaller using OO methods. Classes identified in the analysis phase carried over into the implementation. They observed as well that the defect density in their C++ code was only 50% of that of their C code.
However, more precise characterizations of why this might be so and how best to exploit it are still underdeveloped. The black art mystique of OO methods is a major inhibitor to the widespread acceptance of the OO paradigm. Hence we have devoted ample attention to the process aspects of development methods.
Will this book be the last word on this topic? We hope not. The object-oriented paradigm is still developing. At the same time, new challenges arise. Class libraries will have to be managed. Libraries for classic computer science concepts can be traversed using our shared, common knowledge. But access to application specific domain libraries seems to be tougher. Deciding that a particular entry is adequate for a particular task without having to "look inside" the entry is a challenge. Will the man-page style of annotations be sufficient? Our experience with man-pages makes us doubt that it will be.
Further horizons in OO are still too poorly understood to be exploited in the construction of reliable systems. For example, some day methods may exist for routinely developing "open systems" of "smart" active objects inspired by the pioneering work of Hewitt.
Footnote: Some quotes from this manifesto paper: "This paper proposes a modular ACTOR architecture and definitional method for AI that is conceptually based on a single kind of object: actorsldots The formalism makes no presuppositions about the representation of primitive data structures and control structures. Such structures can be programmed, micro-coded or hard-wired in a uniform modular fashion. In fact it is impossible to determine whether a given object is 'really' represented as a list, a vector, a hash table, a function or a process. Our formalism shows how all of the modes of behavior can be defined in terms of one kind of behavior: sending messages to actors." We briefly discuss open systems of actors in Chapter 22.
While active object models do indeed form much of the foundation of this book, their furthest-reaching aspects currently remain the focus of research and experimental study.
The object oriented paradigm, and this book, may impact different software professionals in different ways:
Analysts OO analysis is a fairly new enterprise. There is an abundance of unexplored territory to exploit. On the other hand there are few gurus to rely on when the going gets tough. The OO paradigm is tough going when one has been inundated with the structured way of thinking. While structured analysis is supposed to be implementation technique independent, it turns out to have a built-in bias toward classical implementation languages. Its core abstraction mechanism is derived from the procedure/function construct. Letting structured abstractions play second violin to object and inheritance takes some effort.
Designers OO design is as novel as OO analysis. By virtue of object orientation, more activities in the design phase and links to both analysis and implementation can be distinguished than has been previously possible. Our treatment focuses on the continuity of analysis and design, thus presenting many descriptive issues that are normally considered as "OO design" activities in the context of OOA. On the other side, it pushes many decisions that are usually made in the implementation phase into design.
Implementors OO implementation should become easier when the task of satisfying functional requirements has been moved into the design phase. Implementation decisions can then concentrate on exploiting the features of a chosen configuration and language needed to realize all the remaining requirements.
Software engineers OO software development is becoming a viable alternative to structured development. The application domains of both appear virtually the same. While the structured version has the advantage of currently being better supported by CASE tools, the object-oriented version will most likely become even better supported.
Project managers Experience with OO methods may be obtained using a throwaway, toy example to go through all the phases. The promise of large scale reuse should justify the transition costs. Software development planning is notoriously hard. This text addresses this topic by formulating a generic development scenario. However, foolproof criteria for measuring progress are as yet unavailable.
Tool builders The OO community needs integrated tools. In addition to object orientation, team effort, version control, process management, local policies, metrics, all need support.
Methodologists We cite open issues and unsolved problems throughout thetext, usually while discussing further readings.
Students and teachers While the object-oriented paradigm is rapidly overtaking industrial software development efforts, few courses address fundamental OO software engineering concepts untied to particular commercial methods. We have successfully used material in this book as a basis for one-semester graduate and undergraduate courses, one- week courses, and short tutorials.
Footnote: A team-based development project is almost mandatory for effective learning in semester courses, but raises logistics problems common to any software engineering course. Projects should neither be so big that they cannot be at least partially implemented by a team of about three students within the confines of a semester, nor be so small that they evade all systems-level development issues. Successful projects have included a version of ftp with an InterViews based interface, and a simple event display system for Mach processes. To implement projects, students who do not know an OO programming language will need to learn one long before the end of the course. One way to address this is to teach the basics of OOP in a particular language and other implementation pragmatics early on, independently of and in parallel with the topics covered in this book. For example, in a course meeting two or three times per week, one class per week could be devoted to programming and pragmatics. As the semester continues, this class could focus on project status reports and related discussions. This organization remains effective despite the fact that the contents of the different classes are often out of synch. By simplifying or eliminating project options corresponding to the contents of Chapters 22 through 26, final implementation may begin while still discussing how these issues apply to larger efforts.
Others The reader may think at this point that this book is relevant only for large system development. We don't think so. Even in a one-hour single-person programming task, activities applying to a large system can be recognized. The difference is that these activities all happen inside the head of the person. There is no written record of all the decisions made. The person may not even be aware of some of the decisions. We hope that everyone will obtain a better understanding of the overall development process from this book.
This text does not aim at defining yet another OO "method". Instead, we aim to give a minimum set of notions and to show how to use these notions when progressing from a set of requirements to an implementation. We reluctantly adopt our own minimal (graphical) analysis and (textual) design notations to illustrate basic concepts. Our analysis notation (OAN) and design language (ODL) are "lightweight" presentation vehicles chosen to be readily translatable into any OO analysis, design, and programming languages and notations you wish to use. (Notational summaries may be found in the Appendix.)
Most of what we have written in this book is not true. It is also not false. This is because we are in the prescriptive business. Software development is a special kind of process. We describe in this book a (loosely defined) algorithm for producing a system. Algorithms are not true or false. They are appropriate for a task or not. Thus this book should contain a correctness proof that demonstrates that the application of its methods invariably yields a desired system. However, due to space limitations, we have omitted this proof.
More seriously, we have tried to decrease the fuzziness that is inherent in prescriptive text by giving precise textual descriptions of the key notions in the respective methods. We have tried to be precise as well, in describing how analysis output carries over into design and how the design output gets massaged into an implementation. Thus we obtain checks and balances by integrating the methods across the development phases. This, of course, provides only a partial check on the correctness of the methods. Their application will be their touchstone.
We are opinionated regarding formal techniques. We want to offer software developers "formality a la carte". Developers may want to avoid rigorous "mathematical" precision as one extreme, or may want to provide correctness proofs of a target system against the requirements as another extreme. We leave this decision to the developer. As a consequence for us, we avoid introducing notions for which the semantics are not crystal clear. As a result, the developer can be as formal as desired. Since we were at times unable to come up with concise semantics, we have omitted some modeling and design notions that are offered in other accounts.
While we have tried to provide a solid foundation for the core concepts, we are convinced as well that a true formalist can still point out uncountably many ambiguities. On the other side, we simply do not understand most of the material in this book sufficiently well to trivialize it into recipes.
Although one can read this book while bypassing the exercises, we do recommend them. Some exercises ask you to operationalize the concepts in this book. Others are quick "thought questions", sometimes even silly sounding ones, that may lead you into territory that we have not explored.
Acknowledgments Together, we thank our editors Alan Apt and John Wait, and reviewers Jim Coplien, Lew Creary, Desmond D'Souza, Felix Frayman, Watts Humphrey, Ralph Johnson, and Hermann Kaindl.
DdC thanks Alan Apt for being a persistent initiator to this enterprise. He has an amazing ability to exploit your vanity and lure you in an activity that is quite hazardous to plain family life. On the way he gives encouragement, blissfully ignoring the perilous situation in which the writer has maneuvered him/herself. Donna Ho provided an initial sanity check. Patricia Collins expressed very preciselyher concerns about domain analysis.
Download