Concernant l'utilisation d'un cache, j'y crois moyen. L'exemple de google où toutes les machines sont identiques prouvent que c'est possible.
J'imagine que FineFS est utilisé sur les serveurs web également en front-end pour être toujours en accès fichiers local.
Quel serait l'intérêt d'un cache ? Si ce n'est rajouter une couche à FineFS pour simuler un comportement différent dans certain cas.
Autant gérer un cache RAM au niveau de FineFS, non ? (voir s'arranger pour que linux dessous fasse le boulot). Par exemple, toutes les méta données pourraient toujours être présente en RAM.
Disons que dans un fort taux d'écriture sur un cluster de 10 machines, tu passes ton temps à te refiler le fichier. Avec simplement l'information d'invalidation, tu ne va chercher le fichier que si il est demandé.
Pour garder la réplication, une triple copie suffit pas la peine d'inonder le cluster (cela pourrait se faire avec un TTL si il y a une topologie anneau).
Je faisais la différence entre la réplication d'écriture en vue d'augmenter le potentiel de lecture (ce que vous faite) devant la réplication en lecture qui ne fait que propager un message d'invalidation plus léger que le fichier à transmettre.
Si vous voulez aussi de la réplication, il n'y a pas besoin de faire la copie totale.
Un fichier ayant beaucoup d'écriture pourrait être l'information de session avec sauvegarde de l'état précédent.
Ok, vous êtes en replication en écriture. A priori, si le taux de lecture est très fort, c'est un bon système.
Par contre, dans le cas d'écriture fréquente, c'est pas forcément le top. Vous devriez laisser la possibilité de désactiver la réplication asynchrone pour certain fichier/répertoire souvent mis à jour. J'imagine qu'avec les appli web, cela deviendra de plus en plus fréquent.
Concernant l'atomicité, je pensais à un fichier modifié (modif d'une image par exemple), relus immédiatement (affichage). Tu veux dans ce cas la nouvelle image ou l'ancienne, mais pas un truc entre les 2. Ici, cela n'est pas gênant mais imagine une sauvegarde qui aurait un "bout d'image".
C'est pas vraiment une histoire de lock, si ton système ne donne pas la possibilité de connaitre l'état des données, c'est difficile à faire au niveau applicatif (le plus simple est de retourner la vieille version tant que la nouvelle n'est pas complètement dans le système)
Ok, vous dégagez tous les truc pas simple POSIX. Pourquoi pas.
Est-ce que vous gérez l'atomicité de remplacement de fichier ? Genre un nouveau fichier est écrit, si un autre fichier cherche à le lire, il aura le précédent ou le nouveau, mais pas une erreur ou un truc mélanger ou tronqué.
Est-ce que vous gérez un système d'envois en "2 bandes" ? En gros, est-ce que le système de fichier pourrait envoyer directement un fichier à un client sans repasser par un serveur web ? Je me suis toujours demandé comme faire une réponse en utilisant 2 machines, sans repasser par la 1er et sans proxy.
Quel genre d'api vous utiliser ? Une sorte de sémantique proche de celle du web ? (genre un fichier est un bloc complet et il n'y a pas lock, de seek ou autre ?)
Du code correcteur d'erreur, il passe à un trucs qui ressemble au chaine de Markov. Et pour éviter la destruction des symboles, ils utilisent la présence ou l'absence d'une marque. Donc tout détruire, revient à mettre des 1 ou des zéros partout. Cela revient au même, non ?
Le papier part de principe qu'il peut retrouver "suffisamment" de marque qui ne sont pas dû au hasard. On dirait qu'il part du principe que la seul attaque possible est le mélange de seconde du film entre plusieurs attaquant.
Ce que je dis plus haut c'est que des modifications mineurs du film détruisent quasiment à coup sûr tout marquage (décalage, zoom, suppression de bord, filtre passe-bas, filtre anti-bruit, filtre d'amélioration).
Tu peux définir un code aussi long que tu veux, si tu ne récupères pas assez de symbole "juste" tu ne peux rien en faire.
def qsort(list: List[Int]): List[Int] =
list match {
case Nil => Nil
case pivot::tail => qsort(for(i <- tail if i < pivot) yield i) ::: pivot :: qsort(for(i <- tail if i >= pivot) yield i)
}
L'utilisation de fréquences audio très hautes ou très basses, ou de différences de couleur assure ce mécanisme, sans que l'utilisateur ne s'en aperçoivent.
Sensibilité : hautes fréquences, couleur sombre, couleur claires.
Masquage :
• La présence d’un signal fort masque un signal faible
• Temporel : l’oreille insensible aux échos courts
• Fréquentiel : l’oreille ne perçoit pas deux sons trop proches
J'avais lu ailleurs que les seul watermarking resistant se voyait à l'écran (forcément il n'était pas détruit par la compression pour rester visible).
Pour lutter contre les attaques ils proposent des codes correcteurs d’erreurs (mais c'est efficace jusqu'à un certain point), ils proposent de faire une étude statistique pour détecter un mauvais code issue d'un mélange de plusieurs film mais cela semble contournable par un mélange fait au hasard.
En mélangeant différentes source, en virant une ligne ou une colonne (qui décale tous les blocs de 8 par 8 et change complètement la façon de coder le fichier) ou encore en décalant une image par quart ou un demi pixel, le tout recompresser par codec destructif, je ne pense pas qu'il reste grand chose d'une marque.
De mémoire, c'est un wrapper des fonctions de base (BAD_HABITS, ou truc du genre) (tout est prototype dans lisaac même les boucles for et les clauses if, d'où la syntaxe d'ailleurs). Lisaac n'utilise pas de préprocesseurs.
L'étude est super intéressante :) Lisaac n'est pas mal placé non plus :) (le shoutout est très orienté algo impératif, il y a très peu d'algo purement objet ou avec des threads)
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 2.
J'imagine que FineFS est utilisé sur les serveurs web également en front-end pour être toujours en accès fichiers local.
Quel serait l'intérêt d'un cache ? Si ce n'est rajouter une couche à FineFS pour simuler un comportement différent dans certain cas.
Autant gérer un cache RAM au niveau de FineFS, non ? (voir s'arranger pour que linux dessous fasse le boulot). Par exemple, toutes les méta données pourraient toujours être présente en RAM.
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 2.
Pour garder la réplication, une triple copie suffit pas la peine d'inonder le cluster (cela pourrait se faire avec un TTL si il y a une topologie anneau).
Je faisais la différence entre la réplication d'écriture en vue d'augmenter le potentiel de lecture (ce que vous faite) devant la réplication en lecture qui ne fait que propager un message d'invalidation plus léger que le fichier à transmettre.
Si vous voulez aussi de la réplication, il n'y a pas besoin de faire la copie totale.
Un fichier ayant beaucoup d'écriture pourrait être l'information de session avec sauvegarde de l'état précédent.
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 2.
"La première sécurité est la liberté"
# Lawrence Lessig ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Larry Lessig affirme que la loi asphyxie la créativité.. Évalué à 6.
http://www.lessig.org/
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 2.
Par contre, dans le cas d'écriture fréquente, c'est pas forcément le top. Vous devriez laisser la possibilité de désactiver la réplication asynchrone pour certain fichier/répertoire souvent mis à jour. J'imagine qu'avec les appli web, cela deviendra de plus en plus fréquent.
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 2.
Concernant l'atomicité, je pensais à un fichier modifié (modif d'une image par exemple), relus immédiatement (affichage). Tu veux dans ce cas la nouvelle image ou l'ancienne, mais pas un truc entre les 2. Ici, cela n'est pas gênant mais imagine une sauvegarde qui aurait un "bout d'image".
C'est pas vraiment une histoire de lock, si ton système ne donne pas la possibilité de connaitre l'état des données, c'est difficile à faire au niveau applicatif (le plus simple est de retourner la vieille version tant que la nouvelle n'est pas complètement dans le système)
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 4.
Est-ce que vous gérez l'atomicité de remplacement de fichier ? Genre un nouveau fichier est écrit, si un autre fichier cherche à le lire, il aura le précédent ou le nouveau, mais pas une erreur ou un truc mélanger ou tronqué.
Est-ce que vous gérez un système d'envois en "2 bandes" ? En gros, est-ce que le système de fichier pourrait envoyer directement un fichier à un client sans repasser par un serveur web ? Je me suis toujours demandé comme faire une réponse en utilisant 2 machines, sans repasser par la 1er et sans proxy.
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 4.
"La première sécurité est la liberté"
# duplication ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Compromission de code source.. Évalué à 7.
"La première sécurité est la liberté"
[^] # Re: GlusterFS ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Publication de FineFS, un système de fichiers répartis. Évalué à 4.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 2.
Le papier part de principe qu'il peut retrouver "suffisamment" de marque qui ne sont pas dû au hasard. On dirait qu'il part du principe que la seul attaque possible est le mélange de seconde du film entre plusieurs attaquant.
Ce que je dis plus haut c'est que des modifications mineurs du film détruisent quasiment à coup sûr tout marquage (décalage, zoom, suppression de bord, filtre passe-bas, filtre anti-bruit, filtre d'amélioration).
Tu peux définir un code aussi long que tu veux, si tu ne récupères pas assez de symbole "juste" tu ne peux rien en faire.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 4.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 2.
Je ne vois pas non plus quelle loi pourrait interdire de modifier un fichier qui nous appartient.
"La première sécurité est la liberté"
[^] # Re: La voiture reste une nuisance
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Un nouvel espoir pour la voiture électrique?. Évalué à 2.
Et encore, tu n'as pas eu le revolver sur la tempe parce que bètement tu avais mis la main dans ta veste pour sortir tes papiers.
"Et encore vous avez eu de la chance que je n'ai pas tiré au vu de votre air étonné"...
"La première sécurité est la liberté"
[^] # Re: Un standard kikoo-lol ou obfuscisant ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 3.
list match {
case Nil => Nil
case pivot::tail => qsort(for(i <- tail if i < pivot) yield i) ::: pivot :: qsort(for(i <- tail if i >= pivot) yield i)
}
C'est lisible ça ?
"La première sécurité est la liberté"
[^] # Re: Un standard kikoo-lol ou obfuscisant ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 2.
L'utilisation de fréquences audio très hautes ou très basses, ou de différences de couleur assure ce mécanisme, sans que l'utilisateur ne s'en aperçoivent.
Sensibilité : hautes fréquences, couleur sombre, couleur claires.
Masquage :
• La présence d’un signal fort masque un signal faible
• Temporel : l’oreille insensible aux échos courts
• Fréquentiel : l’oreille ne perçoit pas deux sons trop proches
Le problème est que c'est le principe même de compression destructive de virer ce genre d'information. ( http://actes.sstic.org/SSTIC09/Le_tracage_de_traitres/ )
J'avais lu ailleurs que les seul watermarking resistant se voyait à l'écran (forcément il n'était pas détruit par la compression pour rester visible).
Pour lutter contre les attaques ils proposent des codes correcteurs d’erreurs (mais c'est efficace jusqu'à un certain point), ils proposent de faire une étude statistique pour détecter un mauvais code issue d'un mélange de plusieurs film mais cela semble contournable par un mélange fait au hasard.
En mélangeant différentes source, en virant une ligne ou une colonne (qui décale tous les blocs de 8 par 8 et change complètement la façon de coder le fichier) ou encore en décalant une image par quart ou un demi pixel, le tout recompresser par codec destructif, je ne pense pas qu'il reste grand chose d'une marque.
"La première sécurité est la liberté"
[^] # Re: Un standard kikoo-lol ou obfuscisant ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 4.
"La première sécurité est la liberté"
[^] # Re: Un standard kikoo-lol ou obfuscisant ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 2.
Il existe aussi une lib wrapper pour que cela ressemble plus au C mais bon...
"La première sécurité est la liberté"
[^] # Re: Déçu
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Un standard kikoo-lol ou obfuscisant ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Voiture nucléaire ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Un nouvel espoir pour la voiture électrique?. Évalué à 4.
"La première sécurité est la liberté"
[^] # Re: La voiture reste une nuisance
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Un nouvel espoir pour la voiture électrique?. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Après les DRMs : le watermarking
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Changement de ton chez les vendeurs de disques. Évalué à 5.
Voir tu refais un coup de compression/decompression. Ou encore, tu enlèves une ligne ou une colonne de pixel.
Le watermarking est rarement très résistant sans être visible à l'écran.
"La première sécurité est la liberté"