Three-dimensional network mapping system and method

A three-dimensional network mapping system that includes a database; a web crawler interfacing with the database, the web crawler adapted to visit a website and download website content data relating to the website to the database; and a user interface interfacing with the database, the user interface adapted to form a three-dimensional website map by orienting the website content data in an organized three-dimensional web page structure representing a layout of the website. A three-dimensional network mapping method is also disclosed.

FIELD OF THE INVENTION

Illustrative embodiments of the disclosure generally relate to systems and methods for mapping the Internet and other networks. More particularly, illustrative embodiments of the disclosure relate to a three-dimensional network mapping system and method for three-dimensional mapping of web pages from the Internet or other network.

BACKGROUND OF THE INVENTION

A conventional web browser displays web pages on a website one page at a time. A user can sequentially access the web pages by clicking a forward or backward button on the browser. If numerous web pages are sequentially accessed and viewed, the user may be required to click the backward button on the browser multiple times to reach a page which was previously accessed. Moreover, in some instances a user may desire to access and view web pages from multiple websites simultaneously.

In computer graphics, objects are represented three-dimensionally on a two-dimensional computer screen, enabling a viewer to comprehend more than one view of the object. Three-dimensional objects are generated using a collection of points in three-dimensional space and may be connected with triangles, lines or other entities. Methods are known for generating three-dimensional object data models which utilize point clouds and geometric shapes.

A three-dimensional network mapping system and method for three-dimensional mapping of web pages from the Internet or other network may be desirable for some applications.

SUMMARY OF THE INVENTION

Illustrative embodiments of the disclosure are generally directed to a three-dimensional network mapping system. An illustrative embodiment of the three-dimensional network mapping system includes a database; a web crawler interfacing with the database, the web crawler adapted to visit a website and download website content data relating the website to the database; and a user interface interfacing with the database, the user interface adapted to form a three-dimensional website domain by orienting the website content data in an organized three-dimensional organizational structure representing a layout of the website in a simulated three-dimensional environment.

Illustrative embodiments of the disclosure are further generally directed to a three-dimensional network mapping method. An illustrative embodiment of the method includes obtaining website content data relating to a website and forming a three-dimensional website domain by orienting the website content data in an organized three-dimensional web page structure representing a layout of the website in three-dimensional space.

DETAILED DESCRIPTION

Referring initially toFIG. 1of the drawings, an illustrative embodiment of the three-dimensional network mapping system, hereinafter system, is generally indicated by reference numeral100. As will be hereinafter described, the system100may be adapted to retrieve website content data105which relates to linked websites, web pages or domains (hereinafter websites) on the Internet, generate a three-dimensional network map500which represents the layout of the website or websites and present the linked websites in the three-dimensional network map500(FIG. 5) in space on a display screen103a(FIG. 5) of a user interface103such as a computer, smart phone or tablet, for example and without limitation. The system100may be built on a cross-platform game engine such as a 3D engine known as Unity 3D, for example and without limitation. While the system100will be described herein as applicable to linked websites on the Internet, it will be recognized and understood that the principles of the system and method may be amenable to other applications such as the three-dimensional network mapping of networks (such as routers and switches) or for visualizing the internal structures of software applications, for example and without limitation.

According to implementation of the system100, websites may be attracted to each other when there is a link between them. The linked websites may be repelled by any non-linked websites which approach them in the three-dimensional space. Other simulated physical forces may also be applied to the websites, creating an organized three-dimensional website structure that represents the layout of the website or linked websites. A similar structure may also be created that shows how websites fit in with other websites to which they link.

As illustrated inFIG. 1, the system100may include a web crawler101. A database102may interface with the web crawler101. The user interface103may interface with the database102.

The web crawler101may be hosted on a cloud server. The web crawler101is programmed to visit websites, download website content data105and “fuzz” the data105. Fuzzing is a method which is used by web crawlers to throw away irrelevant bits of data and keep only important data. The web crawler101collects and stores the website content data105and store the data105in the database102. The website content data105which the web crawler101collects and stores may include information regarding the size of the website, which pages the website contains, any links to other websites and any security vulnerabilities. The system may be implemented using any type of crawler known by those skilled in the art as long as the crawler is capable of supplying the required website content data105.

The database102may be any type of database which is capable of storing the required website content data105. In some embodiments, the database102may be a distributed “HBase” infrastructure which spreads the database across multiple servers for efficiency. HBase is a non-relational, distributed database modeled after Google's BigTable and written in Java. The database102stores the website content data105that the web crawler101collects and distributes the website content data105to the user interface103when a user (not illustrated) at the user interface103requests the website content data105in a three-dimensional format.

