14 research outputs found
Internet of Things From Hype to Reality
The Internet of Things (IoT) has gained significant mindshare, let alone attention, in academia and the industry especially over the past few years. The reasons behind this interest are the potential capabilities that IoT promises to offer. On the personal level, it paints a picture of a future world where all the things in our ambient environment are connected to the Internet and seamlessly communicate with each other to operate intelligently. The ultimate goal is to enable objects around us to efficiently sense our surroundings, inexpensively communicate, and ultimately create a better environment for us: one where everyday objects act based on what we need and like without explicit instructions
Architectures pour la mobilité et la qualité de service dans les systèmse satellites DVB-S2/RCS
Nos travaux de thèse ont pour objectif la conception, la mise en œuvre et l'évaluation d'architectures pour la mobilité et la qualité de service (QoS) dans des systèmes satellites DVB-S2/RCS. Ces systèmes peuvent constituer une solution alternative efficace aux réseaux terrestres dans des zones reculées à faible densité de population mais ils doivent pour cela offrir les mêmes services tout en tenant compte de leurs caractéristiques spécifiques, en particulier leur long délai de transmission qui peut s'avérer problématique dans le cadre d'applications multimédias interactives.
Notre première contribution a donc été de développer une architecture de QoS adaptée à ce type d'applications, utilisant le modèle DiffServ et se basant essentiellement sur l'interaction entre l'architecture liée au protocole d'initiation de session SIP et différentes entités du système satellite. La QoS peut alors être configurée de façon précise au niveau des STs, par le biais de l'outil TC, en analysant les descripteurs de session SDP compris dans les messages SIP et en déduisant leurs caractéristiques (débit, gigue max, délai max, etc...) soit localement si elles sont connues, soit à partir d'un service Web que nous avons développé.
Nous avons ensuite proposé et développé une solution de mobilité basée sur SIP, adaptée au système satellite ainsi qu'à la solution de QoS précédemment décrite. Les performances de cette solution ont alors été comparées, en termes de temps d'interruption et de consommation de ressources, avec celles obtenues par Mobile IPv6 et certaines de ses extensions, démontrant ainsi de réelles améliorations pour le cas des applications multimédias interactives.
Enfin, notre dernière contribution a été de développer deux architectures couplant QoS et mobilité, une spécifiquement conçue pour les applications interactives et basée sur la combinaison de notre solution de mobilité SIP avec notre architecture de QoS SIP et une autre basée sur Mobile IPv6 ou FMIPv6 et sur l'interaction d'un QoS Agent mobile avec les entités de QoS du système satellite. Ces architectures ont été évaluées et comparées sur la plateforme d'émulation PLATINE développée dans le cadre du projet SATSIX.Our thesis work aims at the design, the implementation and the evaluation of architectures for mobility and quality of service (QoS) in DVB-S2/RCS satellite systems. These systems can be an effective alternative to terrestrial networks in remote and sparsely populated areas but, for that, they have to offer the same services while taking into account their specific characteristics, particularly their long transmission delay that can be problematic in the context of interactive multimedia applications.
Our first contribution has been to develop a QoS architecture adapted to such applications, using the DiffServ model and relying heavily on the interaction between the architecture related to the Session Initiation Protocol (SIP) and various entities of the satellite system. The QoS of satellite terminals (STs) can then be configured precisely, by using the TC tool and analyzing the SDP session descriptors included in the SIP messages and deducting their characteristics (throughput, jitter max, delay max, etc. ...) either locally, if they are known, or from a Web service that we have developed.
We then proposed and developed a mobility solution based on SIP, adapted to the satellite system and to the QoS solution described above. The performances of this solution were compared in terms of handover time and resources consumption, with those obtained by Mobile IPv6 and some of its extensions, showing real improvements in the case of interactive multimedia applications.
Finally, our last contribution was to develop two architectures combining QoS and mobility: the first one is specifically designed for interactive applications and based on the combination of our SIP-based mobility solution with our SIP QoS architecture and the another is based on Mobile IPv6 or FMIPv6 for the mobility part and on the interaction of a mobile QoS agent with QoS entities of the satellite system. These architectures have been evaluated and compared on the emulation platform PLATINE developed under the project SATSIX
Pro Web 2.0 Mashups: Remixing Data and Web Services
XXXIII, 603 p. ; 24 cmLibro ElectrónicoEn cub.: Remix the Web to create cutting-edge web applicationsHow many times have you seen a web site and said, “This would be exactly what I wanted—
if only . . .” If only you could combine the statistics here with data from your company’s earnings
projections. If only you could take the addresses for those restaurants and plot them on one
map. How often have you entered the date of a concert into your calendar with a single click
instead of retyping? How often do you wish that you could make all the different parts of your
digital world—your e-mail, your word processor documents, your photos, your search results,
your maps, your presentations—work together more seamlessly? After all, it’s all digital and
malleable information—shouldn’t it all just fit together?
In fact, below the surface, all the data, web sites, and applications you use could fit together.
This book teaches you how to forge those latent connections—to make the Web your own—by
remixing information to create your own mashups. A mashup, in the words of the Wikipedia, is
a web site or web application “that seamlessly combines content from more than one source
into an integrated experience.”1 Learning how to draw content from the Web together into new
integrated interfaces and applications, whether for yourself or for other others, is the central
concern of this book.¿Cuántas veces ha visto usted a un sitio web y le dijo: "Esto sería exactamente lo que quería-
si sólo. . . "Si sólo pudiera combinar las estadísticas aquí con los datos de las ganancias de su empresa
proyecciones. Si tan sólo pudiera tener las direcciones de los restaurantes y colócalas en una
mapa. ¿Cuántas veces has entrado en la fecha de un concierto en su calendario con un solo clic
en lugar de volver a escribir? ¿Con qué frecuencia desea que usted podría hacer todas las diferentes partes de su
mundo digital, el correo electrónico, los documentos procesador de textos, fotos, resultados de la búsqueda,
sus mapas, sus presentaciones, trabajar juntos con mayor perfección? Después de todo, todo es digital y
maleable que la información shouldn't a sólo encajan entre sí?
De hecho, debajo de la superficie, todos los datos, sitios web, y aplicaciones que utiliza podría encajar.
Este libro te enseña a forjar esas conexiones latentes a hacer de la web su propio por
información remezcla para crear su propia mashups. Un mashup, en palabras de la Wikipedia, es
un sitio web o aplicación web "que combina a la perfección el contenido de más de una fuente
en una experiencia integrada. "1 Aprender a dibujar el contenido de la Web junto a nuevos
interfaces integradas y aplicaciones, ya sea para usted o para otros, es el centro de
preocupación de este libro.The modern Web is awash with data and services just waiting to be used, but how do you make effective use of all this information? The answer lies in APIs (such as Google Maps, Flickr, and Amazon Web Services) and remixing, or mashups. "Pro Web 2.0 Mashups: Remixing Data and Web Services" teaches you everything you need to create useful, dynamic real-world applications using APIs, web services, Ajax, web standards, and server-side languages. All you need to make full use of this book is basic knowledge of HTML, CSS, and JavaScript, and at least one server-side language (such as PHP or ASP.NET). Highlights include the following: Looks at the overall shape of todays Web from a developers point of view--what are its main features, and what is available for us to use to develop applications? Contains real-world examples of creating mashups using all the major APIs. Contains examples written in multiple server-side languages. What you'll learn Understand how the constituent parts of the modern Web fit together--web standards, Ajax, APIs, libraries, tagging, blogs, wikis, and more. Create different types of mashup, for example mapping mashups, search functionality, calendars, RSS/Atom feeds, social bookmarking, online storage systems, open document formats, and more. Build Web 2.0 applications using HTML, CSS, JavaScript, Ajax, server-side languages, APIs, and libraries Who is this book for? This book is for any web developer who is already comfortable with HTML, CSS, JavaScript, and at least one server-side language and wants to learn how to create Web 2.0 applications. About the Apress Pro Series The Apress Pro series books are practical, professionaltutorials to keep you on and moving up the professional ladder. You have gotten the job, now you need to hone your skills in these tough competitive times. The Apress Pro series expands your skills and expertise in exactly the areas you need. Master the content of a Pro book, and you will always be able to get the job done in a professional development project. Written by experts in their field, Pro series books from Apress give you the hard-won solutions to problems you will face in your professional programming career. Related Titles Beginning Google Maps Applications with PHP and Ajax: From Novice to Professional Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional Building Flickr Applications with PHP Pro DOM Scripting with Ajax, APIs and Libraries Pro Ajax and the .NET 2.0 Platform Pro Ajax and Java Frameworks.About the Author xxi
About the Technical Reviewer xxiii
Acknowledgments xxv
Introduction xxvii
PART 1 Remixing Information
Without Programming
CHAPTER 1 Learning from Specific Mashups 3
Looking for Patterns in Mashups 3
Housingmaps.com5
What Is Being Combined? 5
Why Are the Constituent Elements Being Combined? What’s the
Problem Being Solved? 5
Where Is the Remixing Happening? 6
How Are These Elements Being Combined? 6
Comparable Mashups 7
Google Maps in Flickr 7
What Is Being Combined? 8
Why Are the Constituent Elements Being Combined? What’s the
Problem Being Solved? 8
How Are These Elements Being Combined? 12
Comparable Mashups 13
LibraryLookup Bookmarklet13
Configuring a LibraryLookup Bookmarklet 14
Invoking the LibraryLookup Bookmarklet 15
How Does This Mashup Work? 16
How Can This Mashup Be Extended?17
Comparable Mashups 18
Tracking Other Mashups 18
Summary 18
vii
CHAPTER 2 Uncovering the Mashup Potential of Web Sites 21
What Makes Web Sites and Applications Mashable 22
Ascertaining the Fundamental Entities of the Web Site22
Public APIs and Existing Mashups 23
Use of Ajax 24
Embedded Scriptability 24
Browser Plug-Ins 25
Getting Data In and Out of the Web Site 25
The Community of Users and Developers 25
Mobile and Alternative Interfaces and the Skinnability
of the Web Site 26
Documentation 26
Is the Web Site Run on Open Source? 26
Intellectual Property, Reusability, and Creative Commons 26
Tagging, Feeds, and Weblogging27
URL Languages of Web Sites27
Some Mashups Briefly Revisited 28
Flickr: The Fundamentally Mashup-Friendly Site 29
Resources in Flickr 29
Users and Photos 30
Data Associated with an Individual Photo 33
Tags 34
User’s Archive: Browsing Photos by Date 36
Sets 37
Collections37
Favorites 37
A User’s Popular Photos 38
Contacts 38
Groups 38
Account Management40
Browsing Through Flickr40
Search 41
Geotagged Photos in Flickr 42
The Flickr Organizer 43
Recent Activities44
Mailing Interfaces 44
Interfacing to Weblogs 44
Syndication Feeds: RSS and Atom 45
Mobile Access45
Third-Party Flickr Apps 45
viii CONTENTS
Creative Commons Licensing 46
Cameras 46
The Mashup-by-URL-Templating-and-Embedding Pattern 47
Google Maps 49
URL Language of Google Maps 49
Viewing KML Files in Google Maps51
Connecting Yahoo! Pipes and Google Maps 51
Other Simple Applications of the Google Maps URL Language 52
Amazon 53
Amazon Items53
Lists 55
Tags 55
Subject Headings 55
del.icio.us 56
Screen-Scraping and Bots 58
Summary 60
CHAPTER 3 Understanding Tagging and Folksonomies61
Tagging in Flickr 62
Tags in Flickr 63
How Tags Are Used in Practice 63
Creating Your Own Tags 64
Syntax of Tags in Flickr 64
Potential Weaknesses of Tags 65
Singular and Plural Forms of Tags in Flickr 65
Hacking the Tagging System: Geotagging and Machine Tags 66
Interesting Apps Using Flickr Tags 67
Tagging in del.icio.us 67
Mechanics of Adding Tags in del.icio.us 68
Dealing with Case and Multiword Phrases 68
Getting More Information 69
Gathering Content Through Tags in Technorati71
Searching Technorati with Tags71
How Technorati Finds Tags on the Web 72
Word Inflections and Syntactic Constraints in Technorati Tags 72
Using Tags to Mash Up Flickr and del.icio.us 72
Other Systems That Use Tagging 73
Relationship of Tags to Formal Classification Schemes 73
Summary 75
CONTENTS ix
CHAPTER 4 Working with Feeds, RSS, and Atom77
What Are Feeds, and Why Are They Important? 78
RSS 2.0 78
RSS 1.0 80
Atom 1.0 82
Extensions to RSS 2.0 and Atom 1.0 84
Feeds from Flickr86
Flickr Feed Parameters 86
Examining the Flickr Feeds 87
Exchange Formats Other Than RSS and Atom 90
Feeds from Other Web Sites 92
Finding Feeds and Feed Autodiscovery 93
Feeds from Weblogs 94
Wikipedia Feeds94
Google and Yahoo! News 95
News Aggregators: Showing Flickr Feeds Elsewhere 96
Validating Feeds98
Scraping Feeds Using GUI Tools 98
Remixing Feeds with Feedburner 99
Remixing Feeds with Yahoo! Pipes 100
A Simple First Pipe with Yahoo! News 101
Google News and Refactoring Pipes102
Wikinews and NY Times: Filtering Feeds 103
Pulling the Feeds Together 104
Summary 104
CHAPTER 5 Integrating with Blogs 105
Integration Scenarios for Blogs 105
Sending Flickr Pictures to Blogs 106
Configuring Flickr for Integration with Blogs107
Blogging a Flickr Picture110
How Does the Flickr Blog Integration Work?110
Desktop Blogging Tools 111
Combining Feeds and Blogging to Generate Feedback Flows113
Flock: Bringing Together Blogs and Flickr 114
RSD: Discoverability of Blog APIs 115
Linkbacks 116
Wiki Integration at an Early Stage 116
Summary 117
x CONTENTS
PART 2 Remixing a Single Web Application
Using Its API
CHAPTER 6 Learning Web Services APIs Through Flickr 121
An Introduction to the Flickr API 122
What Does This XML Response Mean? 124
What Can You Do with the XML Response? 126
API Documentation, Community, and Policy 128
Terms of Use for the API 128
Using the Flickr API Explorer and Documentation 129
Calling a Basic Flickr API Method from PHP 132
HTTP Clients 133
A Refresher on HTTP 134
XML Processing 138
Pulling It All Together: Generating Simple HTML
Representations of the Photos 143
Where Does This Leave Us?145
The Flickr API in General 145
Using flickr.reflection Methods 146
Querying the Flickr Reflection Methods with PHP 149
Request and Response Formats 154
Flickr Authorization 156
Why Passing Passwords Around Doesn’t Work Too Well157
Authorization for Web Apps 157
Using Flickr API Kits 165
PEAR::Flickr_API 165
phpFlickr 166
Phlickr 168
Limitations of the Flickr API 169
Summary 170
CHAPTER 7 Exploring Other Web APIs 171
XML-RPC172
What’s Happening on the Wire? 176
Using Wireshark and curl to Analyze and Formulate
HTTP Messages 177
Parsing XML-RPC Traffic178
CONTENTS xi
SOAP 181
The Dream: Plug-and-Go Functionality Through WSDL
and SOAP 181
geocoder.us 182
Amazon ECS 191
The Flickr API via SOAP195
Learning About Specific Web APIs 195
Programmableweb.com 196
YouTube 198
GData and the Blogger API 199
Using the Blogger API As a Uniform Interface Based on
HTTP Methods203
Summary 204
CHAPTER 8 Learning Ajax/JavaScript Widgets and Their APIs 205
What You Need to Know206
What Difference Does Ajax Make? 207
Learning Firebug, DOM Inspector, and JavaScript Shell 208
Using the DOM Inspector 208
Using the Firebug Extension for Firefox 208
Using the JavaScript Shell 210
Working with JavaScript Libraries 210
YUI Widgets211
Using the YUI Calendar 211
Installing YUI on Your Host 212
Learning Google Maps 213
Accessing Flickr via JavaScript217
Using Greasemonkey to Access New York Times Permalinks 220
Learning More About JavaScript and Ajax 223
Summary 223
PART 3 Making Mashups
CHAPTER 9 Moving from APIs and Remixable Elements
to Mashups 227
Getting Oriented to ProgrammableWeb 228
User-Generated Data in ProgrammableWeb 228
Can Any Directory of Mashups Keep Up? 228
Learning About the Overall Mashup Scene 229
xii CONTENTS
Directory of Mashups 230
Using Feeds to Track Mashups 230
Using Tags to Describe Mashups 231
API and Mashup Verticals 233
Looking at a Specific Mashup Profile233
Going from a Specific API to Mashups234
Sample Problems to Solve Using Mashups235
Tracking Interesting Books235
Knowing When to Buy Airplane Tickets 239
Finding That Dream House240
Mapping Breaking News 241
Summary 242
CHAPTER 10 Creating Mashups of Several Services 243
The Design 244
Background: Geotagging in Flickr245
Background: XMLHttpRequest and Containing Libraries 248
Using XMLHttpRequest Directly248
Using the YUI Connection Manager250
Building a Server-Side Proxy253
What Happens with XHR and Direct API Calls?253
Building a Server-Side Script for Geolocated Photos255
Building a Simple Client-Side Frame 257
Reading and Writing Elements257
Handling Simple Events to Connect Form Input and
Display Calculations 260
Hooking the Client-Side Framework to Flickr 261
Writing a URL for Querying flickrgeo.php 262
Using XHR via the YUI Connection Manager to
Read the JSON 262
Converting the JSON to HTML 264
Mashing Up Google Maps API with Flickr 266
Setting Up a Basic Google Map 267
Making the Map Respond to Changes in the
Viewport of the Map268
Bringing Together the Flickr and GMap Code 269
Wiring Up the Bounding Box of the Google Map270
Making the Pictures Show Up in the Map 272
Google Mapplet That Shows Flickr Photos 277
Summary 281
CONTENTS xiii
CHAPTER 11 Using Tools to Create Mashups 283
The Problem Mashup Tools Solve284
What You Are Making in This Chapter 284
Making the Mashup: A Step-by-Step Example286
Familiarizing Yourself with the Google Mashup Editor287
Reading and Displaying a Feed (Simple Template) 288
Introducing a Custom Template289
Using Yahoo! Pipes to Access Flickr 291
Displaying Flickr Photos Using 292
Adding JavaScript to the Mashup 294
How to Persist Feeds and Use Tabs 299
The Final Product: Showing the Saved Entries on a Map 304
Analysis of Trade-Offs in Using GME and Yahoo! Pipes309
Other Mashup Tools 310
Summary 311
CHAPTER 12 Making Your Web Site Mashable313
Why Make Your Web Site Mashable? 314
Using Techniques That Do Not Depend on APIs 314
Use a Consistent and Rich URL Language314
Use W3C Standards to Develop Your Web Site 315
Pay Attention to Web Accessibility315
Consider Allowing Users to Tag Your Content 315
Make Feeds Available 315
Make It Easy to Post Your Content to Blogs and
Other Web Sites 316
Encourage the Sharing of Content with Explicit Licenses317
Develop Extensive Import and Export Options for
User Content 317
Study How Users Remix Your Content and
Make It Easier to Do So 317
Creating a Mashup-Friendly API 317
Learn From and Emulate Other APIs318
Keep in Mind Your Audiences for the API 318
Make Your API Easy to Learn 318
Test the Usability of Your API 319
Build a Granular, Loosely Coupled Architecture So That
Creating an API Serves You As Much As It Does Others319
Embrace REST But Also Support SOAP and XML-RPC
If You Can 320
xiv CONTENTS
Consider Using the Atom Publishing Protocol As a Specific
Instantiation of REST 320
Encourage the Development of API Kits: Third Party or
In-House320
Support Extensive Error Reporting in Your APIs 321
Accept Multiple Formats for Output and Input 321
Support UI Functionality in the API 321
Include a Search API for Your Own Site 321
Version Your API 322
Foster a Community of Developers322
Don’t Try to Be Too Controlling in Your API322
Consider Producing a Service-Level Agreement (SLA) 322
Help API Users Consume Your Resources Wisely 323
Consider Open Sourcing Your Application 323
Easy-to-Understand Data Standards 323
Summary 324
PART 4 Exploring Other Mashup Topics
CHAPTER 13 Remixing Online Maps and 3D Digital Globes327
The Number of Online Maps 328
Examples of Map-Based Mashups329
Making Maps Without Programming 329
Mapbuilder.net 329
Google My Maps 331
A Mashup Opportunity: Mapping Yahoo! Local Collections332
Transforming the Yahoo! Local XML into CSV for
Mapbuilder.net 334
Collection Building in Microsoft’s Live Search Maps 336
Summary of Making Maps Without Programming 338
Data Exchange Formats 338
CSV338
Microformats and Metatags for HTML 338
GeoRSS 339
Yahoo!’s Use of GeoRSS and Yahoo! YMaps Extensions 341
KML 345
Interoperability Among Formats: GeoRSS vsKML346
CONTENTS xv
Creating Maps by API Programming 346
Google Maps API 347
Yahoo! Maps API351
Microsoft’s Live Search Maps/Virtual Earth354
Geocoding356
Yahoo! Maps 356
Geocoder.us 357
Google Geocoder 358
Virtual Earth 361
Geocoding Non-U.SAddresses363
Google Earth and KML 364
Displaying and Handling KML As End Users 364
KML 368
Programming Google Earth via COM and AppleScript374
Mapstraction and OpenLayers 376
An Integrative Example: Showing Flickr Pictures in Google Earth376
KML NetworkLink 379
Generating the KML for the Photos382
The flickrgeo.php Code383
Summary 393
CHAPTER 14 Exploring Social Bookmarking and Bibliographic
Systems 395
The Social Bookmarking Scene 396
Using Programmableweb.com to Examine the
Popularity of APIs 396
del.icio.us 397
Using the del.icio.us API 398
Third-Party Tools for del.icio.us405
Third-Party API Kits 405
Yahoo! Bookmarks and MyWeb407
Connotea408
A Flickr and del.icio.us Mashup 412
Summary 416
CHAPTER 15 Accessing Online Calendars and Event Aggregators 417
Google Calendar 418
Setting Up Google Calendar As an End User 418
Exploring the Feed Formats from Google Calendar 420
xvi CONTENTS
Using the GData-Based Calendar API Directly 426
Using the PHP API Kit for Google Calendar 434
Using the Python API Kit for Google Calendar 437
30boxes.com 438
An End User Tutorial 439
30boxes.com API 439
Event Aggregators 443
Upcoming.yahoo.com 443
Eventful.com452
Programming with iCalendar 458
Python and iCalendar 458
PHP and iCalendar 460
Exporting an Events Calendar to iCalendar and Google Calendar461
The Source: UC Berkeley Event Calendars 462
Creating an iCalendar Feed of Critic’s Choice Using Python462
Writing the Events to Google Calendar464
Summary 471
CHAPTER 16 Using Online Storage Services 473
Introducing Amazon S3 473
Rationale for S3 474
Conceptual Structure of Amazon S3 475
The Firefox S3 Extension Gets You Started with S3476
Using the S3 REST Interface 477
Listing Buckets Using the REST Interface 480
Using the SOAP Interface to S3481
Amazon S3 API Kits 482
PHP 483
Python 484
Summary 486
CHAPTER 17 Mashing Up Desktop and Web-Based Office Suites 487
Mashup Scenarios for Office Suites 487
The World of Document Markup 488
The OpenDocument Format488
Learning Basic ODF Tags 497
Create an ODF Text Document Without Any Styling of
ODF Elements 499
Setting the Paragraph Text to text-body 503
CONTENTS xvii
Formatting Lists to Distinguish Between Ordered and
Unordered Lists504
Getting Bold, Italics, Font Changes, and Color Changes
into Text Spans 505
API Kits for Working with ODF 507
Odfpy 507
OpenDocumentPHP 516
Leveraging OO.o to Generate ODF 518
ECMA Office Open XML (OOXML) 519
Viewers/Validators for OOXML522
Comparing ODF and OOXML 522
Online Office Suites523
Usage Scenarios for Programmable Online Spreadsheets 523
Google Spreadsheets API 524
Python API Kit 524
Mashup: Amazon Wishlist and Google Spreadsheets Mashup528
Zend PHP API Kit for Google Spreadsheets 533
A Final Variation: Amazon Wishlist to Microsoft Excel
via COM 535
Zoho APIs 536
Summary 536
CHAPTER 18 Using Microformats and RDFa As Embeddable Data
Formats537
Using Operator to Learn About Microformats 537
adr (Addresses) 540
hCard (Contacts) 541
hCalendar (Events)542
geo (Locations)543
tag (Tagspaces) 543
Definitions and Design Goals of Microformats 543
Microformats Design Patterns545
rel-design-pattern 545
class-design-pattern 545
abbr-design-pattern 546
include-pattern546
Examples of Microformats 547
rel-license 547
rel-tag 548
xfn548
xviii CONTENTS
xFolk549
geo 549
hCard and adr550
hCalendar 551
Other Microformats 551
Microformats in Practice 552
Programming with Microformats 552
Language-Specific Libraries 552
Writing an Operator Script 553
Studying the Tutorial Script 554
Writing a Geocoding Script556
Resources (RDFa): A Promising Complement to Microformats 557
Reference for Further Study 558
Summary 558
CHAPTER 19 Integrating Search 559
Google Ajax Search 559
Manipulating Search Results 559
Yahoo! Search 561
Yahoo! Images 563
Microsoft Live.com Search 564
OpenSearch 568
Google Desktop HTTP/XML Gateway 570
Summary 571
APPENDIX 573
INDEX 57
An investigation into the application of the IEEE 1394 high performance serial bus to sound installation contro
This thesis investigates the feasibility of using existing IP-based control and monitoring protocols within professional audio installations utilising IEEE 1394 technology. Current control and monitoring technologies are examined, and the characteristics common to all are extracted and compiled into an object model. This model forms the foundation for a set of evaluation criteria against which current and future control and monitoring protocols may be measured. Protocols considered include AV/C, MIDI, QSC-24, and those utilised within the UPnP architecture. As QSC-24 and the UPnP architecture are IP-based, the facilities required to transport IP datagrams over the IEEE 1394 bus are investigated and implemented. Example QSC-24 and UPnP architecture implementations are described, which permit the control and monitoring of audio devices over the IEEE 1394 network using these IP-based technologies. The way forward for the control and monitoring of professional audio devices within installations is considered, and recommendations are provided.KMBT_363Adobe Acrobat 9.54 Paper Capture Plug-i
Virtual Machine Lifecycle Management in Grid and Cloud Computing
Virtualisierungstechnologie ist die Grundlage für zwei wichtige Konzepte: Virtualized Grid Computing und Cloud Computing. Ersteres ist eine Erweiterung des klassischen Grid Computing. Es hat zum Ziel, die Anforderungen kommerzieller Nutzer des Grid hinsichtlich der Isolation von gleichzeitig ausgeführten Batch-Jobs und der Sicherheit der zugehörigen Daten zu erfüllen. Dabei werden Anwendungen in virtuellen Maschinen ausgeführt, um sie voneinander zu isolieren und die von ihnen verarbeiteten Daten vor anderen Nutzern zu schützen. Darüber hinaus löst Virtualized Grid Computing das Problem der Softwarebereitstellung, eines der bestehenden Probleme des klassischen Grid Computing. Cloud Computing ist ein weiteres Konzept zur Verwendung von entfernten Ressourcen. Der Fokus dieser Dissertation bezüglich Cloud Computing liegt auf dem “Infrastructure as a Service Modell”, das Ideen des (Virtualized) Grid Computing mit einem neuartigen Geschäftsmodell kombiniert. Dieses besteht aus der Bereitstellung von virtuellen Maschinen auf Abruf und aus einem Tarifmodell, bei dem lediglich die tatsächliche Nutzung berechnet wird.
Der Einsatz von Virtualisierungstechnologie erhöht die Auslastung der verwendeten (physischen) Rechnersysteme und vereinfacht deren Administration. So ist es beispielsweise möglich, eine virtuelle Maschine zu klonen oder einen Snapshot einer virtuellen Maschine zu erstellen, um zu einem definierten Zustand zurückkehren zu können. Jedoch sind noch nicht alle Probleme im Zusammenhang mit der Virtualisierungstechnologie gelöst. Insbesondere entstehen durch den Einsatz in den sehr dynamischen Umgebungen des Virtualized Grid Computing und des Cloud Computing neue Herausforderungen für die Virtualisierungstechnologie.
Diese Dissertation befasst sich mit verschiedenen Aspekten des Einsatzes von Virtualisierungstechnologie in Virtualized Grid und Cloud Computing Umgebungen. Zunächst wird der Lebenszyklus von virtuellen Maschinen in diesen Umgebungen untersucht, und es werden Modelle dieses Lebenszyklus entwickelt. Anhand der entwickelten Modelle werden Probleme identifiziert und Lösungen für diese Probleme entwickelt. Der Fokus liegt dabei auf den Bereichen Speicherung, Bereitstellung und Ausführung von virtuellen Maschinen. Virtuelle Maschinen werden üblicherweise in so genannten Disk Images, also Abbildern von virtuellen Festplatten, gespeichert. Dieses Format hat nicht nur Einfluss auf die Speicherung von größeren Mengen virtueller Maschinen, sondern auch auf deren Bereitstellung. In den untersuchten Umgebungen hat es zwei konkrete Nachteile: es verschwendet Speicherplatz und es verhindert eine effiziente Bereitstellung von virtuellen Maschinen. Maßnahmen zur Steigerung der Sicherheit von virtuellen Maschinen haben auf alle drei genannten Bereiche Einfluss. Beispielsweise sollte vor der Bereitstellung einer virtuellen Maschine geprüft werden, ob die darin installierte Software noch aktuell ist. Weiterhin sollte die Ausführungsumgebung Möglichkeiten bereitstellen, um die virtuelle Infrastruktur wirksam zu überwachen.
Die erste in dieser Dissertation vorgestellte Lösung ist das Konzept der Image Composition. Es beschreibt die Komposition eines kombinierten Disk Images aus mehreren Schichten. Dadurch können Teile der einzelnen Schichten, die von mehreren virtuellen Maschinen verwendet werden, zwischen diesen geteilt und somit der Speicherbedarf für die Gesamtheit der virtuellen Maschinen reduziert werden. Der Marvin Image Compositor ist die Umsetzung dieses Konzepts. Die zweite Lösung ist der Marvin Image Store, ein Speichersystem für virtuelle Maschinen, das nicht auf den traditionell genutzten Disk Images basiert, sondern die darin enthaltenen Daten und Metadaten auf eine effiziente Weise getrennt voneinander speichert. Weiterhin werden vier Lösungen vorgestellt, die die Sicherheit von virtuellen Maschine verbessern können: Der Update Checker ist eine Lösung, die es ermöglicht, veraltete Software in virtuellen Maschinen zu identifizieren. Dabei spielt es keine Rolle, ob die jeweilige virtuelle Maschine gerade ausgeführt wird oder nicht. Die zweite Sicherheitslösung ermöglicht es, mehrere virtuelle Maschinen, die auf dem Konzept der Image Composition basieren, zentral zu aktualisieren. Das bedeutet, dass die einmalige Installation einer neuen Softwareversion ausreichend ist, um mehrere virtuelle Maschinen auf den neuesten Stand zu bringen. Die dritte Sicherheitslösung namens Online Penetration Suite ermöglicht es, virtuelle Maschinen automatisiert nach Schwachstellen zu durchsuchen. Die Überwachung der virtuellen Infrastruktur auf allen Ebenen ist der Zweck der vierten Sicherheitslösung. Zusätzlich zur Überwachung ermöglicht diese Lösung auch eine automatische Reaktion auf sicherheitsrelevante Ereignisse. Schließlich wird ein Verfahren zur Migration von virtuellen Maschinen vorgestellt, welches auch ohne ein zentrales Speichersystem eine effiziente Migration ermöglicht