Suite

Impossible d'envoyer un tableau via Protocol.HTTP()

Impossible d'envoyer un tableau via Protocol.HTTP()


J'essaie d'envoyer un fichier JSON à mon application Node.js via Protocol.HTTP. Le fichier est correctement envoyé, mais je n'arrive pas à accéder à un tableau. Voici le code correspondant :

Côté client

(… ) var vectorProtocol = new OpenLayers.Protocol.HTTP({ url: '/getcoords', format: vectorFormat, readWithPOST: true, params: { "code_company": "8501", "data_company": [ { "origin": "2013P00109", "type": "LJ", "naf": "5610A", }, { "origine": "2013P00110", "type": "FJ", "naf": "5481" } ] } } ); (… )

Côté serveur, j'essaye de construire un tableau avec uniquement le champ "origine" de mon tableau "data_company":

function getCoords(params, callback) { var arrOrigin = params.data_company.map(function(d) { return d.origin; }); (… ) }

Et j'obtiens cette erreur :

TypeError : Object [object Object] n'a pas de méthode "map"

Il semble que mon tableau "data_company" ne soit pas analysé. Y at-il une raison à cela ? Et une solution de contournement ?

Merci


Côté serveur, convertissez le type json en tableau.


L'acceptation des requêtes GET de style HTTP/0.9 présente-t-elle des risques de sécurité ? (par exemple &ldquoGET / &rdquo)

J'écris un serveur Web pour le plaisir, et j'ajoute d'abord la prise en charge de HTTP/1.0. La référence principale que j'utilise est RFC 1945 => Hypertext Transfer Protocol -- HTTP/1.0.

Dans la section 5.1 de la RFC, j'ai appris que les requêtes HTTP peuvent être une seule ligne, une méthode GET et un URI (par exemple GET / ). La RFC appelle cela une simple demande.

Dans les serveurs HTTP modernes, existe-t-il des risques de sécurité associés à l'acceptation et à la réponse à une demande simple ? Si oui, quels sont les risques ?


1. Introduction : Problèmes liés aux estimations des émissions dues à la combustion de la biomasse

