Title:
A method of transmitting digital information across a network.
Field of the invention: This invention relates to a method of transmitting digital information across a network. In particular, the invention relates to a method of transmitting digital information across a network and to a digital information transmission network.
Background of the invention: It is believed that the invention can be applied advantageously in a system for sending, or transmitting, information across a "Small World Network". By "Small World Network" is meant a scale free network. The invention can be used to establish logic on nodes of a network so as to provide Small World Network characteristics to the nodes. For the purposes of this specification, the term "node" is to mean an autonomous digital element, or device, containing digital instructions. Examples of nodes include, but are not limited to, internet servers, mobile phones, GSM phones, monitoring equipment, computer networks, systems where mobile phones interact with infrastructure, such as, repositories of digital information on computers, and the like, for example.
The invention provides for an engine that sits on each node of a network so as to enhance efficient transmission of information from node to node through the network. The decision as to which next node the information is to be sent is determined locally at each node. The existence of long-links in the network renders the network a Small World.
Advantageously, the invention provides for connections between the nodes through presence in a user's address book. The address book can be in the form of a conventional address book for "contacts" and which is often used for storing contact information, such as, email addresses of commercial clients, phone numbers, and the like, for example.
Typically, there are communities within the network. The communities can be organic, such as, a chess club, for example, which is not normally presented in an address book, or systematic, such as, part of an "MSN" community, or the like, for example, which is normally presented in an address book. It is believed that nodes can be enabled intrinsically to evaluate context information so as to determine where to send information, such as a message, or the like, for example, relatively quickly and autonomously and to discount information when deemed appropriate.
Summary of the invention:
According to a first aspect of the invention, there is provided a method of transmitting digital information across a network, the method including: providing a network including a plurality of interconnected nodes, each node being arranged to transmit digital information to another node in the network; and providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node.
The method may further include providing instructions on each node arranged to enable the node to evaluate context of a plurality of nodes connected to that node so as to use the context of the connected nodes to determine which one of the connected nodes the information is to be sent.
Providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node, may include providing instructions for accessing information related to an owner of the information to be sent, stored on the other nodes operatively connected thereto.
Providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node, may include providing instructions for accessing information related to a destination of the information to be sent, stored on the other nodes operatively connected thereto.
Providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node, may include providing instructions for accessing information related to a history of the information to be sent, stored on the other nodes operatively connected thereto. Providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node, may include providing instructions for accessing information related to a time associate with the information to be sent, stored on the other nodes operatively connected thereto.
Providing instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node, may include providing instructions for accessing information related to social context of the information to be sent, stored on the other nodes operatively connected thereto.
According to another aspect of the invention, there is provided a digital information transmission network including: a plurality of interconnected nodes, each node being arranged to transmit digital information to another node; and instructions on each node, the instructions being arranged to enable the nodes to access information stored on other nodes operatively connected thereto so as to form context associated with information to be sent to another node.
Each node may include instructions arranged to enable the nodes to evaluate context of a plurality of nodes connected thereto, so as to use the context of the connected nodes to determine which one of the connected nodes the information is to be sent.
The instructions may include instructions for accessing information related to an owner of the information to be sent, stored on the other nodes operatively connected thereto.
The instructions may include instructions for accessing information related to a destination of the information to be sent, stored on the other nodes operatively connected thereto.
The instructions may include instructions for accessing information related to a history of the information to be sent, stored on the other nodes operatively connected thereto. The instructions may include instructions for accessing information related to a time associated with the information to be sent, stored on the other nodes operatively connected thereto.
The instructions may include instructions for accessing information related to social context of the information to be sent, stored on the other nodes operatively connected thereto.
Brief Description of the drawings:
Embodiments of the invention will now be described, by way of example, with reference to the accompanying diagrammatic drawings.
Figure 1 shows a schematic diagram indicating a two-dimensional embedded surface on a three-dimensional sphere representing a small world network;
Figure 2 shows a schematic diagram representing the propagation of information across a network, from node to node, in accordance with an embodiment of the invention; and
Figure 3 shows a schematic diagram representing incoming and outgoing targets in a (friends, family, business) or (ffb) system which is volume filling.
Detailed Description of preferred embodiments:
With reference to Figure 1 of the drawings, an aspect of the invention will now be described.
Figure 1 shows a schematic diagram illustrating a cartoon of a two dimensional embedded surface on a three dimensional sphere representing a small world network. Figure 1 illustrates information being propagated across a network. To propagate information between two arbitrary but preselected points "A" and "B", the user could go along an "a" wrap and continue through the "a" wrap around onto "b" to B. However to get to "C", requires "a", "b", "h", "I" and "j", unless the small world long-link "e" is followed, via "d", "e", "f ' and "g".
In terms of the invention, each node is able to make a localized decision by introspection on a certain amount of contextual information so as to enable that node to determine to which node or nodes payload information, or a message, or the like, for example, is to be propagated further. It is envisaged that the invention can conveniently be applied where a network includes a plurality of nodes and the nodes are arranged to send and receive information. The network is arranged such that the information is to find its way through the network organically, i.e. without reference to a central registry, and the destination is vaguely described in colloquial terms.
The invention relates to how a node determines where to propagate information to through the network, based on contextual information, or knowledge, gleaned from its nearest neighbours, or neighbouring nodes. This is achieved by determining a probability of an optimal path, or trajectory, for the information based on associated context. The node determines a forward path, or propagation, of the information by determining a metric with regard to each of its connected neighbours, excluding a source neighbor from which the information was received.
"Minimizing the trajectory of information" also needs to have a quantity to evaluate. Typically, this quantity can comply with the information derived from a Context Data Model, such as the context data model described in the Applicant's co-pending patent application entitled "A Method of Transmitting Digital Information" herein cited by reference.
The engine will then match the quality attributes such as time, profile, veracity, history and weigh the metrics.
The invention provides for a relatively simple, stable and small bit of software. The software can be written in any appropriate language. Typically, program flow is procedural. Advantageously, the policies of the engine can be changeable (by authorized agents, or the like, for example), as will be discussed in greater detail below.
Each node includes or implements an interface which is able to query a corresponding interface on its connected neighbours. In addition, every message carries associated contextual information.
As can best be seen with reference to Figure 2 of the drawings, the node 20 receives information, in the form of a message, or the like, for example. The node 20 then determines a most efficient path of propagation. Expressed in another way, upon receipt of the information, the node 20 determines to which of the neighbouring nodes, 22 to 30, the information is to be forwarded. It is presumed that the node 20 received the information, or message, from the node 32.
If O
j is the transmitting node 20 and O
1+1Vi € {l,2,..,fe} = F are the receiving nodes 22 to 30, an optimal path for propagating information "i" from the node 20 is a path where a value of the information is the highest. The value of passing information on can then be determined from ma%
/ep !?(©
£, O
;). The value is a measure of the social distance
Each component is independent, accordingly, t? =
o = {o
k} can be used for the value of transmitting information on. These can be called aspects of the context data model. If v
k is normalized, a probability can be reached. It is now desired to identify
= p*
j.
Taking the following context quantities as an example, we look at reasonable probability components pk. Assume the owner of the information is O1, at node 34, the intended recipient is oπ, at node 36, the transmitting node is σ,_j, at node 32, the active node is oέ, at 20 and the receiving nodes are ot^klk > 0, nodes 22 to 30. In a small world, an optimal trajectory, or path, has n^6 and k ranges from 0 to 25, in other words, k e C- The case where k=0 or 1, is trivial, since information either cannot propagate or can only propagate forwards in one manner.
A mote of information transferred can be designated by {x^}. The data carries information describing it, namely context. Note pfø ≠ p£j which implies that the value of information you give me is not the same as the value I give you.
Examples of aspects which can be used as context for determining the above probability include the following;
Owner - Typically, a node is not permitted to receive information if it is a leaf node, namely, if the node does not have additional connections. In addition, if a node is part of a three way cycle, information should not be permitted to double back on itself. Accordingly, if you send a message you should not receive the same message later. Whether this is implemented is typically a detail depending on the application. X
1 is the colloquial or formal name, not a GUID from a central registry. The active node 20 can dete'rmine who the originator of the information ( O
1) is and weigh the value of the information accordingly. Therefore, &
are the
contacts of node "i".
Destination - this is the end destination of the data. Not much information is known about it, but it serves to delocalize the algorithm. Assume the intended recipient of the information is on. The active node 20 can determine who the intended recipient is, and weigh the value of the information accordingly, by, for example, referring to their list of contacts. This can be component
P2.
Manifest - typically, this is a relatively simple mathematical tool for verifying that the context describes the correct associated data. This can be a mechanical process that confirms the context mote does describe the right message. If the message lacks fidelity p3 is zero, otherwise it is one. If X3 = ®(datά), then p3 =1 otherwise p3 =0. Data is the data being transmitted and ® is the operation used to create a signature of the data.
History - the path through the network is included in the message's context data. Typically, each node has a time stamp. Assume that history is denoted x« = {(θj), j € {!,, ,, i - 1} = 3ϋjJ, then p(øitøj) = L ^* ~ A Vj € 5ϋ,. In other words, do not send information to nodes which have already received it.
Time - this is to ensure that the data is still valid. Designated as x5 — {/"(t)}, in other words, the mote carries some time profile. Then p(xitx^) = fζtt%
Location - this aspect is less about distance and more about social context. Conveniently, this aspect can be designated x6. Although the physical distance between nodes is d(x-fX/) — J(^! ~χ/)2 + Cv'j ; ~>'/)2 + (Z| ι ~zj)2 the intention is to see whether the "distance" is reasonable given the context. Accordingly, minimizing the physical distance can be of lesser importance than establishing the location with regard to 'home' or 'work'. In addition, one may wish to send the information to a third destination. Social Context - the context information in this regard can be obtained through a mechanical process of regarding the information in the user's diary and address book. This social context can be interpreted differently when it enters a node than when it leaves a node. Conveniently, s7 = (friend, family, business) = (S'). Then if δi = 0 implies no affinity and δι = 1 implies maximum affinity, then if σjtk = (δj + &l)/2 then p(xJt xk) = ij(ert)2 jh (σ2)z + (<f3)2β- In this regard, refer to Figure 3.
Value - conveniently, x8= p.
Determining if the context is valid will now be described. A calculation is performed to determine the probability that information is valid in a certain context. This can be achieved by examining a time profile, the location, and the social context and comparing these with another value, such as, for example, the node's time and context, or the destination's time and context, or the like, for example.
For example, assume the node has 5 connections. The rules can be as follows:
1. Disregard all the visited nodes.
2. Disregard the feeder node, if one is present. 3. What is the time of the current node (using the same zone), arid is the data still valid (and will it become valid in future).
4. Given the originating data location and possible destinations, is the information relevant?
5. Given the social context data, is the information relevant. 6. If the information is of no value do not propagate forwards, or onwards.
7. Provide for visited nodes being allocated a value P(XvJaJtBd)= 0-
8. If the time function is zero, i.e. if P(tJ = 0, then P(X) =0.
9. If the next node is in the history (H), then P(xeH) = 0.
An Application Programming Interface (API) will now be described:
To ensure that each node can communicate with each of its connected, or neighbouring, nodes, a formalism for each node to choreograph and exchange context information will now be described. The "API" does not use the context mote directly, but is used to populate the context mote.
There can be a number of assumptions, namely: 1. There is no need for a registry of nodes.
2. There is no hierarchy between nodes.
3. Each node will have a standard way of receiving and transmitting context information.
4. Each node must provide information if requested, or challenged.
Each node should respond to the following requests, or challenges. In other words, the following interfaces should be implemented on each node.
1. Who is your owner?
2. Where are you located? For e.g. latitude or longitude or address or alias.
3. What is the time there? For example 12am GMT 4. How old are you? This will provide a time profile as described above.
5. Do you know me? Given my name, is it in your address book?
6. Do you know "X"? Given the name "X", is it in your address book?
7. What version are you?
8. What is in you your diary at this time and date? This can result in a counter request, or challenge to determine the level of access.
The active node 20 can now determine the probability that information holds value in that context P(X, Y, Z) were X is the outbound target context and Y is the message context, and Z their own.
For future interfaces the following sensor data can be requested, in addition to those mentioned above:
1. What is the weather?
2. What is the temperature? 3. What is the pressure?
This can be a pseudo code description of what the node knows. A completely valid response can be "don't know" for most of these questions. These responses result in a self describing xml response. The self describing xml response can be encoded appropriately. Typically, each node knows its context. This knowledge is related to the information available in the address book, diary or through other sensors such as a clock, and the like, for example.
It is interesting to note that social "rank" is not a natural feature of this network.
It can be possible for the destination candidate to spoof information. It is not necessarily the responsibility of the engine to prove that the node is who it says it is.
The way the implementation works is that if any one of the components is zero, then the total p is zero. It follows that/? cannot be improved because the components are all between zero and one - that is you cannot get information that overrides a quantity.
In addition, if the information is not there, that part of the product is simply not included - this is relevant if say ffb=O for both the receiver and the transmitter.
Typically, the history includes a complete contacts list through which the message has been passed.
Typically, the implementation of the engine depends upon the existence of a platform capable of passing data resplendent with context and receiving control messages.
The invention can be applied to filtering rules, social networking, and the like, for example. Accordingly, the invention provides for a relatively easy way to identify members in a guild or a social networking site, or the like, for example. The context information can be useful particularly when used in an application arranged to interact with the infrastructure. In this regard, the server systems can identify appropriate context in which to forward information to users as well as being able to authenticate users.
It is believed that the invention can be used advantageously in mobile technologies. However, it will be appreciated that the invention is not limited to such an application only.