L’internet des objets et les objets de l’internet

Les objets physiques qui peuplent notre environnement habituel ont une caractéristique particulière, ils sont uniques. On peut certes faire une copie, voire reproduire un objet en plusieurs millions d’exemplaires, chaque objet restera unique avec sa matière propre et ses défauts propres. Chaque objet peut être ainsi assemblé, remodelé ou refondu dans un autre objet, cela n’a aucun impact sur ses congénères.

Et les objets du monde numérique?
Ceux-ci ont l’équivalent d’une forme propre comme un objet physique. On peut distinguer un objet numérique d’un autre par cette forme que l’on appellera plutôt empreinte, mais aussi par sa localisation. La localisation est souvent représenté par un identifiant dans une arborescence ou sur un réseau, c’est un classement humanisé et peu fiable. Ainsi cette dualité de l’objet dans l’espace numérique a une conséquence importante immédiate, le même objet exactement peut exister simultanément en plusieurs endroits. Il faut donc considérer que chaque emplacement de l’objet reçoit une copie exacte de l’objet, c’est à dire sans altération, sinon cela devient un autre objet.

Continuer la lecture de L’internet des objets et les objets de l’internet

Compressibilité des liens

Les expériences autour de nebule se font aujourd’hui via des échanges en html. Il pourront se faire plus tard via tout protocole d’échange. indépendamment du stockage des liens, il sera utile de les compresser lors de leur transmission pour gagner de la bande passante réseau. Continuer la lecture de Compressibilité des liens

NÅ“uds

Le nœud est la rencontre de plusieurs chemins convergents/divergents. Cette rencontre est matérialisé par une liaison forte entre ces différents chemins.

La nébuleuse des objets a besoin d’une architecture locale avec des points de convergence forts. Ce sont des nÅ“uds. Ils permettent d’architecturer, d’organiser les liens entres objets, et donc de canaliser les partages d’informations.

Agencement du registre de lien

La forme du lien est-elle optimale?

TimeStamp-Action-HashSource-HashCible-HashMeta-Signataire-Signature

Avec HashCible et HashMeta facultatifs.

Le Signataire et la Signature (obligatoirement présente mais éventuellement nulle) sont deux éléments indissociables et à la fin. Ils valident ainsi le (reste du) lien. Continuer la lecture de Agencement du registre de lien

Impersonnalité, commutabilité et liens

La mutualisation de certains objets métas pour relier un objet à une propriété particulière, et notamment pour lui donner un type, nécessite une certaine forme d’abstraction.

Plusieurs questions sont en attente :

  1. Comment se présente le contenu d’un objet méta ?
  2. Quel vocabulaire pour l’objet méta ?
  3. La commutabilité des éléments d’un lien sont-ils possibles ?
  4. Comment représente-t-on l’impersonnalité dans l’objet méta ?
  5. Quelles contraintes sur le lien ?

Continuer la lecture de Impersonnalité, commutabilité et liens

Liens doubles

(Suite du post Liens simples ou doubles?)

Le problème semble insoluble avec les liens simples pour partager efficacement de l’information sans être dépendant d’un nÅ“ud populaire. Que peut-on faire pour ré-équilibrer le sens de transfert des liens?

La notion d’arborescence convergente est une propriété intéressante, mais gagnerait à fonctionner dans les deux sens. C’est à dire d’être à la fois convergente vers de gros nÅ“uds du réseau, est d’être en même temps divergente en partant de ces gros nÅ“uds. Continuer la lecture de Liens doubles

Horodatage

Le marquage du temps est un élément primordial dans l’échange d’informations.

Un lien créé vers un objet doit contenir une marque de temps de cette création. Cet horodatage ne semble pas utile au première abord, mais il est nécessaire si l’on veut ensuite pouvoir casser ce lien.

Une information, et donc un lien, doit être considéré comme non effaçable une fois créé. Cette information ayant été à priori diffusée, on en perd le contrôle, et donc la capacité de suppression. A défaut d’être effacé, cette information doit être désactivable. Dans le cas du lien, on le désactive aussi. Cette désactivation sera à son tour diffusée, et de la même façon on en perdra le contrôle.

La création d’un lien doit être vue comme la création de l’objet lien doublé d’une opération de signature cryptographique de ce même objet lien. L’entité validant ainsi le lien de façon forte, sa désactivation doit aussi être faite par une méthode forte, c’est à dire doublée d’une opération de signature cryptographique (par le même signataire en fait).

La désactivation doit aussi être horodaté, pour deux raisons. La première pour simplement savoir quand elle a été faite. La deuxième pour que l’on puisse sans ambiguïté savoir si cette désactivation intervient bien après la création. Et ainsi de suite, le lien ou toute information peut être validé et invalidé plusieurs fois de suite dans le temps.

Le marqueur de temps doit être couvert par la signature. Il doit être systématiquement présent avec la signature.

Référence de temps

Nous avons besoin aujourd’hui de tous avoir le même espace de temps pour pouvoir communiquer et travailler ensemble. Cette état de fait pose déjà le problème de la référence de temps, nous devons avoir la même heure.

Mais cette nécessité de tous travailler avec la même heure se heurte aux grandes distances et les décalages horaires que cela implique bien que les communications n’en soient que peu affectées.

Et comment fait-on si, indépendamment du décalage horaire, deux entités décident volontairement de ne pas travailler avec la même référence de temps? Et si en plus l’unité de temps est différente?

