The document discusses the history of service discovery technologies and protocols such as Zeroconf, Bonjour, and JmDNS, which aim to make it easy for devices and services to automatically connect and communicate without a centralized authority. It provides an overview of these protocols and how they work, as well as examples of using JmDNS in Java applications to publish and discover services on a local network.
How to use Bonjour in Java
The slides show you how to create bonjour based services on server site and use them on client site. All examples are completely written in Java.
ZeroConf is a protocol that helps us advertising a service or discovering the available services in our networks. This is how Chromecast works, but why don’t we go deeper?
- What is ZeroConf
– Why is it needed
– Discovery VS Advertising
– What are the different implementations that we can find on Android
– And on server side?
– Small demo and code show
If you have an electric lamp, you can plug it anywhere in electric socket and it is expected to work. Could we think the same way for computers? Could we connect our laptop to any Network and make use of the devices available on that network including printer, scanner etc. The answer is YES, we can do it with help of Zero Configuration networking. Zero Configuration networking is a set of protocols which are used together to make devices talk to each other on the same Network, without any DHCP or DNS server. This is has numerous applications including Wake-on-Lan services. In 1980’s, AppleTalk was handling this scenario for Macs which are connected together with LocalTalk cabling. Later on, it was extended to AppleTalk over Ethernet. Currently we have several implementations of Zero Configuration Networking including Apple’s Bonjour, Windows LLMNR, Avahi, Presto etc.
How to use Bonjour in Java
The slides show you how to create bonjour based services on server site and use them on client site. All examples are completely written in Java.
ZeroConf is a protocol that helps us advertising a service or discovering the available services in our networks. This is how Chromecast works, but why don’t we go deeper?
- What is ZeroConf
– Why is it needed
– Discovery VS Advertising
– What are the different implementations that we can find on Android
– And on server side?
– Small demo and code show
If you have an electric lamp, you can plug it anywhere in electric socket and it is expected to work. Could we think the same way for computers? Could we connect our laptop to any Network and make use of the devices available on that network including printer, scanner etc. The answer is YES, we can do it with help of Zero Configuration networking. Zero Configuration networking is a set of protocols which are used together to make devices talk to each other on the same Network, without any DHCP or DNS server. This is has numerous applications including Wake-on-Lan services. In 1980’s, AppleTalk was handling this scenario for Macs which are connected together with LocalTalk cabling. Later on, it was extended to AppleTalk over Ethernet. Currently we have several implementations of Zero Configuration Networking including Apple’s Bonjour, Windows LLMNR, Avahi, Presto etc.
A talk about me discovering new architectures, new ways of building scalable realtime platforms #SIP #WebRTC #Kamailio #MQTT #NODERED
Watch it live at https://www.youtube.com/watch?v=BbfUXUWtxIg
IPv6 Autoconfig full process from initial configuration of IPV6 Node. Refreshment of IPv6 Addresses using RA or DHCPv6. How to keep your home config everywhere you go and only logout when you want to, not when you move to a new access point.
The Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet
Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP
addresses for interfaces and services. With DHCP, computers request IP addresses and networking
parameters automatically from a DHCP server, reducing the need for a network administrator or a user
to configure these settings manually.
Short presentation about how RackN is creating bare metal data center automation for enterprise and edge infrastructure at the most basic level.
Includes a video of Rob giving the presentation
Overview of the BonAHA framework for applications running in opportunistic wireless ad-hoc networks. Uses Apple's Bonjour (ZeroConf) technology. This was a presentation given to my lab.
What is Digital Rebar Provision (and how RackN extends)?rhirschfeld
Walks through how Digital Rebar Provision rethinks bare metal automation beyond simple O/S install into an integrated workflow system for building data center underlay.
INCLUDES VIDEO OF PRESO
The advantages of Arista/OVH configurations, and the technologies behind buil...OVHcloud
Arista will put an emphasis on the technologies behind building and operating datacentres, and the reasons they give the results expected from them (varied traffic spike management, increasing bandwidth, end points and security), including very large-scale production environments.
A talk about me discovering new architectures, new ways of building scalable realtime platforms #SIP #WebRTC #Kamailio #MQTT #NODERED
Watch it live at https://www.youtube.com/watch?v=BbfUXUWtxIg
IPv6 Autoconfig full process from initial configuration of IPV6 Node. Refreshment of IPv6 Addresses using RA or DHCPv6. How to keep your home config everywhere you go and only logout when you want to, not when you move to a new access point.
The Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet
Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP
addresses for interfaces and services. With DHCP, computers request IP addresses and networking
parameters automatically from a DHCP server, reducing the need for a network administrator or a user
to configure these settings manually.
Short presentation about how RackN is creating bare metal data center automation for enterprise and edge infrastructure at the most basic level.
Includes a video of Rob giving the presentation
Overview of the BonAHA framework for applications running in opportunistic wireless ad-hoc networks. Uses Apple's Bonjour (ZeroConf) technology. This was a presentation given to my lab.
What is Digital Rebar Provision (and how RackN extends)?rhirschfeld
Walks through how Digital Rebar Provision rethinks bare metal automation beyond simple O/S install into an integrated workflow system for building data center underlay.
INCLUDES VIDEO OF PRESO
The advantages of Arista/OVH configurations, and the technologies behind buil...OVHcloud
Arista will put an emphasis on the technologies behind building and operating datacentres, and the reasons they give the results expected from them (varied traffic spike management, increasing bandwidth, end points and security), including very large-scale production environments.
respond_to :voice - the convergence of voice and web interfaces with Rails an...jpalley
Presented at RailsConf 2007, this presentation introduces the Telegraph plugin for briding Asterisk and Rails.
Telegraph brings the beauty of Rails programming to the VoIP world. It reshapes the mess of the Asterisk API into MVC cleanliness allowing the rapid development of Rails based voice and web applications.
Production high-performance networking with Snabb and LuaJIT (Linux.conf.au 2...Igalia
By Andy Wingo.
It used to be that to set up a serious network, you needed to stock racks and racks with specialized proprietary single-purpose boxes. This was because only specialized hardware could handle the hundreds of gigabits per second that might flow through any given box.
Things have changed. With the rise of cheap commodity Xeon-based servers and widespread availability of 10 gigabit network cards, an off-the-shelf server with a few NICs can now handle the workload. The age of open source software-driven routers is fully here -- but it doesn't look like what we thought it would, 10 years ago.
We thought it would be Linux everywhere, but it turns out that Linux's networking stack is just too slow. To get around this problem, modern high-speed software switches bypass the kernel entirely, instead booting network cards and handling traffic entirely from user-space. The up-side of this is that now we have the possibility of using pleasant, hackable, open source, standalone software stacks to deliver network applications that are tailored to specific needs.
This talk presents Snabb, a toolkit for building user-space network functions. Snabb is entirely written in the expressive Lua language, minimizing the amount of code that you have to write to get stuff done. Snabb specifically uses the LuaJIT implementation of Lua, giving us excellent code generation as
well as efficient access to low-level binary data and AVX2 assembly generation.
Snabb's goal is to be "rewritable software": software that's so simple that you could explain it to someone and they could write their own. By the end of the presentation, you too should have this feeling.
We will also describe how Snabb is used in practice in major telecoms and ISPs to provide IPv6 transition technologies to entire countries. Using Snabb allowed a small team of open-source hackers to ship a product that competed favorably
against offerings from traditional network vendors.
(c) linux.conf.au 2017, CC-BY-SA
Hobart, 16-20 January 2017
https://linux.conf.au
Troubleshooting Dual-Protocol Networks and Systems by Scott Hogg at gogoNET L...gogo6
gogo6 IPv6 Video Series. Event, presentation and speaker details below:
EVENT
gogoNET LIVE! 3: Enterprise wide Migration. http://gogonetlive.com
November 12 – 14, 2012 at San Jose State University, California
Agenda: http://gogonetlive.com/4105/gogonetlive3-agenda.asp
PRESENTATION
Troubleshooting Dual-Protocol Networks and Systems
Abstract: http://www.gogo6.com/profiles/blogs/my-presentation-at-gogonet-live-3-troubleshooting-in-a-dual-stack
Presentation video: http://www.gogo6.com/video/troubleshooting-dual-protocol-networks-and-systems-by-scott-hogg
Interview video: http://www.gogo6.com/video/interview-with-scott-hogg-at-gogonet-live-3-ipv6-conference
SPEAKER
Scott Hogg - Director of Advanced Technology Services, GTRI
Bio/Profile: http://www.gogo6.com/profile/ScottHogg986
MORE
Learn more about IPv6 on the gogoNET social network
http://www.gogo6.com
Get free IPv6 connectivity with Freenet6
http://www.gogo6.com/Freenet6
Subscribe to the gogo6 IPv6 Channel on YouTube
http://www.youtube.com/subscription_center?add_user=gogo6videos
Follow gogo6 on Twitter
http://twitter.com/gogo6inc
Like gogo6 on Facebook
http://www.facebook.com/pages/IPv6-products-community-and-services-gogo6/161626696777
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2024.06.01 Introducing a competency framework for languag learning materials ...
JmDNS : Service Discovery for the 21st Century
1. JmDNS : Service
Discovery for the
21st Century
B r i a n S l e t t e n
B o s a t s u C o n s u l t i n g , I n c
b r i a n @ b o s a t s u . n e t
N o F l u f f J u s t S t u f f
2 0 0 6
2. Speaker
Qualifications
12 years of software development
experience
Have own software consulting company for
design, mentoring, training and
development
Work with Semantic Web, Aspect-Oriented
Programming, Grid Computing
5. finding things in the
past
Configuration Files (ick!)
DNS (requires central authority, hostname
only -- no ports)
Directory Services
AppleTalk (chatty “has been”)
JINI (Java-only, central services)
JXTA (steep learning curve)
6. ad hoc networking
too hard
Law Offices, Schools, etc. do not always
have sufficient IT personnel
Home networking is even worse!
Could your grandma set up a DNS
server?
LDAP at home?
What is so hard about two devices talking?
7. Protocol Design
Goals
Internet Protocol (IP) was designed to be
interoperable, extensible and scalable
Propietary protocols (AppleTalk,
NetBIOS/SMB, IPX) were designed
around local network features and
decentralized discovery
8. AppleTalk
Ahead of its time -- focused on services, not
devices
Too chatty for large networks
Not based on IP
Support persists but waned with Apple’s
pre-OS X fortunes
9. DHCP
Solves some of the problem
Dynamic address allocation
Great for clients
Client-Server sessions are easy to
regenerate
Not-so-great for servers
10. DHCP (Cont)
However, still focuses on hardware, not
services (i.e. capabilities)
Users care about ‘printing’ and ‘sharing
files’ and listening to ‘music’
How to publish? find? bind?
11. JINI
Showed a lot of early promise for finding
devices and services on a network
Problems:
Required Java (harder to embed on
devices, at least historically)
Required Central Services
Tried to proscribe service hierarchies
12. JXTA
Bill Joy Brain-Sibling to JINI
Multi-language/Multi-Platform
Huge Learning Curve
Although it has languished, good things
might still come from the JXTA world
15. Zeroconf History
Began out of discussions on a mailing list in
1997
Interested people got together at IETF BOFs
ZeroConf WG was formed in 1999
16. Zeroconf Goals
Allocate addresses without a DHCP Server
Translate names and IP addresses without a
DNS Server
Find services without a directory server
Reuse existing technologies, infrastructure
and expertise
17. Zeroconf
Technologies
IPv4 Link-Local Addressing
Multicast DNS
DNS Service Discovery
18. IPv4 link-local
Addressing
Uses 169.254/16 prefix for “local links”
Between 169.254.1.0-169.254.254.255
Reserved by IANA for this purpose
Links are local when
Host A sends a packet that arrives
unmodified (i.e. no TTL decrements)
19. IPv4 link-local
Addressing (cont)
Hosts should not use “link-local” and
routable addresses at the same time
Will use an IP address from DHCP if one
is available
20. IPv4 Link-Local
Process
Generate an address using a PRNG
(preferably seeded w/ MAC address or
something uniqueish)
ARP Probe for conflict
Claim address on success
Defend address on future conflict (ARP)
Must relinquish if conflict persists
21. multicast dns
Designed to allow naming lookups without
central server
Introduces .local domain
DNS is IETF technology so they are
responsible, not ICANN
22. Multicast DNS
(Cont)
Queries are sent to 224.0.0.251 on port 5353
Uses multicast broadcasts but is well-
designed to minimize chattiness
Hosts listen to changes and can cache
results
To avoid pig-piling new queries, mDNS
responders delay responses by random
value to see if someone else will respond
23. Query Types
One Shot
“Just give me something”
One Shot - Accumulate Results
“Stick around for multiple results”
Continuous Query
“Keep on keepin’ on”
24. Avoiding Chattiness
Known Answer Suppression
Passive Caching/Listening
Exponential Decay Rates
TTL Expirations
New peers announce themselves
25. Claiming the Name
Pick a name (user-specified?)
Put together a DNS A Record
Perform T_ANY query to find any other
records with same name
Upon success (no conflicts), announce to
the world who you are
26. Clients and Services
Users care about relevant services not all
that are available
Printer around the corner
My wife’s Excellent iTunes Music
Collection
SSH into development server
27. dns service
discovery (DNS-SD)
No changes to DNS structures
Use DNS PTR queries to find SRV records
that match service instance pattern
<instance>._protoname._transport.<domain>
Use TXT records for parameters
28. DNS-SD Goals
Service Instance Enumeration
Service Name Resolution
Somewhat persistent
Here today, here tomorrow
Simple to implement
29. DNS-SD Service
Instance
Browsing Service Instances
“Leaves in a tree”
<domain>.<service>.<instance>
Name compression in responses
30. DNS-SD Txt Records
Up to 65535 bytes
Packed representation of zero or more
strings
31. DNS-SD TXT Records
(Cont)
Name=Value Pairs
Not present
No value (“Debug”)
Empty value (“Debug=”)
Non-Empty value (“Debug=verbose”)
32. DNS-SD Query
Example
_ftp._tcp.example.org
_http._tcp.example.org
_ipp._tcp.example.org
_daap._tcp.Carini.local
_tivo_servemedia._tcp.Carini.local
37. History
AppleTalk released initially in mid-80’s
Very popular on smallish networks
Part of what made Macs ‘just work’
Apple wanted to replace functionality with
protocol that fits in modern networks (i.e.
IP-based)
38. Open Source
Apple wants to encourage the use of
Bonjour so it open sourced it
Includes support for OS X, Windows,
Windows CE, Linux, VxWorks
http://developer.apple.com/networking/bonjour
39. Apple’s use of
Bonjour
Name Service Name Service
AppleTalk Filing Protocol (AFP) _afpovertcp._tcp Line Printer Daemon (LPD/LPR) _printer._tcp
Network File System (NFS) _nfs._tcp Internet Printing Protocol (IPP) _ipp._tcp
WebDAV File System (WEBDAV) _webdav._tcp PDL Data Stream (Port 9100) _pdl-datastream._tcp
File Transfer Protocol (FTP) _ftp._tcp Remote I/O USB Printer Protocol _riousbprint._tcp
Digital Audio Access Protocol
Secure Shell (SSH) _ssh._tcp _daap._tcp
(DAAP)
Digital Photo Access Protocol
Remote AppleEvents _eppc._tcp _dpap._tcp
(DPAP)
Hypertext Transfer Protocol
_http._tcp iChat Instant Messaging Protocol _presence._tcp
(HTTP)
Trivial File Transfer Protocol
_tftp._udp Airport Base Station _airport._tcp
(TFTP)
Remote Login (TELNET) _telnet._tcp Xserver RAID _xserveraid._tcp
Remote Audio Output Protocol
_raop._tcp Apple Remote Desktop (ARD) _net-assistant._tcp
(RAOP)
43. JmDNS
Open Source project started by Arthur van
Hoff while at Strangeberry
Renamed from JRendezvous for legal
reasons, moved to SourceForge and taken
over by Rick Blair and Werner
Randelshofer
Pure-Java implementation of ZeroConf
44. JmDNS (cont)
Progress has slowed but it is relatively
stable and useful
Passes Apple’s Rendezvous (Bonjour)
Conformance tests
Supports service registration and discovery
45. JmDNS Class
Main entry point to the JmDNS subsystem
import javax.jmdns.JmDNS;
.
.
.
JmDNS jmdns = new JmDNS();
System.out.println(”Host: “ + jmdns.getHostName() );
System.out.println(”Interface: “ + jmdns.getInterface() );
ServiceInfo si[] = jmdns.list(”_http._tcp.local.”);
jmdns.addServiceTypeListener( new MyServiceTypeListener() );
46. ServiceInfo Class
Encapsulates info about a JmDNS Service
import javax.jmdns.ServiceInfo;
.
.
.
ServiceInfo
System.out.println(”Host: “ + jmdns.getHostName() );
System.out.println(”Interface: “ + jmdns.getInterface() );
ServiceInfo si[] = jmdns.list(”_http._tcp.local.”);
System.out.println(”Service 0 : “ + si[ 0 ].getServer() + “--”
+ si[ 0 ].getPort() + “--” + si[ 0 ].getNiceTextString() );
52. What’s a FOAF?
“The Friend of a Friend (FOAF) project is
about creating a Web of machine-readable
homepages describing people, the links
between them and the things they create
and do.”
53. FOAF
Based on RDF and is used to express things
like:
“My name is...”
“I work for...”
“I am interested in...”
“Here’s my goofy picture...”
54. FOAF and WebPages
FOAF can help capture relationships, links,
etc. for finding resources of interest, like-
minded individuals, etc.
Think Orkut + Craig’s List
55. FOAFFinger
Damian Steer put together a JmDNS-
based app to find people on local links
Uses a custom application protocol:
_foafcon._tcp.local.
Reuses HTTP for transport -- good idea!