The user interface103may connect to the database102over the Internet. The user interface103may be configured to transmit to the database102an information packet104which requests website content data105that relates to the structure of a website obtained by the web crawler101and stored in the database102. The information packet104may also request website content data105which specifies other details about the website that were requested by the user and are to be downloaded to the user interface103. The database102is adapted to respond to the information packet104by transmitting the website content data105to the user interface103. The user interface103may be configured to organize the website content data105and display the website content data105to the user in a three-dimensional format.

Referring next toFIG. 2of the drawings, an exemplary user interface103which is suitable for implementation of the system100is illustrated. The user interface103may include a network controller201. A galaxy controller202may interface with the network controller201. A domain controller203may interface with the galaxy controller202. An input controller204may interface with the galaxy controller202and the domain controller203. The input controller204may include user controls205which enable a user to operate the system100.

The network controller201of the user interface103may communicate with the database102(FIG. 1) over the Internet. The network controller201may transmit information packets104to and receive website content data105from the database102. The network controller201may also maintain a stable connection with the database102over the Internet. When it has received new website content data105from the database102, the network controller201accesses a data recipient component304(FIG. 3) on the galaxy controller202, as will be hereinafter described.

The galaxy controller202of the user interface103may place the web pages into three-dimensional space and coordinate the relationships of multiple domains, websites or web pages in a website to each other in the three-dimensional space. The domain controller203of the user interface103may coordinate the movement and behavior of web pages and links between web pages within a domain.

The input controller204of the user interface103may process user input. The user controls205of the input controller204may include controls for rotating the view, zooming in and out, clicking on objects, dragging objects and double-clicking on objects, for example and without limitation. The user controls205may vary depending on the type of device (computer/laptop, web browser, smart phone, etc.) on which the system100is deployed.

When the user zooms in or out past a certain defined zoom level the input controller204may send a message to the galaxy controller202telling it to behave in either System View, if the screen has been zoomed in close, or Galaxy View, if it is further away.

Referring next toFIG. 3of the drawings, an exemplary galaxy controller202which is suitable for the user interface103(FIG. 2) is illustrated. The galaxy controller202may include a progenitor component301which interfaces with the network controller201. An interest value engine302may interface with the network controller201. A data recipient component304may interface with the network controller201. A spawner domain303may interface with the data recipient component304. A domain controller203may interface with the spawner domain303and the data recipient component304. The galaxy controller202may also include an system forces application component305and a galaxy forces application component306which interface with the network controller201.

The progenitor component301of the galaxy controller202may load a predetermined starting domain or website. The progenitor component301may also transmit a query to the network controller201for additional information on the domain.

The interest value engine302of the galaxy controller202may start when the application is initiated and may be configured to run periodically, such as every two seconds, for example and without limitation. The interest value engine302may add interest to whichever domain the user is focusing on (currently-focused domain) and may also add a smaller amount of interest to the domains that are linked to the currently-focused domain. The interest value engine302may normalize the total interest values across all domains such that the total interest assigned does not exceed a defined cap. When a domain accumulates sufficient interest value, the interest value engine302may transmit a request to the network controller201to retrieve additional information on that domain.

The data recipient component304of the galaxy controller202may receive website content data105(FIG. 1) from the network controller201and transmit the retrieved website content data105to the spawn domain303. The spawner domain303spawns the website content data105, or creates the domain and places it onto three-dimensional space, generating a three-dimensional (3D) website domain.

The system forces application component305applies forces that act on the 3D website domain when the user zooms the 3D website domain into system view. Forces in the 3D environment are created by defining a direction and a strength (together these two elements are called a vector) and telling the 3D engine to apply that force to a specific object in 3D space. The system forces application component305may load when the application loads and may continually update the forces periodically (forces may be recalculated as often as 50 times per second, for example and without limitation). The system forces application component305may apply the following forces to every 3D website domain:

(2). Cross domain pull/push: Force=h*(r*s/m)−p. This calculation is called for each domain that exists (d) and other domains that also exist (od). Heading (h) is the vector from od to d. (s) is the size (number of pages) of d. Repulsion (r) and Pull (p) are constants. (m) is the magnitude of h.
(3). Domain separator: Force=h*(r/m). This calculation is called for each domain that is currently showing pages (d) and other domains that exist (od). Heading (h) is the vector from od to d, ignoring the vertical axis. (m) is the magnitude of h.