[2] La combustion de la biomasse (dérivé des feux de forêt ainsi que des feux de pâturage et agricoles) est une source importante de carbone dans l'atmosphère [ Andreae, 1991 ] c'est donc un facteur essentiel à considérer lors de l'évaluation des changements climatiques au niveau mondial. En outre, la connaissance des modèles d'émission spatio-temporels est essentielle pour estimer leur effet sur la dynamique atmosphérique et pour améliorer les modèles atmosphériques mondiaux, ainsi que pour respecter les accords internationaux dérivés du protocole de Kyoto (http://unfccc.int/). Bien que la dynamique globale des incendies soit déterminée par des paramètres climatiques généraux [ Dwyer et al., 2000 Galanter et al., 2000 ], plusieurs auteurs ont souligné la forte variabilité interannuelle et intra-annuelle du brûlage de la biomasse [ Hoffa et al., 1999 ]. Par exemple, dans les zones tropicales, la température et la durée de la saison sèche peuvent fluctuer fortement, ce qui affecte fortement les caractéristiques du feu. Ainsi, lors de la surveillance des émissions à une échelle temporelle fréquente, l'ajustement des paramètres en fonction de la variabilité saisonnière serait une étape importante.

[3] Les estimations d'émissions nécessitent des modèles adaptés à plusieurs échelles temporelles et spatiales [ Goldammer, 1990 Levine, 1996 Prinn, 1991 ]. Alors que les estimations et les mesures locales sont importantes pour comprendre les mécanismes d'émission [ Ward et al., 1996 ], les estimations régionales et mondiales sont essentielles pour évaluer les effets des émissions sur l'atmosphère et sur les régimes climatiques mondiaux. Modèles à haute résolution spatiale [ Reinhardt et al., 1997 ] fournissent une évaluation de la variabilité spatiale que les modèles mondiaux manquent fréquemment mais nécessitent des informations plus détaillées et sont difficiles à généraliser à l'échelle mondiale ou continentale. Ainsi, la plupart des méthodologies d'estimation des émissions sont ajustées pour des échelles temporelles et spatiales spécifiques, et leur intégration est un problème critique pour dériver des modèles cohérents et fiables.

[4] Deux approches principales pour estimer les émissions de combustion de biomasse ont été proposées dans la littérature. La première est basée sur des mesures directes des traces de gaz émis lors d'un incendie. Cette approche a été mise en œuvre par des mesures de terrain [ Ferek et al., 1998 Goode et al., 1999 Hao et al., 1991 , 1996 ], ainsi que par l'analyse par télédétection des composants de la fumée [ Ferrare et al., 1990 Kaufman et al., 1992 Randriambelo et al., 1998 ]. Les mesures des émissions de gaz sur le terrain et par télédétection nécessitent la simultanéité avec les feux actifs, qu'ils soient expérimentaux ou réels. Ceci est difficile en raison des difficultés opérationnelles pour synchroniser les campagnes de mesures avec l'activité des incendies.

[5] La deuxième approche pour les estimations d'émissions est basée sur des modèles indirects qui intègrent les variables d'entrée impliquées dans le processus de différentes manières [ DeFries et al., 1999 DeFries et Townshend, 1994 Stroppiana et al., 2000 ]. Cette approche permet d'intégrer des cartes de zones brûlées avec des estimations indépendantes des valeurs des variables d'entrée. Du côté négatif, ces études présentent plus de facteurs d'incertitude causés par les effets de propagation d'erreur lorsque différentes variables d'entrée sont considérées. La plupart de ces modèles d'émissions prennent en compte les charges de biomasse (c'est-à-dire la biomasse totale ou le combustible disponible), l'efficacité de combustion, les zones brûlées et les paramètres de combustion (c'est-à-dire l'efficacité de combustion et les facteurs d'émission ou les ratios d'émission) [ Reinhardt et al., 1997 Seiler et Crutzen, 1980 ].

[6] La télédétection est une excellente source d'information pour dériver certains des paramètres d'entrée requis par ces modèles [ Ahern et al., 2001 Barbosa et al., 1999 Stroppiana et al., 2000 ]. Étant donné que des capteurs à distance à différentes résolutions mesurent les mêmes variables physiques (par exemple, réflectance et température), l'utilisation de données de télédétection dans les modèles d'émission peut fournir une aide significative pour la mise à l'échelle spatiale, tout en considérant explicitement l'hétérogénéité spatiale, principalement lorsque l'on travaille avec des variables d'entrée à différents niveaux de détail (par exemple, types de combustibles, teneur en humidité ou charges de biomasse, entre autres) [ Gourmand et Curran, 1994 Hall et al., 1988 ]. Les progrès des techniques de fusion de données peuvent fournir un cadre solide pour cette intégration dans un avenir proche [ Wald, 1999 ]. De plus, la fréquence temporelle des observations de télédétection peut grandement améliorer les estimations dans le domaine temporel des émissions de gaz.


Cette question est totalement hypothétique. Pour répondre, vous devez connaître tous les sauts par lesquels passe votre paquet, la technologie utilisée par chaque saut et la taille de trame configurée (le cas échéant).

En matière d'interconnexion, Ethernet est dans la plupart des cas une technologie de pointe. Si vous passez par l'ATM, le paquet sera divisé en cellules de 53 octets dont certaines sont en surdébit. Frame Relay utilise une longueur de PDU négociable. Et ce ne sont que deux des nombreuses familles de protocoles dont la mise en œuvre combinée constitue « l'Internet ».

Cela rend la question assez difficile à répondre (car vous avez inclus un Internet autrement non spécifié dans votre chemin).

Il devrait être juste un paquet, compte tenu de la surcharge de la technologie que vous utilisez pour la transmission. PPP ajoute des en-têtes (PPPoE ajoute encore plus) si vous utilisez des VPN ou des tunnels, le MTU sera encore réduit. Idem si quelque part en cours de route il y a un saut avec un MTU réduit.

Vous devez également tenir compte de ce que sont les données, si ce sont des données RTP en UDP, elles peuvent être divisées pour réduire la latence, alors que quelque chose comme un FTP utiliserait probablement tout l'espace disponible.

Ainsi, le logiciel et la transmission peuvent faire la différence.

Sous Windows, vous pouvez utiliser Wireshark (un renifleur de paquets) pour voir à quoi ressemblent les paquets et ce qu'ils contiennent. C'est un très bon utilitaire je pense.


Impossible d'envoyer un tableau via Protocol.HTTP() - Systèmes d'information géographique

Revue internationale d'ingénierie Web

Système de cartographie Web pour la gestion des espaces publics dans les pays en développement

Eugène C. Ezin, Aurince J. Akakpo

Unité de Recherche en Informatique et Sciences Appliquées, URISA, Institut de Mathématiques et de Sciences Physiques, IMSP, Université d'Abomey-Calavi, Bénin, BP 613 Porto-Novo, République du Bénin

Correspondance à : Eugène C. Ezin, Unité de Recherche en Informatique et Sciences Appliquées, URISA, Institut de Mathématiques et de Sciences Physiques, IMSP, Université d'Abomey-Calavi, Bénin, BP 613 Porto-Novo, République du Bénin.

E-mail:

Copyright © 2012 Éditions scientifiques et universitaires. Tous les droits sont réservés.

La cartographie sur Internet est un domaine en pleine expansion avec de nombreuses applications utilisant des données cartographiques. Les technologies disponibles diffèrent sensiblement par leur complexité, leur coût et leur ouverture. Ce travail porte sur une solution de cartographie Web à trois composants pour la gestion de territoire dans une municipalité au Bénin. L'implémentation a été réalisée grâce à une base de données géographique PostgreSQL/PostGIS qui gère les données spatiales et attributaires. Le serveur géographique utilise ces données spatiales pour produire des couches cartographiques grâce aux exigences de l'application Web. Ce dernier s'appuie sur les technologies java server pages et servlets pour gérer le côté dynamique du système. Le système proposé permet aux utilisateurs d'interagir avec lui en utilisant un navigateur Web ou des services de messages courts à partir d'un téléphone mobile. La description complète du système est présentée dans cet article.

Mots clés: Système d'Information Géographique, Technologies Web, Systèmes de Gestion de Bases de Données Spatiales


Vous n'avez pas inclus l'équilibreur de charge réel dans votre modèle. Veuillez l'inclure pour une réponse complète.

Votre problème est probablement que votre équilibreur de charge - qui a très probablement une adresse IP privée dans vos sous-réseaux et communique avec celle-ci - n'est pas autorisé à communiquer avec vos instances ECS, car elles n'autorisent que le trafic de 138.106.0.0/16 .

Pour les autres, qui pourraient être confrontés au même problème :

Il peut s'agir d'un problème avec la route que vous avez configurée pour la vérification de l'état.

Votre route configurée devrait renvoyer une réponse de succès (statut : 200) sur OBTENIR appel.


J'ai essayé d'ajouter une liaison https à un site et cela peut être assez douloureux. Il existe de nombreuses façons d'accomplir chaque étape et chacune comporte des pièges. Je laisse derrière moi la solution finale en espérant que quelqu'un la trouvera utile.

Cette solution suppose que IIS est installé et qu'un site Web est défini. Appelez le site sample.contoso.com pour les besoins de cet article. Supposons que vous ayez un certificat dans un fichier sample.contoso.com.pfx que vous souhaitez également utiliser.

La première étape consiste à importer le certificat à partir du fichier.

Ce serait bien si cela suffisait. Et dans certains cas, cela peut l'être. Cependant, pour moi, cela a laissé le certificat sans accès approprié à la clé privée. Cela a provoqué une erreur powershell "Une session de connexion spécifiée n'existe pas. Elle a peut-être déjà été terminée" lorsque je suis allé ajouter le certificat à la liaison (voir cette étape plus tard). Ainsi, l'étape suivante consiste à corriger l'ACL pour la clé privée.

Cela permettra au système local d'avoir un accès complet à la clé privée si celle-ci n'est pas héritée du dossier contenant.

Si vous souhaitez obtenir un certificat déjà installé, vous avez besoin du hachage et pouvez le récupérer avec Get-Item comme suit :

L'étape suivante consiste à créer la liaison.

Il est important de noter que "https" est sensible à la casse. Si vous utilisez plutôt "HTTPS", vous obtenez un résultat de liaison vraiment différent.

Cette liaison n'a pas encore de certificat attaché, donc la dernière étape consiste à attacher le certificat. Si le certificat est correctement approuvé et que la sécurité est correcte, cette étape devrait réussir. Cependant, cela peut être délicat s'il y a un problème avec le certificat.

Si cela échoue avec un message indiquant qu'une session d'ouverture de session n'existe pas, le certificat peut avoir un problème. Consultez l'observateur d'événements pour plus de détails. Au cours de mes efforts, j'ai trouvé l'événement 5061 dans le journal de sécurité. Lorsqu'il a échoué, il a montré qu'OpenKey a échoué avec 80090016 (Le jeu de clés n'existe pas). Et l'échec était dû au fait que SYSTEM n'avait pas accès à la clé privée.

Cela me suffisait pour créer la liaison https. La liaison http était un sous-produit de l'utilisation de l'applet de commande New-WebSite. Si ce n'est pas gratuit, je n'ai pas trouvé que la création de la liaison du port 80 avec l'applet de commande New-WebBinding était un défi.


1 réponse 1

Ce n'est pas testé, mais c'est en quelque sorte l'approche que vous devez adopter. Je m'occupe juste de la dernière méthode de votre classe.

Voici comment je l'aborderais :

  1. Vous devez spécifier un chemin de fichier lorsque vous enregistrez le fichier afin que vous puissiez l'utiliser plus tard pour obtenir le fichier à joindre.
  2. Configurez les valeurs de votre e-mail (l'adresse « à », l'objet, le message, les en-têtes et le chemin d'accès à la pièce jointe).
  3. Utilisez les variables de #2 pour wp_mail() pour envoyer votre message.

Voici la fonction de votre classe avec mes ajouts :

En supposant que le reste de votre code est OK et que le fichier est créé, cela devrait pouvoir l'obtenir et le joindre à un e-mail.


En supposant que le but est de bloquer votre le navigateur d'accéder au contenu Web sans certificat SSL, vous pouvez le faire avec FireFox en définissant le mode HTTPS uniquement.

Dans FireFox, accédez aux paramètres et faites défiler vers le bas. Vous verrez une option pour activer le mode HTTPS uniquement :

Cela tentera de mettre à niveau les connexions non sécurisées vers un site et, si le site visiteur ne prend pas en charge HTTPS, un message s'affichera pour vous informer (mieux qu'une page vierge) qu'il n'y a pas de certificat SSL. Vous pouvez en savoir plus sur l'implémentation par FireFox du mode HTTPS uniquement via leur documentation.

Les navigateurs basés sur Chrome, pour autant que je sache, n'ont pas encore de fonctionnalité comme celle-ci.

Bien sûr, si vous vraiment voulez bloquer tout le trafic HTTP, vous pouvez faire ceci :

Cela cassera toutes sortes de choses presque immédiatement, mais vous aurez votre souhait : aucune requête ne quittera votre ordinateur via HTTP.


Qu'est-ce qu'un site actif

Les sites peuvent être actifs ou inactifs. Un site est considéré comme actif si :

  • il a collecté des données de séries chronologiques (automatisées) au cours des 183 derniers jours (6 mois)
  • il a collecté des données discrètes (collectées manuellement) dans un délai de 397 jours (13 mois)

S'il ne répond pas à ces critères, il est considéré comme inactif.

Certaines exceptions s'appliquent. Par exemple, un site peut également être affiché comme actif s'il fait partie d'un programme de collecte de données occasionnel en cours. Si un site est signalé par un centre des sciences de l'eau de l'USGS comme abandonné, il apparaîtra comme inactif, quelle que soit l'actualité des données. Un centre scientifique de l'USGS peut également signaler un nouveau site comme actif même s'il n'a collecté aucune donnée. Ce contrôle permet à un utilisateur de sélectionner une large catégorie de sites à afficher et est utile pour simplifier une vue dans les zones à forte densité de sites. La sélection par défaut est Sites actifs.

Dans waterservices.usgs.gov, le nom de l'argument URL est siteStatus. Exemple : &siteStatus=active
L'état du site indique si le site est actif ou inactif.

Le mappeur NWIS utilise le service SiteService Water pour déterminer si un site est actif ou non.


Trouver toutes les régions qui sont en dehors d'une région complexe sélectionnée, par exemple, définies par les quadrants C 1106, B 1108, et C 1116

A. Effectuez une recherche « PAS » sur les clés spatiales, c'est-à-dire trouvez toutes les régions qui n'ont pas de clés spatiales commençant par « C », « BCC » ou « BB »—PAS « C* » et « BCC* » et « BB* ».

B. Inversez le quadtree et effectuez une recherche contenant sur la région complexe sélectionnée comme illustré dans l'exemple 3. Pour l'exemple de région sélectionnée, l'inversion de l'arbre entraînerait l'obtention de « A », « D », « BA », « BD », « BCA », « BCB » et « BCD ». Cela se fait en effectuant une recherche avec « A* » ou « D* » ou « BA* » ou « BD* » ou « BCA* » ou « BCB* » ou « BCD* », qui trouverait toutes les régions qui sont entièrement contenu dans ces régions mais en dehors de la région complexe sélectionnée.

L'exemple ci-dessus est un exemple d'algorithme, qui peut être adapté pour convertir diverses zones complexes en n-arbres, par exemple, des quadtrees, ou en d'autres représentations hiérarchiques.

Dans un mode de réalisation, les coordonnées lat et lon peuvent être stockées dans des tables ou bases de données séparées. Par exemple, une recherche de chaîne pour « 34* » et « -118* » (par exemple Arcadia, coordonnées de Californie) peut être effectuée pour trouver tous les enregistrements avec des régions dans la zone de 34.0<=latitude <35.0, -118,0>= longitude >=−119,0 longitude.

D'autres caractéristiques des inventions sont décrites dans les annexes A et B jointes, les deux annexes étant incorporées ici à titre de référence.

FIGUE. 12 est une représentation graphique d'un autre exemple de carte 1202. Cette carte est divisée en deux hémisphères, l'hémisphère gauche 1204 et l'hémisphère droit 1206. Cette figure montre comment les clés spatiales décrites ici peuvent être utilisées pour associer des zones, des emplacements, des adresses et similaires à des coordonnées telles que la latitude et la longitude. Cette figure agit comme un axe X et Y, où la ligne horizontale 1220 indique une latitude nulle, tandis que la ligne verticale 1230 indique la longitude zéro. Ainsi, une carte du monde peut être superposée ou associée à l'indexation spatiale de la présente invention. Par exemple, le quadrant A est défini dans une zone délimitée par 0 lat/−180 lon, 90 lat/−180 lon, 0 lat/−90 lon et 90 lat/−90 lon. Une adresse ou un lieu 1236 avec un exemple de coordonnée (non dessiné à l'échelle) 60 lat/-110 lon, par exemple, peut être identifié par une clé spatiale de la présente invention, en subdivisant simplement davantage le quadrant A 1240 à une résolution ou à une taille de zone de sorte que cet emplacement 1236 peut être identifié de manière appropriée par une clé spatiale correspondante, par exemple « ABCBABCD ».

FIGUE. 13 est une illustration graphique d'un réseau d'utilisateurs 1300 comprenant une pluralité d'utilisateurs mis en œuvre dans le système GIK 100 pouvant être mis en oeuvre conformément à un autre mode de réalisation de l'invention. Le système GIK 100 dans ce mode de réalisation fonctionne également comme un système de recommandation comme illustré dans la Fig. 8A. Les utilisateurs, cependant, dans ce réseau d'utilisateurs 1300 comprend un certain nombre de types de réseaux d'affinité 1320, 1340, 1360A-C. Chaque réseau d'affinité peut avoir un ou plusieurs affiliés. Les affiliés au sein de chaque réseau d'affinité ont généralement des relations entre eux. De plus, cette relation est définie par ou comprend de multiples attributs variables, y compris, par exemple, le poids d'affinité/relation.

Dans un autre mode de réalisation, les relations sont établies automatiquement, par exemple, en spécifiant le code postal de la résidence de l'utilisateur. Divers autres critères pour établir ou rompre une relation ou une affinité peuvent également être mis en œuvre, comme être automatiquement créé si le sexe est masculin et célibataire, automatiquement rompu lorsque le poids de la relation est inférieur à une certaine valeur et automatiquement créé lorsque les modèles de recommandation des deux utilisateurs sont similaires comme le décide, par exemple, un algorithme de filtrage collaboratif. Cet exemple de réalisation de création d'un réseau d'affinité peut s'appliquer à différents types de réseaux d'affinité, tels que les réseaux d'affinité familiaux, les réseaux d'affinité de connexion de contact, les réseaux d'intérêt commun, etc.

    • a) affinité par relation familiale (réseau d'affinité familiale), par exemple, lorsque les affiliés se définissent comme membres d'un réseau familial lié par le sang, le mariage ou simplement par la simple proximité de leur relation les uns avec les autres
    • b) affinité par intérêt commun (réseau d'affinité d'intérêt commun), c'est-à-dire un réseau d'affinité basé sur un intérêt commun, par exemple Pasadena Moms Group, San Fernando Valley Harley Davidson Bikers Group et Southern California Auction Seller Group
    • c) affinité par emplacement géographique (réseau d'affinité d'emplacement), par exemple, un réseau d'affinité basé sur l'emplacement géographique et le poids de la relation/affinité dépend de la distance qui sépare un affilié d'un autre affilié
    • d) affinité par connaissance personnelle (qui-vous-connaissez ou réseau d'affinité de connexion de contact), par exemple, un réseau d'affinité est défini par qui vous connaissez, et comment vous connaissez indirectement d'autres personnes
    • e) affinité par profession (réseau d'affinité professionnelle), c'est-à-dire un réseau d'affinité basé sur la profession d'un utilisateur, par exemple, médecins, avocats, comptables, etc. et
    • f) affinité définie par la similitude des utilisateurs (réseau d'affinité de similitude), par exemple, un réseau d'affinité basé sur la similitude des utilisateurs, tels que leurs goûts et dégoûts, etc., défini par un processus tel que le filtrage collaboratif.

    D'autres réseaux d'affinité peuvent inclure une affinité basée sur l'âge, le revenu, la démographie, le sexe et le groupe d'âge. L'homme du métier se rendra compte que divers autres types de réseaux d'affinité peuvent être créés et entrent dans le cadre de la présente invention.

    Dans un mode de réalisation simple, le système GIK 100 n'a qu'un seul type de type de réseau d'affinité, c'est-à-dire le type de réseau d'affinité de connexion de contact, dans lequel un réseau est défini en fonction de qui l'utilisateur connaît directement, et l'utilisateur connaît indirectement d'un ami d'un ami, et ainsi de suite. Dans une variante, la relation entre deux utilisateurs est basée sur un attribut. Dans une autre variante, la relation est basée sur une pluralité d'attributs. Dans un mode de réalisation plus complexe, le système GIK 100 a un réseau d'utilisateurs 1300 avec au moins deux types de réseaux d'affinité. La relation peut être basée sur un ou plusieurs attributs.

    Au sein du réseau d'utilisateurs 1300, il peut y avoir un certain nombre de réseaux d'affinités du même type, comme il pourrait y avoir un certain nombre de réseaux d'affinités familiales, par exemple, un réseau d'affinités familiales pour les membres de la famille liés à John J. Smith, un autre pour ceux liés à Mei Tan , un autre pour ceux liés à Michael R. Jackson, etc. De plus, le système GIK 100 est également adapté pour gérer des réseaux d'affinité de différents types, par exemple, un réseau d'affinité familial lié à John J. Smith et un réseau d'affinité de connexion de contact, tels que les amis de Peter J. Carter.

    Il existe un certain nombre de façons pour un utilisateur de devenir membre d'un réseau d'affinité particulier, par exemple un utilisateur peut choisir de rejoindre un réseau d'affinité être automatiquement affecté à un être invité à rejoindre et en conséquence accepter une invitation, etc. À titre d'exemple, ces relations/affinités d'utilisateurs peuvent être définies, par exemple, d'un commun accord entre utilisateurs, par exemple, l'acceptation d'invitations et/ou par génération automatique de relations de partage de données, par exemple, en étant simplement affilié au sein d'un réseau d'affinités personnelles. En plus d'être affiliés à un réseau d'affinité particulier, les utilisateurs dans certains modes de réalisation peuvent attribuer le poids de la relation entre leurs affiliés et/ou faire ajuster automatiquement le poids de la relation par le système GIK. 100. Cette pondération de la relation influence ou modifie la façon dont les recommandations et/ou les commentaires d'origine sont présentés à l'utilisateur, par exemple, une note de cinq étoiles est affichée comme trois étoiles car la recommandation a été influencée par la pondération de la relation. Dans un autre mode de réalisation, le poids de la relation peut modifier la manière dont les informations sont affichées, telles que l'ordre de présentation des recommandations.

    En se référant à nouveau à la fig. 13, cela montre trois exemples de réseaux d'affinité, 1320, 1340, et 1360A-C. Le premier réseau affinitaire 1320 (coin supérieur gauche) est basé sur qui l'utilisateur connaît, c'est-à-dire un réseau d'affinité de connexion de contact. Ce réseau d'affinité montre que l'utilisateur A 1302, utilisateur B 1304, utilisateur C 1306, utilisateur D 1308, et l'utilisateur E 1310 se connaissent directement ou indirectement. Le deuxième réseau d'affinité 1360A-C est un réseau d'affinités basé sur la relation familiale - réseau d'affinités familiales. Par exemple, Utilisateurs N 1328, M 1326, E 1310, F 1312, J 1320, K 1322, G 1314, H 1316, et 11318 sont liés par le sang, le mariage ou par la proximité les uns avec les autres qu'ils ont décidé qu'ils sont « de la famille ». Le troisième réseau affinitaire 1340 est basé sur l'emplacement géographique, par exemple, le code postal où réside l'utilisateur. Dans un mode de réalisation, il existe un certain nombre de réseaux d'affinité géographique ou de localisation tels que ces réseaux d'affinité englobent l'ensemble du réseau d'utilisateurs. 100. De plus, plus l'utilisateur est éloigné de l'autre utilisateur, plus le poids de la relation entre ces deux utilisateurs est important.

    Comme illustré, un utilisateur peut être affilié à un ou plusieurs réseaux d'affinité. Par exemple, l'utilisateur E 1310 est membre à la fois d'un réseau d'affinité de connexion de contact 1320 et un réseau d'affinités familiales 1360A-C. L'utilisateur K est également membre d'un réseau d'affinité familiale 1360A-C et un réseau d'affinité de localisation 1340. Utilisateur F 1312, cependant, dans cet exemple de réalisation est un membre uniquement du réseau d'affinité familiale 1360B.

    FIGUES. 14A-14E sont des illustrations graphiques de la manière dont, dans un mode de réalisation de l'invention, l'exemple de réseau d'affinité de connexion de contact dans un système GIK est créé. Dans cet exemple de système, les utilisateurs du réseau ont une relation entre eux basée sur les utilisateurs qu'ils connaissent directement ou indirectement. Dans un mode de réalisation de l'invention, le réseau utilisateur contient un type de réseau affinitaire de connexion de contact. C'est-à-dire que les divers réseaux personnels dans un système GIK sont interreliés directement ou indirectement en indiquant qui ils connaissent et dans cet exemple aucun autre type de réseau d'affinité, tel qu'un type de réseau d'affinité familiale ou un type de réseau d'affinité de localisation n'existe dans le réseau utilisateur.

    Dans cet exemple de réalisation de l'invention, une relation ou une affinité avec un autre utilisateur n'est établie que lorsqu'une invitation à rejoindre un réseau d'affinité est acceptée. Dans un autre mode de réalisation, non représenté, l'acceptation d'une invitation n'est pas nécessaire pour établir une relation.

    Dans ce mode de réalisation illustré, un affilié du réseau d'affinité de connexion de contact 1320, par exemple, l'utilisateur B 1304 invite un autre utilisateur à établir une affinité avec l'utilisateur invitant. Chaque utilisateur est représenté graphiquement comme un nœud 1302, 1304, 1306, 1308, 1310 avec une relation acceptée représentée par une ligne continue entre deux utilisateurs et une relation non acceptée représentée par une ligne pointillée. L'origine d'une ligne indique l'utilisateur invitant et l'endroit où la ligne se termine par une flèche indique l'invité. Dans cet exemple, l'utilisateur B 1304 invite l'utilisateur A 1302 pour établir une relation, l'utilisateur A, cependant, n'a pas accepté l'invitation, comme indiqué par la ligne pointillée 1452. Utilisateur A 1302 a également invité l'utilisateur E 1310, mais l'utilisateur E 1310 n'a pas accepté l'invitation. Dans cet exemple de réalisation, les utilisateurs n'ont pas établi de relation entre eux. D'autres modes de réalisation, cependant, ne nécessitent pas d'invitations et d'acceptations pour établir des relations.

    FIGUE. 14B, bien que similaire à la Fig. 14A, illustrez par exemple deux invitations d'affinité ou de relation acceptées, comme indiqué par des lignes pleines 1452, 1454. Dans le mode de réalisation illustré à la Fig. 14B, les relations entre l'utilisateur B 1304 et l'utilisateur A 1302, et entre l'utilisateur A et l'utilisateur E 1310 ont été établis. L'utilisateur A est à une connexion de l'utilisateur B, tandis que l'utilisateur E est à une connexion de l'utilisateur A. Les utilisateurs A et B sont directement connectés, de la même manière que les utilisateurs A et E. Utilisateur B 1304, cependant, est indirectement connecté à l'utilisateur E 1310, dans ce cas, à deux connexions de l'utilisateur E 1310. Le numéro ou la valeur de connexion peut être obtenu en additionnant le nombre de connexions entre les deux utilisateurs—entre les utilisateurs B 1304 et un 1302 une connexion et entre les utilisateurs A 1302 et E 1310 une connexion pour un total de deux connexions.

    Généralement, les utilisateurs invitent d'autres utilisateurs à faire partie de leur réseau. Dans cet exemple de réalisation, la motivation d'une invitation est basée sur le fait qu'un utilisateur connaît un autre utilisateur, en conséquence l'utilisateur B 1304 invité l'utilisateur A parce que l'utilisateur B connaît l'utilisateur A, et l'utilisateur A 1302 Utilisateur invité E 1310 car l'utilisateur A connaît l'utilisateur E. L'utilisateur B 1304 connaît l'utilisateur E 1310 indirectement via l'utilisateur A 1302, ce qui signifie que l'utilisateur E est un ami d'un ami qui est un ami de l'utilisateur A où l'utilisateur E est un ami de l'utilisateur B.

    FIGUE. 14C montre deux autres utilisateurs ajoutés au réseau : les utilisateurs C 1306 et D 1308. Dans cet exemple, l'utilisateur C 1306 a envoyé une invitation à l'utilisateur A 1302, qui a été accepté comme indiqué 1456. L'utilisateur A a également envoyé une invitation non acceptée à l'utilisateur D 1308, représenté par la ligne pointillée 1458. Utilisateur C 1306 est à une connexion de l'utilisateur A 702, tandis que l'utilisateur C 1306 est à deux connexions de l'utilisateur D 1308, utilisateur E 1310, et l'utilisateur B 1304.

    FIGUE. 14D est similaire à la Fig. 14C, mais dans ce cas l'utilisateur A 1302 a également envoyé une invitation à l'utilisateur B 1304, que l'utilisateur B a accepté, indiqué par la ligne continue 1462. La relation ou le poids d'affinité entre les utilisateurs A 1302 (invité) et B 1304 (invité) désigné ici par AB, et le poids de la relation entre les utilisateurs B (invité) et A (invité), désigné par BA, peut être le même ou différent, selon la conception du système. Le poids de la relation dans ce mode de réalisation est inclus dans le cadre de l'attribution définissant une relation. D'autres attributs peuvent également définir des relations.

    Le poids de relation/affinité peut être attribué de diverses manières. Le système GIK, par exemple, peut attribuer un poids de relation par défaut basé sur la relation familiale, par exemple, les frères et sœurs ont un poids de relation de 100 % entre eux et de 75 % entre cousins ​​au deuxième degré au sein d'un réseau d'affinité familiale. Ce poids d'affinité est réglable par l'utilisateur. Chaque relation, y compris ses attributs associés, est stockée dans une ou plusieurs bases de données pour la récupération.

    Dans un autre mode de réalisation, les membres d'un même réseau d'affinités, par exemple, réseau d'affinités de profession, ont automatiquement des relations ou des affinités avec tous les membres de ce réseau d'affinités et avec des valeurs de poids de relation par défaut. La valeur de poids de relation peut être de diverses plages de mise à l'échelle, telles que zéro à cent pour cent, un à cinq, un à trois, etc.

    La relation ou le poids d'affinité, dans un autre mode de réalisation, se voit attribuer une valeur par défaut, par exemple, basée sur le nombre de connexions. Cette valeur peut être ajustée par l'utilisateur et/ou par le système GIK. Les attributs affectant la relation ou le poids d'affinité, par exemple, peuvent inclure une représentation numérique du degré auquel l'utilisateur A fait confiance à l'utilisateur B, c'est-à-dire une valeur de confiance numérique, une notation de la similitude des recommandations de l'utilisateur et la distance entre deux utilisateurs.

      • Nombre d'utilisateurs référés au système de connaissances
      • Nombre d'amis ou d'affiliés acceptés
      • Ratio d'invitations de connexion envoyées par rapport aux invitations de connexion acceptées (dans un mode de réalisation, une invitation de connexion est définie comme un utilisateur demandant de partager des informations avec un autre)
      • Nombre de validations, par exemple, retours, par d'autres membres des recommandations d'un utilisateur. Par exemple, lorsque les utilisateurs recherchent puis demandent des informations de contact sur des entreprises ou des produits, le système GIK interroge éventuellement automatiquement ces utilisateurs ultérieurement pour déterminer s'ils ont fini par acheter les produits ou services et, le cas échéant, demander une évaluation. Le système suit ensuite la moyenne ou toute autre différence statistique entre les évaluations d'un utilisateur et les évaluations fournies par d'autres utilisateurs de connaissances dans le réseau. Dans un exemple de mode de réalisation, le système peut supprimer automatiquement la moyenne des recommandations fournies par les utilisateurs avant d'effectuer cette analyse afin de mieux garantir que le biais n'est pas un problème. D'autres techniques analytiques plus complexes sont également utilisées, notamment une ou plusieurs des suivantes :
      • Corrélation entre les notes fournies par l'utilisateur et les notes du même fournisseur déjà présentes sur le système
      • Fréquence à laquelle les amis ou les affiliés dudit utilisateur agissent sur la base ou motivés par les recommandations de l'utilisateur par opposition aux recommandations d'autres personnes lorsque les deux sont disponibles dans un résultat de recherche donné et
      • Plaintes contre l'utilisateur par d'autres utilisateurs sur le système.

      A titre d'exemple supplémentaire, le système compare facultativement les recommandations fournies par des utilisateurs individuels pour déterminer si les utilisateurs soumettent de fausses données au profit d'un produit ou d'une entreprise particulière. Par exemple, si un utilisateur a évalué un fournisseur à cinq (5) et que l'évaluation moyenne fournie par n autre utilisateur est de deux (2), le système peut supposer que l'ancien utilisateur a fourni des données frauduleuses. Ainsi, les notes aberrantes qui diffèrent de la note moyenne ou médiane de plus d'un certain seuil peuvent éventuellement être automatiquement exclues de l'affichage sur la page Web correspondante ou sur une autre interface présentée à l'utilisateur. En option, les utilisateurs peuvent également spécifier manuellement que les avis et les recommandations d'un ou plusieurs utilisateurs sélectionnés doivent être filtrés ou ne pas être présentés à l'utilisateur.

      FIGUE. 14E est similaire à la Fig. 14D mais montrant que l'utilisateur D 1308 a accepté l'invitation à la relation, indiquée par la ligne continue 1458. Dans cet exemple, contactez le réseau d'affinité de connexion des affiliés, l'utilisateur A 1302 fait confiance à la recommandation de l'utilisateur B ou de l'utilisateur B 1304 ninety percent (90%) of the time, User E's 1310 recommendations ninety-nine percent (99%) of the time, and User D's 1308 recommendations eighty percent (80%) of the time. On the other hand, User B 1304 trusts User A 1302 eighty-five percent (85%) of the time, while User C 1306 trusts User A 1302 seventy percent (70%) of the time. In this example embodiment, ninety-nine percent (99%) is the highest level of trust a user may bestow upon another user. In this example embodiment, the relationship is influenced by the number of connections between users and the weight—level of trust—between the users.

      One skilled in the art will recognize that various ways to calculate relationship weight, including the attributes used, may be implemented within the knowledge system 100. In this example embodiment, the relationship between Users A and B 1462 (AB) is 90%, between Users B and A 460 (BA) is 85%, between Users A and D 1458 (AD) is 80%, Users A and E 470 (AE) is 99%, and Users C and A 1456 (CA) is 70%. In one example embodiment of the invention, the relationship between Users C 1406 and D 1408 is derived by obtaining an average which is 75%. Thus, in one example embodiment, the relationship weight between Users C and D is 75%. Other mechanisms of calculating the relationship weight may also be implemented, such as having the attributes weighted. The relationship, in one embodiment, may also be influenced by the affinity network type, thus, a contact connection affinity network type may be weighted more than a familial affinity network type. Other attributes, e.g., user's zip code, user's ratings on a particular category of consumables, and user's gender may also affect the relationship between users. In one embodiment, the relationship or affinity is represented as a real number. Depending also on the affinity network type, the attributes used in defining the relationship may be different from one affinity network type to another.

      In one embodiment of the invention, the affinity network type is a combination network type, for example, the affinity network type is both a familial affinity network and a contact connection affinity network type. Relationships are defined, for example, by blood relationship such as mother, father, sibling, second cousins, etc. In this network too, the user may specify who the user directly knows. The relationship between each user is stronger when there is a familial blood relationship and a contact connection.

      In a contact connection affinity network, users may optionally also receive and view recommendations from friends of friends, and optionally select more remote “friends,” such as three or four connections away. Thus, for example, if Adam's contact connection affinity network includes Brenda and Charlie, and Brenda's personal affinity network includes Adam, Denise, and Ed, then Brenda and Charlie would be friends, one connection away, of Adam, and Denise and Ed would be friends, two connections away, of Adam, even though Adam does not personally know Denise or Ed. This way, an example knowledge or GIK network consisting only of contact connection affinity network type may search, for example, recommendations provided by friends and friends of friends.

      One advantage of having a number of affinity network types is that a user of the GIK system is able to obtain information relevant to that user's needs. For example, a user may be a member of a common interest affinity network and a contact connection affinity network. Let us assume that the user is a doll collector. Although the user may have a number of close personal friends—people that the user knows, those users may not necessarily be doll collectors, too. Thus, when a user queries for doll-related recommendations, for example, what doll to buy or where to purchase it, the user may select the user's common interest affinity network over the contact connection affinity network, because the recommendations provided by the common interest affinity network may prove to be more relevant than those through the user's friends in the user's personal contact connection affinity network.

      In one embodiment, a relationship is a multiple attribute entity, such that it may include affinity network type, relationship weight, connection, distance, and level of trust. It may be expressed in a number of ways including as a real number, as a multi-variable data elements or fields, or a combination of number and non-numeric data elements. In another embodiment, a relationship is a single attribute entity.

      Modules and databases to implement the user network, as long as the various affinity network types are added as part of the map manager 102. For example, a user database, an affinity network database, the ratings database, etc. are part of the GIK system, which may be also used by the search module to return map-related information, as well as advertising-related information back to the users. Other features may also be added to augment the GIK system, such as an advertising auction and advertising placement features.

      The geographic information knowledge (GIK) systems of an embodiment include a method for managing geographically referenced data (GRD). The method of an embodiment includes receiving a search request that includes a defined search area. The method of an embodiment includes providing an extended map based on the search request. The extended map includes geographic areas within the defined search area and outside the defined search area. The method of an embodiment includes providing the GRD. The GRD includes one or more of advertisements, contact information, and review information for one or more entities. The method of an embodiment includes providing map reference information of the GRD on the extended map.

      The map reference information of an embodiment includes one or more of location data, addresses, coordinates, and latitude and longitude data of the entities.

      The search request of an embodiment includes at least one other search parameter defined by a user.

      The method of an embodiment includes receiving one or more searches outside an area of the extended map. The method of an embodiment includes providing a second extended map based on a second user map search definition outside of the extended map.

      Providing the GRD of an embodiment that includes the advertisements comprises associating one or more advertisements to one or more advertisement regions within the extended map. The method of an embodiment includes presenting the one or more advertisements according to one or more advertising schemes that define advertising conditions.

      The advertising schemes of an embodiment are based on one or more of the extended map, the search area, a geographical location of a requester, demographic information of the requester, information of the search request, a position of a cursor on the extended map, and a geographic location of an advertiser.

      The method of an embodiment includes providing the advertisements under one or more of an advertisement purchase and an advertisement auction.

      The method of an embodiment includes dividing the geographic areas into one or more regions. The method of an embodiment includes assigning one or more spatial keys to each of the one or more regions. The method of an embodiment includes representing the one or more regions as nodes of a tree. The method of an embodiment includes providing spatial text indexing by associating each of the spatial keys to one more physical locations of the extended map.

      The method of an embodiment includes performing queries corresponding to the search request, the queries including one or more of substring queries of the spatial keys and prefix substring queries of the spatial keys.

      Associating each of the spatial keys to one more physical locations of the extended map of an embodiment includes associating the spatial keys to one or more of location data, addresses, coordinates, and latitude and longitude data of the physical locations of the entities.

      The tree of an embodiment includes one or more of a quad tree, an N-tree, wherein N represents a number of subdivisions per region, a binary space partitioning tree, and a KD-tree, wherein a KD-tree is a multi-dimensional search tree for points in K-dimensional space.

      The method of an embodiment includes forming at least one affinity network among a plurality of users, wherein a type of the affinity network includes one or more of familial relationship, common interest, geographical location, personal knowledge profession, user similarity, age, income, demographic data, and gender.

      The method of an embodiment includes receiving affinity information from members of the at least one affinity network. The method of an embodiment includes modifying the GRD to include the affinity information.

      The method of an embodiment includes controlling the providing of GRD according to the affinity information.

      The method of an embodiment includes controlling the geographic areas included in the extended map according to one or more of an amount of commuting within the defined search area, a number of advertisers outside of the defined search area, and demographics of people living within the defined search area.

      The GIK systems of an embodiment include a system comprising at least one GIK system coupled to a processor, the GIK system configured to receive a search request that includes a defined search area, wherein the GIK system provides an extended map based on the search request, the extended map including geographic areas within the defined search area and outside the defined search area, the GIK system configured to provide geographically referenced data (GRD) that includes one or more of advertisements, contact information, and review information for one or more entities, the GIK system configured to provide map reference information of the GRD on the extended map.

      The system of an embodiment includes at least one remote device coupled to the GIK system via at least one network, wherein the remote device includes a processor, wherein the search request includes at least one other search parameter defined by a user via the remote device.

      The system of an embodiment is configured to receive one or more searches outside an area of the extended map and to provide a second extended map based on a second user map search definition outside of the extended map.

      The system of an embodiment is configured to provide the GRD that includes the advertisements by associating one or more advertisements to one or more advertisement regions within the extended map, and presenting the one or more advertisements according to one or more advertising schemes that define advertising conditions, wherein the advertising schemes are based on one or more of the extended map, the search area, a geographical location of a requester, demographic information of the requester, information of the search request, a position of a cursor on the extended map, and a geographic location of an advertiser.

      The system of an embodiment provides the advertisements under one or more of an advertisement purchase and an advertisement auction.

      The system of an embodiment is further configured to divide the geographic areas into one or more regions, assign one or more spatial keys to each of the one or more regions, represent the one or more regions as nodes of a tree, and provide spatial text indexing by associating each of the spatial keys to one more physical locations of the extended map.

      The system of an embodiment is further configured to perform queries corresponding to the search request, the queries including one or more of substring queries of the spatial keys and prefix substring queries of the spatial keys.

      Associating each of the spatial keys to one more physical locations of the extended map of an embodiment includes associating the spatial keys to one or more of location data, addresses, coordinates, and latitude and longitude data of the physical locations of the entities.

      The tree of an embodiment includes one or more of a quad tree, an N-tree, wherein N represents a number of subdivisions per region, a binary space partitioning tree, and a KD-tree, wherein a KD-tree is a multi-dimensional search tree for points in K-dimensional space.

      The system of an embodiment is further configured to form at least one affinity network among a plurality of users via a coupling with a plurality of user remote devices, wherein a type of the affinity network includes one or more of familial relationship, common interest, geographical location, personal knowledge profession, user similarity, age, income, demographic data, and gender.

      The system of an embodiment is further configured to receive affinity information from members of the at least one affinity network and modify the GRD to include the affinity information.

      The map reference information of an embodiment includes one or more of location data, addresses, coordinates, and latitude and longitude data of the entities.

      The GIK systems of an embodiment include computer readable medium including executable instructions which, when executed in a processing system, manage geographically referenced data (GRD), by receiving a search request that includes a defined search area. The computer readable medium of an embodiment provides an extended map based on the search request. The extended map of an embodiment includes geographic areas within the defined search area and outside the defined search area. The computer readable medium of an embodiment provides the GRD. The GRD includes one or more of advertisements, contact information, and review information for one or more entities. The computer readable medium of an embodiment provides map reference information of the GRD on the extended map.

      Although this invention has been disclosed in the context of certain embodiments and examples, it will be understood by those skilled in the art that the present invention extends beyond the specifically disclosed embodiments to other alternative embodiments and/or uses of the invention and obvious modifications and equivalents thereof. In addition, while a number of variations of the invention have been shown and described in detail, other modifications, which are within the scope of this invention, will be readily apparent to those of skill in the art based upon this disclosure. It is also contemplated that various combinations or subcombinations of the specific features and aspects of the embodiments may be made and still fall within the scope of the invention. Accordingly, it should be understood that various features and aspects of the disclosed embodiments can be combined with or substituted for one another in order to form varying modes of the disclosed invention. Thus, it is intended that the scope of the present invention herein disclosed should not be limited by the particular disclosed embodiments described above.

      Unless otherwise indicated, the functions described herein are performed by programs or sets of program codes, including software, firmware, executable code or instructions running on or otherwise being executed by one or more general-purpose computers or processor-based systems. The computers or other processor-based systems may include one or more central processing units for executing program code, volatile memory, such as RAM for temporarily storing data and data structures during program execution, non-volatile memory, such as a hard disc drive or optical drive, for storing programs and data, including databases and other data stores, and a network interface for accessing an intranet and/or the Internet. However, the present invention may also be implemented using special purpose computers, wireless computers, state machines, and/or hardwired electronic circuits.

      Throughout the following description, the term “Web site” is used to refer to a user-accessible network site that implements the basic World Wide Web standards for the coding and transmission of documents. These network sites may also be accessible by program modules executed in computing devices, such as computers, interactive television, interactive game devices, wireless web-enabled devices, and the like. The standards typically include a language such as the Hypertext Markup Language (HTML) and a transfer protocol such as the Hypertext Transfer Protocol (HTTP). Other protocols may also be used such as file transfer protocol (FTP), wireless application protocol (WAP) and other languages such as the extensible markup language (XML) and wireless markup language (WML). It should be understood that the term “site” is not intended to imply a single geographic location, as a Web or other network site can, for example, include multiple geographically-distributed computer systems that are appropriately linked and/or clustered together. Furthermore, while the following description explains by example an embodiment utilizing the Internet and related protocols, other networks, whether wired or wireless, and other protocols may be used as well.

      The databases or other data stores described herein can be combined into fewer databases, or partitioned or divided into additional databases. In addition, the example processes described herein do not necessarily have to be performed in the described sequence, and not all states have to be reached or performed. Various database management systems or data formats may also be used, such as object-oriented database management systems, relational database management systems, flat files, text files, linked lists, arrays, and stacks. Furthermore, flags, Boolean fields, pointers, and other software engineering techniques or algorithmic procedures may be incorporated in the data management system to implement the features of the present invention.

      Embodiments of the present invention may reside in the client side, in the server side, or in both places. Such embodiments, for example, program modules may be created using various tools as known in the art. For example, client side programming or manipulation may include programs written in various programming languages or applications, such as C++, Visual Basic, Basic, C, assembly language, FLASH™ from Macromedia, and machine language. Program modules interfacing with web browsers, such as plug-ins and MICROSOFT™ active X controls, Java Scripts, and applets may also be implemented. Server side modules may also be written in programming languages previously mentioned and including other server programming languages, such as Perl, Java, Hypertext Preprocessor (PHP), ColdFusion of Macromedia, etc. Databases shown residing, for example, on the server side may also reside or only reside on the client side. Similarly, databases discussed that may reside on the client side may also reside or only reside in the server side. Client and server refer to the client-server architecture.


      Voir la vidéo: حل مشكلة عدم وصول رسائل الماسنجر إلى الأصدقاء وضهور رسالة يوجد خطأ