211service.com
Super synchronisation
Pendant des décennies, les technologues et les visionnaires tournés vers l'avenir ont supposé que la technologie donnerait naissance à une sorte de bibliothèque électronique d'Alexandrie. Dans ce scénario, les banques de données massives seraient des services d'information centralisés, avec un accès accordé par des flux de données bon marché, rapides et omniprésents. Dans Star Trek, par exemple, les membres de l'équipage ont utilisé un réseau sans fil pour relier leurs tricordeurs à l'ordinateur de bord du vaisseau Enterprise, cet entrepôt de toutes les choses intéressantes et pertinentes. Et l'Internet d'origine n'a pas été créé pour diffuser des informations, mais comme un système d'accès à distance massif, permettant aux chercheurs d'un endroit d'accéder à des ordinateurs situés ailleurs. Même le 1984 de George Orwell envisageait un monde dans lequel les enregistrements des nouvelles et des événements actuels étaient stockés dans relativement peu d'endroits ; c'est ainsi que Winston Smith a pu modifier le passé afin que les déclarations de Big Brother ne soient jamais fausses.
Mais la réalité prend une autre direction. Au lieu d'une connectivité omniprésente aux banques de données centralisées, nous construisons plutôt une infrastructure optimisée pour les données réplication . Les mêmes informations sont copiées dans des dizaines, des centaines ou même des milliers d'endroits à travers le monde, et elles sont tenues à jour grâce à des retransmissions et des mises à jour continuelles. Les humains travaillent instinctivement de cette façon - c'est pourquoi les personnes qui collaborent sur un projet ont tendance à échanger des documents par e-mail plutôt que de les mettre sur un serveur central. Après tout, parfois nous sommes connectés à l'un de ces référentiels de données sur un réseau rapide, parfois nous sommes connectés sur un réseau lent, et parfois nous ne sommes pas connectés du tout. Les gens aiment avoir leurs propres copies, puis les garder à jour en invoquant un concept incroyablement puissant appelé synchronisation.
Cette histoire faisait partie de notre numéro de novembre 2001
- Voir le reste du numéro
- S'abonner
Sync (abréviation de synchronisation) consiste à pouvoir prendre des données à partir d'un emplacement et les copier intelligemment là où cela est nécessaire. Et plus important encore, la synchronisation consiste à suivre les modifications. Un bon système de synchronisation vous permet, à vous ou à d'autres, de modifier librement le document original ou les copies, puis de faire en sorte que vos modifications se propagent automatiquement là où elles sont nécessaires. Le meilleur de ces systèmes suit les modifications au fur et à mesure qu'elles sont apportées et permet des annulations sophistiquées, par exemple, la restauration des données telles qu'elles étaient à une date particulière ou la suppression de toutes les modifications apportées par un auteur particulier. La synchronisation n'est pas une idée nouvelle, mais elle n'a commencé à émerger que récemment comme une partie cruciale du fonctionnement des systèmes informatiques. La technologie de synchronisation va vraiment donner le ton pour l'informatique future.
Aujourd'hui, la principale plate-forme de synchronisation est le système d'exploitation Palm, que j'ai loué dans le passé. En fait, l'une des principales raisons de la popularité du Palm est sa technologie HotSync. Les utilisateurs de Palm peuvent ajouter, supprimer ou modifier leurs carnets d'adresses, calendriers de rendez-vous ou autres bases de données sur leur bureau ou sur leurs ordinateurs Palm. Placez le Palm dans son support et appuyez sur le bouton HotSync, et les modifications sont automatiquement répliquées sur l'autre machine.
Mais HotSync ne s'arrête pas là. Vous pouvez, par exemple, synchroniser plusieurs ordinateurs de bureau avec le même Palm, permettant aux personnes de votre domicile et de votre travail d'accéder et de mettre à jour votre calendrier, même s'il n'y a pas de connexion réseau entre eux. Tout ce que vous faites est de transporter le Palm entre la maison et le bureau, en le synchronisant aux deux emplacements ; le logiciel intelligent fait le reste. Si vous oubliez de synchroniser, ce n'est pas un problème - la prochaine fois, le système s'ajuste automatiquement.
Bien sûr, la technologie de synchronisation va bien au-delà du Palm et bien au-delà du PC de bureau d'une personne. Un programme de synchronisation appelé Concurrent Versions System est à l'origine de nombreux projets de développement de logiciels réussis, des petites entreprises où quelques programmeurs travaillent sur le même projet aux efforts de collaboration open source à grande échelle impliquant des centaines ou des milliers de programmeurs. Cette technologie permet à de nombreuses personnes de travailler sur le même programme en même temps. Chaque programmeur possède une copie personnelle du logiciel en cours de développement. Un programmeur qui ajoute une nouvelle fonctionnalité ou corrige un bogue peut valider cette modification dans le référentiel du projet. D'autres programmeurs, que ce soit au bout du couloir ou à travers le monde, peuvent alors mettre à jour leurs copies et appliquer automatiquement les modifications. Auparavant, il était fastidieux pour plus d'une personne de travailler sur un seul programme en même temps. Mais maintenant, le développement et la correction de bogues simultanés sont la règle plutôt que l'exception. Le système de versions concurrentes, basé sur le concept de synchronisation, a considérablement accéléré le développement de logiciels.
Pour les programmeurs open source cherchant à rivaliser avec les logiciels commerciaux, la synchronisation a été une malédiction ainsi qu'une bénédiction. Il est extrêmement difficile de concevoir des applications qui se synchronisent correctement. Les systèmes de synchronisation avancés intégrés aux logiciels de base de données commerciaux comme Oracle permettent de créer d'énormes fermes de bases de données en reliant un grand nombre de serveurs synchronisés. Jusqu'à présent, les principales bases de données open source telles que PostgreSQL et MySQL ne fournissent qu'une prise en charge limitée de la synchronisation des bases de données. Les systèmes open source rattraperont probablement leur retard un jour prochain, mais la technologie est intrinsèquement difficile à développer.
Parfois, la source d'informations synchronisée est une cible mouvante. Considérez Usenet, le système de babillard mondial d'origine. Lorsque deux serveurs Usenet se connectent, ils synchronisent essentiellement leurs articles. Si un article se trouve sur une machine mais pas sur l'autre, une copie est effectuée pour éliminer l'écart. En 1991, John Gilmore, l'un des fondateurs de l'Electronic Frontier Foundation, a déclaré que Usenet interprète la censure comme un dommage et un moyen de la contourner. Ce qu'il voulait dire, c'est ceci : toute université ou entreprise qui n'aime pas les articles publiés sur Usenet peut les supprimer de son serveur, mais comme les articles circulent à travers le réseau dans son ensemble, aucune institution ne peut empêcher la diffusion d'informations dans le monde. .
Ces dernières années, la citation de Gilmore a été réinterprétée par de nombreux journalistes comme faisant référence à Internet plutôt qu'à Usenet. Malheureusement pour Gilmore et la cause de la liberté d'expression, cette modification rend la citation inexacte. Lorsque des articles sont publiés à partir d'un site Web, au lieu d'utiliser Usenet, ils sont en effet distribués à partir d'un emplacement central - et cet emplacement central peut être soumis à la censure ou à d'autres formes de pression politique.
Les opérations d'échange de fichiers en ligne comme Napster et Gnutella ne sont en réalité que de très gros services de synchronisation. Les utilisateurs ont leur propre vision de la musique ou des autres fichiers qu'ils veulent, et ils se synchronisent et se synchronisent jusqu'à ce qu'ils soient satisfaits. Ici, la synchronisation ne s'applique pas à un fichier individuel mais à une collection. Les résultats, cependant, sont sensiblement les mêmes.
Le téléchargement de musique à partir d'un service de partage de fichiers est fondamentalement différent du téléchargement d'informations sur le Web. Dans le cas du Web, très peu de lecteurs conservent et redistribuent leurs propres copies à long terme. C'est pourquoi Napster et ses descendants menacent l'industrie musicale ; comme l'a montré Usenet, il peut être extrêmement difficile d'arrêter la propagation des données via un système de synchronisation à grande échelle. En effet, l'un des grands avantages de la synchronisation est la redondance : même si la copie principale est effacée, la synchronisation laisse invariablement de nombreuses autres copies. Ce phénomène rend difficile pour les étrangers d'éradiquer ou de contrôler les informations partagées par la synchronisation.
Comprendre les utilisations et la puissance de la synchronisation est essentiel pour prédire avec précision la direction dans laquelle Internet et le commerce électronique sont susceptibles de se développer. La plupart des gens apprécient la sécurité d'avoir des données à plusieurs endroits et la vitesse d'avoir les données immédiatement disponibles sur leurs propres ordinateurs. Par conséquent, les produits et services offrant une synchronisation s'en tireront probablement mieux sur le marché que des services à prix similaire offrant un accès haut débit aux données stockées sur des systèmes distants. Les gens ne veulent pas simplement puiser dans un flux de données ; ils veulent avoir leur propre copie de l'information, et ils veulent qu'elle soit tenue à jour. Cela a de larges implications pour tout, de la vidéo à la demande à la banque à domicile. Cela fait des années que je fais des opérations bancaires par Internet avec le logiciel Quicken d'Intuit : tous les quelques jours, je télécharge les transactions et les corrections les plus récentes de mon compte sur Internet et les ajoute à mon registre. Ma banque me permet également de consulter l'intégralité de mon relevé sur Internet. Est-ce que je cesserais de télécharger les transactions par elles-mêmes ? Pas sur ta vie, je me sens plus en sécurité en gardant ma propre copie.
La synchronisation a également un sens économique. Avec la synchronisation, vous n'êtes pas si dépendant d'une connexion Internet haut débit coûteuse, toujours active. Vous pouvez obtenir à peu près le même effet avec un stockage local et des connexions réseau lentes ou même intermittentes. Sync reflète vraiment la façon dont le monde a été construit, par opposition à la façon dont les experts et les ingénieurs pensaient qu'il serait.
En fait, même la bibliothèque d'Alexandrie a été construite grâce à la synchronisation. Chaque navire qui accostait à Alexandrie était recherché à la recherche de parchemins : s'il en trouvait, le navire n'était pas autorisé à partir tant que les parchemins n'étaient pas copiés. Hélas, les centaines de milliers de rouleaux de la bibliothèque ont été perdus lorsqu'ils ont été brûlés par Jules César en 47 avant notre ère parce qu'ils n'ont pas synchronisé de sauvegarde.