The galaxy forces application component306may load when the application loads and may continually update the forces (forces may be recalculated as often as 50 times per second, for example and without limitation). The galaxy forces application component306may apply the forces that act on the domain when the user zooms the 3D website domain into galaxy view. The galaxy forces application component306may apply the following forces to every domain:

(2). Origin force: The position of the current domain in focus (ignoring the vertical component) times the cohesion constant;

(3). Cross domain pull/push: Force=h*(r*s/m)−p. This calculation is called for each domain that exists (d) and other domains that also exist (od). Heading (h) is the vector from od to d. (s) is the size (number of pages) of d. Repulsion (r) and Pull (p) are constants. (m) is the magnitude of h.

Referring next toFIG. 4of the drawings, an exemplary domain controller203suitable for implementation of the user interface103(FIG. 2) is illustrated. The domain controller203may include a domain concealment component401and a domain display component402which interface with the galaxy controller202. A system structure component403and a system concealment component404may interface with the galaxy controller202. The domain controller203may also include an galaxy forces application component405and a system forces application component406which interface with the galaxy controller202.

The domain concealment component401may disable all the display elements associated with a 3D website domain. The domain display component402may enable all the display elements associated with the current domain project. The system structure component403may hide the domain object and create all the pages associated with the current domain object. The system structure component403may launch the pages in a random direction in three-dimensional space, and the forces that are applied cause the launched pages to structure themselves. The system concealment component404may delete all the pages from view and show the domain object. The galaxy forces application component405may load when the domain is first spawned and may continually periodically update the forces (such as 50 times per second, for example and without limitation). The galaxy forces application component405may apply the forces that act on the pages associated with a domain when the domain is not spawned. In some embodiments, no pages may exist in this view; therefore, forces may not be applied to the pages. The system forces application component406may load when the domain is first spawned and may continually and periodically update the forces (such as 50 times per second, for example and without limitation). The system forces application component406may apply the forces that act on the pages associated with a domain when the domain is spawned. The system forces application component406may apply the following forces to every domain:

(1). Heading: Force on home=h*c. (h) is the vector of the domain position excluding the y axis. (c) is the cohesion constant;

(2). Buoyancy: Force=−y−(s−d)*h*b. (y) is the y value of the position of page. Surface (s) is a constant. Height of one level (h) is a constant. Depth (d) is how high the object should float. Buoyancy force (b) defines how much effect buoyancy should have and is a constant;
(3). Push/pull to home: Force=h*(r/m)−c. Every page receives a force attracting them to a particular distance away from the home page. Heading (h) is the vector from the current page to the home page. Repulsion (r) and cohesion (c) are constants. The magnitude of h is (m);
(4). Repulsion: Force=h*(r/m). This is applied from every page (p) to every other page (op). Heading (h) is the vector from p to op. Repulsion (r) is a constant. The magnitude of h is (m).
(5). Pull: Force (from)=−h*p; Any two pages that are linked are pulled closer to each other. Heading (h) is the vector from the origin of the link to the destination. Pull (p) is a constant;
(6). Pull: Force (to)=h*p.

Referring next toFIG. 5of the drawings, an exemplary three-dimensional network map500generated according to an illustrative embodiment of the three-dimensional network mapping system and method100is illustrated. In exemplary application, the web crawler101(FIG. 1) visit websites, downloads website content data105and “fuzzes” the data105. The retrieved website content data105is stored in the database102. A user (not illustrated) operates the user interface103to retrieve selected website content data105from the database102. The user interface103spawns the website content data105and presents the pages of the website in a three-dimensional network map500in space on a display screen of the user interface103by operation of the components which were heretofore described with respect toFIGS. 2-4. The multiple web pages or domains501which are of interest to a user are oriented in three-dimensional space. Links502may connect the domains501to each other in the three-dimensional network map500.

Referring next toFIG. 6of the drawings, a flow diagram600of an illustrative embodiment of a three-dimensional network mapping method is illustrated. In block602, website content data relating to a website may be obtained. In block604, the website content data may be stored in a database. In block606, an information packet may be transmitted from a user interface to a database. The information packet may request website content data that relates to the structure of the website. In block608, the website content data may be transmitted from the database to a user interface responsive to the information packet. In block610, a three-dimensional website domain may be formed by orienting the website content data in an organized three-dimensional web page structure representing the layout of the website in three-dimensional space. Additional method steps may include those which were heretofore described with respect to the three-dimensional network mapping system100inFIGS. 1-5.

While the embodiments of the disclosure have been described above, it will be recognized and understood that various modifications can be made and the appended claims are intended to cover all such modifications which may fall within the spirit and scope of the disclosure.