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

Gestion de programmes

Lors des expériences, il est apparut qu’il était assez facile de diffuser des programmes, dans notre cas des pages web en php, comme des objets à part entière.

Il faut deux choses.

La première c’est qu’il faut une page web de bootstrap (marche pied). C’est cette page qui va déterminer si il existe une page à afficher dans les objets, et la lancer. La page en question doit être un dérivé (lien F) de l’objet « nebule/objet/entite/webaccess/firstofall », et être de mime-type « application/x-php ».

Et il faut que le programme en question puisse se mettre à jour. Ce peut être fait en suivant les liens de mise à jour d’objet (lien U) du programme en question. On peut aussi suivre les nouveaux liens de l’objet « nebule/objet/entite/webaccess/firstofall » d’une autre entité. Ne reste plus qu’à téléchager le nouvel objet et mettre à jour sont propre objet « nebule/objet/entite/webaccess/firstofall ».

Continuer la lecture de Gestion de programmes

Messagerie social

Les objets que l’on échange, y compris les textes, sont perdus dans l’océan des objets dont nous disposons.

Que devient un message ou un objet transmit comme message?

Il est naturellement ajouté aux autres objets. Mais en plus, il a un lien signé par une autre entité, donc on peut considérer que cet objet est aussi lié à cette entité.

Ce lien implicite à une entité fait que cet objet a une visibilité par cette entité, en l’analysant on verra cet objet.

Poussons encore plus loin, et si on analyse tous les liens vers des objets que publie cette entité, que voit-on ?
On va voir dans l’ordre chronologique tout ce qu’elle a jugé intéressant à garder, les objets qu’elle a créé, tous les objets sur lesquelles elle est intervenu, les messages que l’on a échangé avec elle, etc…
Les messages (objets échangés) ne sont visibles que si ils sont publics, ou si ils sont chiffrés et que l’on est destinataire.

Cette vue, ce comportement, c’est presque celui des réseaux sociaux!

Relais et liens

Comment mettre à jour le contenu d’un relais?

Par principe, le relais (ou proxy) se contente de copier des objets. Mais aussi, de fait en tant qu’entité, en les copiant, il propose ces objets en diffusion (au téléchargement).

Quel est l’intérêt?
Cela permet à une entité source, par exemple un humain, de générer des objets et de les faire diffuser par des entités relais qu’il contrôle. Ainsi, il peut ne pas être en permanence accessible (volontairement ou pas). Ses objets restent accessibles si les relais le sont. Plusieurs relais peuvent diffuser les mêmes objets, on ajoute de la redondance et on cumule la bande passante de téléchargement pour quelqu’un qui télécharge un de ces objets, à la manière du P2P (peer to peer).

Continuer la lecture de Relais et liens

Big data et concept des 4 V

L’approche Big data est intéressante en plusieurs points, dont notamment le concept des 4 V.

L’expression Big data désigne des ensembles de données qui deviennent tellement gros qu’ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données. Continuer la lecture de Big data et concept des 4 V

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…

Fiches perforées

J’en vois beaucoup, et encore aujourd’hui, qui cherchent désespérément la meilleur arborescence possible pour ranger tous les documents du département. Ça part d’un bon sentiment, faire en sorte que les fichiers soient positionnés au bon endroit dans l’arborescence complexe de façon à ce que tout le monde puisse tout retrouver rapidement et facilement.

Certe l’effort est louable, mais encore faut-il que cette arborescence soit comprise par tout le monde. Et qu’elle de soit pas modifiée régulièrement lorsqu’il arrive des documents qui ne tiennent pas de places convenables dans l’arborescence actuelle, signe flagrant qu’elle n’est pas adaptée…

La modification de l’arborescence n’est pas un problème en soi si c’est pour rester au plus près des besoins, mais les humains ont la fâcheuse tendance à mémoriser l’emplacement (le chemin) plutôt que la logique d’accès. D’autant plus que chacun a sa propre logique pour le rangement des documents en fonction de ses besoins.

Bref, au final, au lieu d’être une aide, beaucoup s’y perdent…

Mais au fait, pourquoi en est-on arrivé là?

Continuer la lecture de Fiches perforées

R̩flexion РSyst̬me de fichiers

J’ai du temps à tuer aujourd’hui, ça tombe bien… voici une réflexion sur le système de fichiers :
http://wiki.nebule.org/nebule/index.php/R%C3%A9flexion_-_analyse_des_applications_communes_aux_%C3%A9changes_d%27information

02/04/2013 correction : lien = http://wiki.nebule.org/index.php/R%C3%A9flexion_-_analyse_des_applications_-_Syst%C3%A8me_de_fichiers