U.S. patent application number 14/050418 was filed with the patent office on 2014-04-03 for system for synchronizing nodes on a network.
This patent application is currently assigned to EPALS, INC.. The applicant listed for this patent is EPALS, INC.. Invention is credited to Linda T. Dozier, Edmund Fish, Miles Gilburne, Nina Zolt.
Application Number | 20140095619 14/050418 |
Document ID | / |
Family ID | 40902773 |
Filed Date | 2014-04-03 |
United States Patent
Application |
20140095619 |
Kind Code |
A1 |
Dozier; Linda T. ; et
al. |
April 3, 2014 |
System for synchronizing nodes on a network
Abstract
A system of computers on a wide area network establishes
connections between nodes on the basis of their multidimensional
similarity at a particular point in time in a certain setting, such
as a social learning network, and sends information of value to
those nodes. Dimensions in the definition of similarity include a
plurality of attributes in time and community space. Examples of
such dimensions and attributes may include a position in a learning
community's project cycle, titles of readings and projects, the
genre or subject matter under consideration, age, grade, or level
of the participants, and language. The network's nodes are
represented as a tensor field and are searched efficiently and
adaptively through a variety of multidimensional data structures
and mechanisms. The system includes a master clock that can
transform a participant's time coordinates on the network, such as
a social learning network, into Universal Time, and the
synchronizer coordinates the position of each participant.
Inventors: |
Dozier; Linda T.; (Great
Falls, VA) ; Fish; Edmund; (Great Falls, VA) ;
Gilburne; Miles; (Washington, DC) ; Zolt; Nina;
(Washington, DC) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
EPALS, INC. |
Herndon |
VA |
US |
|
|
Assignee: |
EPALS, INC.
Herndon
VA
|
Family ID: |
40902773 |
Appl. No.: |
14/050418 |
Filed: |
October 10, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11937495 |
Nov 8, 2007 |
|
|
|
14050418 |
|
|
|
|
60857570 |
Nov 8, 2006 |
|
|
|
Current U.S.
Class: |
709/204 |
Current CPC
Class: |
H04L 67/22 20130101;
G06Q 10/06 20130101; G06Q 30/02 20130101; G06Q 50/01 20130101; H04L
65/403 20130101; G06F 16/90 20190101; G09B 19/22 20130101; H04L
41/0893 20130101; G06Q 30/08 20130101 |
Class at
Publication: |
709/204 |
International
Class: |
H04L 29/06 20060101
H04L029/06 |
Claims
1. A method for determining node similarity by calculating, within
a connected computer network, a comparative distance for each pair
of a plurality of nodes on the connected computer network, wherein
each node comprises a plurality of attributes and each attribute
includes a value comprising the steps of: a. having a computer
identify a plurality of attributes corresponding to each node of
the plurality of nodes on the connected computer network; b. having
a computer compare a first attribute corresponding to a first node
to a first attribute corresponding to a second node, wherein the
comparison comprises determining a relative difference between the
first attribute of the first node and the first attribute of the
second node without reference to a point of origin for either the
first node or the second node; c. repeating step (b) for each
attribute corresponding to the second node; d. repeating steps (b)
and (c) for each attribute corresponding to the first node; and e.
assessing the similarity between the first and second node by
calculating the comparative distance based on a plurality of
relative differences determined at the step (b).
2. The method of claim 1 wherein the determining a relative
difference at step (b) comprises representing the value of each
attribute as a scalar number,
3. The method of claim 2 wherein the representing a value of each
attribute as a scalar number comprises semantically comparing the
value to a predefined value contained in a semantic database.
4. The method of claim 1 further comprising the step of weighting
each relative difference determined at step (b).
5. The method of claim 4 further comprising the step of dynamically
altering the weight applied to each relative difference.
6. The method of claim 1 further comprising dynamically altering
the identification of the plurality of attributes at step (a).
7. The method of claim 1 wherein the first node and the second node
are part of a subset of the plurality of nodes, wherein the subset
is identified based on at least one of the plurality of
attributes.
8. The method of claim 1 further comprising repeating steps (a)
through (e) for each of the plurality of nodes.
9. The method of claim 8 further comprising graphically displaying
the comparative distances calculated at the steps (e).
10. The method of claim 1 further comprising the step of
identifying one or more additional nodes based on the assessed
similarity between the first node and the second node.
11. A method for determining node placement among a collection of
nodes grouped in clusters comprising the steps of: a. determining
an attribute of a first node in a first cluster; b. determining an
attribute in common among multiple nodes in a second cluster; c.
assessing the similarity between the first node attribute and the
second cluster common attribute; d. placing the first node into the
second cluster based in part on the assessed similarity between the
first node attribute and the second cluster common attribute.
12. A method for serving content to a node in a network of nodes
comprising the steps of: a. creating a relationship between a first
node in the network and a second node in the network based on an
assessment of the similarity between one or more attributes of the
first node with one or more attributes of the second node; b.
identifying an attribute of the first node that is not in common
with an attribute of the second node; and c. serving content based
on the relationship and on the attribute of the first node that is
not in common with an attribute of the second node.
Description
RELATED APPLICATIONS
[0001] This application is a divisional of non-provisional U.S.
application Ser. No. 11/937,495 filed on Nov. 8, 2007, which claims
priority to U.S. provisional U.S. Application No. 60/857,570 filed
on Nov. 8, 2006. The contents of the aforementioned application is
hereby incorporated by reference.
FIELD OF THE INVENTION
[0002] This invention generally relates to systems and methods of
establishing meaningful connections between nodes on a network and
allowing synchronization of those nodes.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] A full and enabling disclosure of the present invention,
including the best mode thereof directed to one of ordinary skill
in the art, is set forth in the specification, which makes
reference to the appended drawings, in which:
[0004] FIG. 1 is a flowchart of an exemplary system for
establishing meaningful connections between nodes on a network and
allowing synchronization thereof.
[0005] Repeat use of reference characters in the present
specification and drawings is intended to represent same or
analogous features or elements of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0006] Reference will now be made in detail to presently preferred
embodiments of the invention, one or more examples of which are
illustrated in the accompanying drawings. Each example is provided
by way of explanation of the invention, not limitation of the
invention. In fact, it will be apparent to those skilled in the art
that modifications and variations can be made in the present
invention without departing from the scope or spirit thereof. For
instance, features illustrated or described as part of one
embodiment may be used on another embodiment to yield a still
further embodiment. Thus, it is intended that the present invention
covers such modifications and variations as come within the scope
of the appended claims and their equivalents. Additional aspects
and advantages of the invention will be set forth in part in the
description which follows and, in part, will be obvious from the
description, or may be learned by practice of the invention.
[0007] The present invention is a system and related method for
establishing meaningful connections between nodes on a network. The
invention allows reliable information to be made available to the
nodes, such that computers and networks measure similarity between
nodes at a particular point in time.
[0008] While the invention has many different applications, one
specific embodiment relates to a system and method of creating and
operating a social learning network. For the purposes of this
example and the present disclosure, copending patent application
entitled "System for Developing Literacy Skills Using Loosely
Coupled Tools in a Self-Directed Learning Process Within a
Collaborative Social Network", filed simultaneously herewith and
bearing Attorney Docket No. 28849/09004 is incorporated herein in
its entirety. The present system and method may be incorporated, in
one embodiment, into the learning process within the collaborative
social network described therein.
[0009] Generally speaking, a "node" should usually have unique
identifying characteristics, be capable of receiving information,
and be capable of communicating, displaying, acting, or otherwise
using information. Generally, in the present method and system, the
node must be "registered" at some point. This usually requires that
the node be identified in some manner and then information should
be received about the node. At some point, the needs of the node
will be determined Those needs could be determined based on
characteristics of the node; sequences of events, triggers, or
actions related to the node; or by comparison of
similarly-situation nodes. The needs, in the present system, can be
self-updating and can be defined by a cycle of repeating steps and
assessments.
[0010] The needs of the node(s) are then mapped into an orientation
of one or more events. Of course, the orientation and map can be
constantly changing, which would change the ultimate
synchronization at times. Once the orientation and synchronization
has been determined, then the nodes can be handled in various ways.
Among the ways that the nodes can be addressed include delivering
satisfaction of the nodes' needs, notifying of other nodes having
the same or similar needs or orientation, establishing
communication between the node and similarly-situation node(s), or
converting similarly-situation node(s). The system may then move on
to the next state after the option has been presented and/or
addressed to the node, after the passage of a certain amount of
time, or after the occurring of an external event.
[0011] Therefore, the present system and method is a dynamic system
which is constantly and continuously changing. In particular, the
needs set and the orientation set are continuously changing. The
vector of attributes changes based on behavior and events.
[0012] However, the present invention allows the "clocks" to be set
for distributed nodes based on these continuously changing vectors.
The "clock is set" by the present method by putting all the nodes
in the same state; defining similar needs and attribute sets; and
providing similarly-situation (or "synchronized") nodes with
similar or the same options. The synchronization of the present
method actually allows coordination of the nodes by providing a
synchronous relationship on top of asynchronous relationships.
[0013] In the particular embodiment described herein as an example,
the "nodes" of the system are the participants themselves. In the
social learning network, definitions of "nearness" that might
affect similarity include attributes related to participants such
as the participant's position in learning cycle; the titles and/or
genres of books being read or the subject matter of the projects
being undertaken; the ages, grades, and skill levels of the
participants; and the participant's language, location, etc, The
informative attributes being tracked by the system can be any
attribute or characteristic of a participant in the social learning
network, any aspect of the material to be learned, or any other
point that can be objectively defined.
[0014] Definitions of "time" in relation to the nodes of each
network can be different for each participant, but a master clock
relates these to Universal Time and establishes metrics to
determine which clocks of each node are similar. This invention
also creates a matrix of pairwise "distances" between each set of
nodes under consideration. Creation of such a matrix enables
concepts of either metric or non-metric multidimensional scaling to
be used to visualize the data and select clusters, to which the
system can send or receive multimedia content, messages, or
information about resources on the web.
[0015] Referring to FIG. 1, an exemplary system is shown that
manages connections between nodes in a learning community connected
by a wide area network. The system identifies clusters among the
nodes that share similar attributes, sends or receives content or
links to content to those nodes, and passes information to the
nodes to let them know they are part of a particular cluster.
[0016] A set of nodes in the network can be thought of as a tensor
field, composed of vectors that each embodies coordinates of
similarly measured attributes such as space and time, arbitrarily
defined. Distance between two vectors can be expressed by the
metric tensor, a tensor of rank 2 (i.e. a matrix). Consider a
general vector x=[x.sub.1 x.sub.2 . . . ]. The distance between two
vectors in matrix form is
( .DELTA. s ) 2 = [ g 11 g 12 g 21 g 22 ] .times. [ [ .DELTA. x 1
.DELTA. x 2 ] [ .DELTA. x 1 .DELTA. x 2 ] ] ##EQU00001##
[0017] where ??? denotes cross product and ??? outer product. The
system is configurable with regards to the definition of the x's
and the value of the g's.
[0018] Time in the synchronization is defined fundamentally by the
cycles of the participants in the social learning network. As in
all definitions of time, the social learning network goes through
cycles, which are progressions during which participants go through
sequences of independent and interdependent actions at superimposed
scales. The definition of time and the position on the clock is
based on an n-element time vector, whose distances from other
clocks' positions can be calculated.
[0019] The system thus includes a master clock that can transform
the time definition for a participant in the social learning
network into Universal Time, and the synchronizer coordinates
positions of participants who are operating in the context of their
own clocks. When an event occurs, i.e. a state change or
transition, the positions and their distances are reevaluated.
Positions and/or events may change based on interaction with, or
attributes of, nodes unrelated to the same clock. Therefore, the
system keeps track of which participants or sub-networks are
nearest one another and are, therefore, candidates for likeness
discovery and clustering. The coordinated nodes each have a vector
of dynamic attributes that are not necessarily predefined, but
which can be dynamically defined based on a particular set of
coordinates for a social learning network, i.e., choosing the set
of x's and the value of the g's in the equation above. Previously
unsynchronized attributes may change based on interactions between
nodes.
[0020] Computational efficiency in analyzing such complicated
relationships requires reducing the dimensionality of the problem,
i.e., representing the data in a smaller number of dimensions.
Several techniques may be used, and experience with the system
enables the analyses to be refined. One technique is
multidimensional scaling which, in its simplest form, starts with a
matrix of pairwise distances between the nodes and not the nodes'
coordinates. These pairwise distances are possibly scaled or
possibly asymmetric. The relative magnitudes of the eigenvalues of
this distance matrix indicate which columns of the matrix
contributes most to the estimation of the position of the nodes
based only on the pairwise distances. When several of these
eigenvalues are much larger than the rest, then the corresponding
columns provide a lower-dimensional representation that adequately
describes the data. The concept is extended to varying weights and
missing data, and includes nonlinearities and categorical
variables. Once coordinates in the particular spacetime of the
network are established, multidimensional Voronoi diagrams and
their duals,
[0021] Delaunay triangulation, are used to keep track of the
magnitude of readjustment needed when a node changes state.
[0022] Once clusters of similarity are identified, the system
targets information to those nodes. Information includes a
notification that each node is part of a particular cluster, along
with content, and links to additional content that is related to
the focus of the cluster. The system may also receive information
from each node that changes the node's state, Universal Time, or
clustering of the nodes.
[0023] In the particular embodiment where the reading of books by
mentors and students is the type of learning activity involved in
the present system, the following "clocks" exist and are
synchronized according to the present method. The simultaneity
between all of the clocks helps provide a rich and unique
experience for each student who is communicating, generally in
writing with a mentor or "pen pal" about the subject matter of the
jointly-read book. For example, the Genre Clock is timed to the
various stages of the cycle and the specific genre; the Pen Pal
Pairs Clock is timed according to the actual timing of pen pal
deliveries in the cycle; the Individual Pen Pal Clock reflects the
particular interests and activities of a specific pen pal; and the
Community Clock provides an ongoing assortment of community related
activities that may or may not be related to the genre or the pen
pal's stage in a cycle.
The Genre Clock
[0024] All participants may follow the same genre sequence so there
will be a set of genre-related information and activities that each
participant is offered when they reach a particular point in the
cycle. For example, a week after a pen pal receives a book to read,
the system operator portion of the method will remind the pen pal
to check out "About the Book" for additional information about the
book. As another example, when a pen pal is waiting for their pen
pal's letter, the pen pal may be asked to participate in a
subject-related field trip.
The Pen Pal Pair Clock
[0025] Each pen pal pair will have its own schedule and individual
cycles will flow according to the book selection dates, the reading
of the book, and the transfer and receipt of letters between the
pen pal ("mentor") and student. Each pen pal pair cycle may take a
different amount of time. Every sign-on by every pen pal will be
unique because the website will always reflect where a pen pal is
in a cycle as well as what activities and resources relate to their
specific interests.
The Individual Pen Pal Clock
[0026] Although it is similar to the pen pal pair clock, the
individual pen pal clock will also contain items and activities
that reflect the individual pen pal's experiences and interests.
For example, if the pen pal regularly completes crossword puzzles,
the pen pal may be invited to participate in a cross-community
crossword challenge.
The Community Clock
[0027] This is the part of the system that is constantly changing
and encouraging participants to interact with the community. It
includes polls, contests, live feeds, etc.
[0028] While one or more preferred embodiments of the invention
have been described above, it should be understood that any and all
equivalent realizations of the present invention are included
within the scope and spirit thereof. The embodiments depicted are
presented by way of example only and are not intended as
limitations upon the present invention, Thus, it should be
understood by those of ordinary skill in this art that the present
invention is not limited to these embodiments since modifications
can be made. Therefore, contemplated that any and all such
embodiments are included in the present invention as may fall
within the scope and spirit thereof.
* * * * *