Une première approximation de ce que à quoi on peut s’attendre se pose sous la forme d’une équation du premier degré :

Tv = a Ti + b

Le temps vu Tv est calculé par rapport au temps interne Ti affecté d’un coefficient a et corrigé par un décalage b.

Dans la vraie vie, il faut beaucoup d’efforts pour approcher une synchronisation parfaite entre deux entités. A l’échelle d’un pays, c’est impossible, on se contente de quelques secondes voir quelques minutes de décalage horaire entre toutes les entités. Et chaque horloge interne souffrant d’une dérive plus ou moins grande, il faut régulièrement calculer et compenser cette dérive. Même tous d’accord, nous avons bien notre coefficient a et notre décalage b.

Et encore, on considère là que l’horloge interne de chaque entité est stable dans le temps…

Marqueur de temps

On peut continuer à essayer d’être tous calés sur la même référence de temps. Ou on peut prendre le problème en sens inverse, prendre en compte que chacun a son heure de fonctionnement propre, et calculer quand nécessaire la correction du datage des objets.

Il faut cependant dans ce cas qu’un ou plusieurs liens existent entre les différentes entités, liens qui permettent de calculer de décalage de temps. C’est le rôle du marqueur de temps qui date et signe un objet généré par une entité, objet qui contient sa date de création. Ou du marqueur de temps qui génère régulièrement des objets horodatés que toutes entité peut dater/signer.

Cette méthode nécessite cependant une certaine coopération entre les deux entités. Il y a peut-être moyen de disposer d’une méthode proche par signatures d’objets communs et qui marcherait même en mode non coopératif.

La suite au prochain épisode…

Liens et méta-données

Quand dans un objet A il est fait référence à un autre objet B au moyen d’une URL, cela correspond à la mise en place d’un lien entre ces deux objets A et B. Ce lien est par défaut à sens unique, il désigne un autre objet.

Mais un lien n’existe jamais seul dans le monde réel, il est souvent accompagné d’informations complémentaires. Ces informations complémentaires permettent de préciser la façon dont on accède et/ou on utilise l’objet désigné. Cela s’appelle une méta-donnée, une donnée sur la donnée (raccourci en méta).

Cette méta s’applique-t-elle à l’objet désigné? Ou au lien?

Continuer la lecture de Liens et méta-données

Liens simples ou double?

Actuellement, le lien (ou raccourci) permet de pointer ou désigner un fichier, une page, etc… Il est positionné à un endroit de l’arborescence ou d’internet et pointe vers une cible ailleurs dans la même arborescence, dans une autre arborescence, ou sur internet.

Ce lien contient forcément la localisation univoque d’une cible, mais peut aussi en option contenir des informations sur la cible, une façon particulière de l’utiliser, de la traiter, etc… En clair, des méta-données sur le lien proprement dit. Continuer la lecture de Liens simples ou double?

Repérage chronologique

Comment retrouver rapidement les objets récemment créés?

La méthode habituelle, la première à laquelle on pense, c’est de parcourir l’intégralité des objets afin de vérifier le(s)quel(s) sont récents.

Oui mais… Continuer la lecture de Repérage chronologique

Annuaires

La façon dont les objets sont liés entre eux est importante. Mais il y a aussi la façon dont les entités sont liées entre elles. Les liens entre ses entités suivent-ils la forme des liens entre objets? A priori oui, puisque une entité est avant tout un objet aussi.

Un autre problème qui lui est spécifique aux entités, c’est la localisation. C’est à dire la façon de retrouver une entité dans un vaste réseau. C’est le rôle de ce que l’on appelle un annuaire. Cela doit être vu comme un système similaire au DNS dans sa fonction.

Suite à un article fort intéressant sur un blog, je me rends compte que le problème est plus difficile qu’il n’en a l’air.

Pour résumer et pour reprendre l’article de Wikipedia sur le triangle de Zooko, un système de nommage ou un système d’annuaire doit :
1: Secure, doit être sécurisé.
2: Memorable, doit être facilement mémorisable par un être humain.
3: Global, doit garantir l’unicité.

Jusque là, rien de nouveau sous le soleil, sauf que l’article précise aussi que l’on ne peut satisfaire qu’à deux des trois conditions simultanément au maximum.

On peut ajouter aussi, en autre (cf premier lien), l’aspect stabilité dans le temps. Je pense que, l’entité pouvant être mobile, seule la stabilité dans le temps de l’unicité de l’entité est à assurer. Or, c’est déjà le rôle de l’identifiant unique (clé privé) de l’objet entité.

Je serais bien tenté de penser que pour Nebule, l’aspect globale est le moins « nécessaire ». Quoique l’aspect user friendly peut être dévolu à une autre fonction, dans ce cas l’annuaire s’assure juste de faire le lien entre entité et ressources physiques (réseau). A voir…

Continuer la lecture de Annuaires

Vote électronique

Je ne suis pas très familiarisé avec les problèmes légaux liés au vote électronique, donc sans le petit bout de papier. Mais il semble que les polémiques actuelles sur les équipements testés tiennent surtout à la façon dont ceux-ci sont conçus.
Et surtout, les critiques tournent autour de l’utilisation de logiciels fermés, donc dont le fonctionnement ne peut être vérifié par tout citoyen. Comment peut-on être sûr que la machine de plante pas, comptabilise bien les votes, et surtout les comptabilise bien à la bonne personne? Voir, comment vérifier que personne n’a faussé le score (nécessite un re-décomptage)?

Continuer la lecture de Vote électronique