TW201517555A - 網路視覺化系統及方法 - Google Patents

網路視覺化系統及方法 Download PDF

Info

Publication number
TW201517555A
TW201517555A TW103131452A TW103131452A TW201517555A TW 201517555 A TW201517555 A TW 201517555A TW 103131452 A TW103131452 A TW 103131452A TW 103131452 A TW103131452 A TW 103131452A TW 201517555 A TW201517555 A TW 201517555A
Authority
TW
Taiwan
Prior art keywords
node
nodes
quadtree
network
links
Prior art date
Application number
TW103131452A
Other languages
English (en)
Inventor
Fnu Nagarajan
Original Assignee
Cyan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cyan Inc filed Critical Cyan Inc
Publication of TW201517555A publication Critical patent/TW201517555A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種網路拓撲視覺化的系統和方法,包含定義一個代表網路拓撲的樹,其中最高層級細節包含對網路節點以及其間連接的表示且較低層級包含代表在較低層級細節中之節點叢集以及其間連接的節點。所述的樹之後被尋訪用以確認在一個視點的指定層級門檻值中的選定節點。端點具有非選定節點的詮釋鏈結將被確認並且異質鏈結被產生用以定義那些介於非選定節點中被選定後代間的連接。網路拓撲的圖形化呈現內容將被產生包含選定節點的代表、異質鏈結以及選定節點間的連接。圖形化呈現內容可以被傳送用以顯示給使用者。

Description

網路視覺化系統及方法
本發明是關於多種提供人可理解之視覺化網路拓撲的系統及方法。
現代的網路可以非常的複雜。例如,在一個具有大量相互連接設備的大公司或者組織中可能包含有非常大量相互連接的裝置(以下稱為“節點”)。要將這樣的網路視覺化是非常困難的。在一個高層級網路視圖中可能包含太多的資訊而且對於理解網路是無用的,同時需要大量的處理來運算這張圖。
因此,存在許多的演算法可用來在不同層級的細節中瀏覽資訊。例如,不同數量的細節可能會透過多個不同視圖來顯示。有些瀏覽圖的應用程式允許使用者於所在區域中進行放大或者縮小,來瀏覽包含區域中不同層級細節的圖。然而,在任何一個時間點,只能有一個層級的細節被顯示。在視點並非直接是下視點的情況下,遠處物件可能會顯示過多而且無法瀏覽細節,或者近處物件可能會顯示太少的細節。
在WSCG (2004)期刊中一篇由 Jörg Sahm 以及 Ingo Soetebier 所發表標題為“一種用於大而動態之3D場景視覺化的主從式場景圖”的論文(以下稱為“Sahm”),提出一種較接近視點之物件將被顯示較多細節而較遠離視點之物件將同時被顯示較少的細節的解決方案。
這種方法應用在大網路中會有困難,原因是大網路同時也會包含大量的長鏈結,這些長鏈結不僅會跨越多層級的細節界線,而且這些鏈結並非獨立的物件反而與其所連接的終端節點密切相關。
本申請案是與網路視覺化的改良演算法有直接關係,在這個演算法中同一網路的不同部分將會在同一個影像中以不同層級的細節被顯示。
本發明提出一種網路拓撲視覺化的系統和方法,在所揭露的網路視覺化電腦系統中包含一個或者多個處理器以及可以操作耦合到所述一個或者多個處理器的一個或者多個記憶體裝置,所述一個或者多個記憶體裝置儲存有一可執行以及可操作資料並有效使所述一個或者多個處理器執行以下步驟的方法:提供一網路呈現,包含多個網路節點以及連接所述多個網路節點中成對網路節點的多個鏈結,所述網路節點每一個都有與其相關之一位置;及產生所述網路呈現的一四叉樹呈現,四叉樹包含被以一層級架構方式排列的一根節點以及在該根節點下的多個四叉樹節點使所述根節點以及所述四叉樹節點每一個代表一四分區域,每一四叉樹節點所代表之該四分區域即為在該層級架構中其一父代之該四分區域的一部分並且該根節點之該四分區域包含與所述網路節點有關聯之至少一部分位置,其中產生該四叉樹呈現包含對該根節點以及作為一當前四叉樹節點之所述多個四叉樹節點中的至少一個節點執行以下步驟:
(a)確認所述多個鏈結中延伸跨越該當前四叉樹節點之多個當前子四叉樹節點的至少一跨越鏈結;(b)產生一詮釋節點,所述詮釋節點代表位於該當前四叉樹節點之所述四分區域中所述多個網路節點之一部份網路節點;(c)將所述跨越鏈結與所述詮釋節點與該當前四叉樹節點建立關聯;及(d)將位於該當前四叉樹節點中所述多個網路節點中所述該部份網路節點分散至該四叉樹中該當前四叉樹節點之當前子四叉樹節點以及與所述該部份網路節點具有關聯的任何非跨越鏈結,所述非跨越鏈結完全位於該當前四叉樹節點中最接近之一獨立當前子四叉樹節點之該四分區域。
本發明所揭露的網路視覺化方法中,主要是呈現包含多個網路節點以及連接到所述多個網路節點中成對網路節點之多個鏈結的一網路,所述網路節點每一個都有與其相關之一位置,該方法包含下列步驟:產生該網路呈現的一四叉樹呈現,該四叉樹包含被以一多層級架構方式排列的一根節點以及在該根節點下的多個四叉樹節點使所述根節點以及所述四叉樹節點每一個代表一四分區域,每一四叉樹節點所代表之該四分區域即為在該層級架構中其一父代之該四分區域的一部分並且該根節點之該四分區域包含與所述網路節點有關聯之至少一部分位置;及在所述多個網路節點以及所述四叉樹間產生一關聯,其中該根節點之每一個節點以及所述多個四叉樹節點與以下其中之一具有關聯:
(a)所述多個網路節點之一部份網路節點在該四分區域中有一位置,具有關聯之每一該節點以及所述多個鏈結中的任何鏈結獨佔於所述該部分網路節點中;及(b)代表所述多個網路節點之一部份網路節點的一詮釋節點在每一個節點以及一個或者多個詮釋鏈結之該四分區域內具有一位置,每一該詮釋鏈結代表多個跨越於每一節點之成對子四叉樹節點間鏈結的一個或者多個鏈結並且具有作為所述成對子四叉樹節點的端點。
本發明所揭露的網路視覺化系統和方法如上,具有可以快速呈現一個網路中不同部分包含不同層級細節呈現內容之網路的優點。本發明所揭露之方法更能夠以相對低的運算需求來實現這個功能。
本發明所述之元件,如同一般圖式中所描述以及說明的,應該可以容易理解這些元件可以透過各式各樣不同的配置方式來進行安排或者設計。因此,以下本發明實施例中更詳細的描述,如圖式中所表示的,並非是用來限制發明的範圍,如權利範圍所主張的,僅僅代表本發明目前所設想到之實施例的部分例子。目前所描述的實施例將可透過參照圖式來獲得最佳的理解,在整體中相同的部分將給予相同的圖式標號。
本發明已被發展完成用以作為對本領域目前狀況的回應,特別是,用以作為對本領域當前仍然無法被已知設備及方法所完全解決之問題和需求的回應。因此,本發明已被發展用以提供可將網路拓撲視覺化的系統,該系統包含一個或多個處理器及一個或多個可被耦合到所述一個或多個處理器的記憶體裝置。所述一個或多個記憶體裝置儲存可執行及可操作的資料可有效引起所述一個或多個處理器去定義一個網路拓撲之樹表示方式,其中最低層級包含網路中節點的表示及其間的連接並且在較高層級中包含在較低層級中節點叢集的節點表示及其間的連接,每個節點都有與其相關的位置。所述的樹也可以被巡訪用以確認在某個指定層級門檻值之視點下被選定節點。所述的樹也可以再次被巡訪用以確認那些可連接到非選定節點的被選定節點。或者,那些可連接到非選定節點的節點可以在樹的第一次巡訪過程中加以確認。異質鏈結可以被產生用來定義那些被確認之被選定節點與其他被選定節點之間的連接,這裡所述的其他被選定節點即是連接到一個被選定節點之鏈結的端點的非選定節點之後代。一種網路拓撲的圖形化表示方式將被產生,其中包含被選定節點的表示、異質鏈結及被選定節點間的連接。此圖形化表示方式可以被傳送用以顯示給使用者。
本發明所提出的實施例,可以透過一種設備、方法或者是電腦程式產品來加以體現。因此,本發明可以完全是硬體實施例、完全是軟體實施例(包含韌體、常駐軟體、微指令等),或者是結合軟體及硬體各方面也就是本文中通稱為“模組”或者“系統”的實施例。此外,本發明也可以是實現在任何可表達之有形媒介中的電腦程式產品,此電腦程式產品在媒介中具有電腦可使用程式碼。
任何一種或多種電腦可使用或者電腦可讀取之媒介的組合可以被運用。例如:一種電腦可讀取媒介可能包含可攜式電腦磁碟、硬碟、隨機存取記憶體裝置、唯讀記憶體裝置、可抹除程式化唯讀記憶體裝置、可攜式光碟唯讀記憶體、光學儲存裝置以及磁性儲存裝置中的一個或多個。在一些選定的實施例中,電腦可讀取媒介包含可以容納、儲存、通訊、傳送或者轉送提供指令執行系統、設備或者裝置使用或者與其有關之程式的非暫態媒介。
用以實現本發明的電腦程式碼可以由一種或多種的任何程式語言組合方式來撰寫,包含像是:Java、Python、Smalltalk、C++或類似的物件導向程式語言,或者像是:C的傳統程序化程式語言,或者類似的程式語言。所述電腦程式碼可以完全在單一電腦系統中以獨立軟體封裝的方式執行、在獨立硬體單元中執行、一部分在距離電腦有點距離之遠端電腦執行或者完全在遠端的電腦或者伺服器執行。在後者的情況下,遠端電腦可以透過任何型態的網路,像是:區域網路、廣域網路來連接電腦,或者由一個外部電腦(例如:透過Internet使用網際網路服務供應商)來完成連接。
以下將參照依本發明實施例所述之流程圖說明及/或方法的方塊圖、設備(系統)以及電腦程式產品對本發明進行說明。需理解的是流程圖中每個區塊的說明及/或方塊圖,以及流程圖每個區塊的說明及/或方塊圖的組合,透可以透過電腦程式指令或者程式碼來實現。這些電腦程式指令可以被提供給一般電腦的處理器、特定目的之電腦或者其他用以產生計算機的可程式化資料處理設備,使得這些透過電腦之處理器或者其他可程式化資料處理設備執行的指令,產生用以實現流程圖及/或方塊圖中單一區塊或者多個區塊所指定之功能/行為的手段。
這些電腦程式指令可以被儲存在非暫態的電腦可讀取媒介中用以指揮電腦或者其他可程式化資料處理設備依照特定方式產生功能,使得這些儲存在電腦可讀取媒介中的指令產生製造包含用來實現流程圖及/或方塊圖中單一區塊或者多個區塊所指定之功能/行為之指令手段的物品。
所述電腦程式指令也可以被載入到一台電腦或者其他可程式化資料處理設備上用以引起一連串執行於電腦或其他可程式化設備的操作步驟,使電腦實現程序令執行於電腦或其他可程式化設備上的指令可以提供實現流程圖及/或方塊圖中單一區塊或者多個區塊所指定之功能/行為之程序。
「第1圖」說明了一個可以實現以下所述各種方法的系統100,系統100包含一個或多個伺服器系統102,每一個伺服器系統102可以透過一台或者多台且每台包含一個或多個互相進行資料通信之處理器的伺服器電腦加以實現。伺服器系統102可以在第一位置與一台或者多台工作站104以及在另一個不同位置與其他一台或者多台工作站106進行資料通信。所述的每一個工作站104、106都是網路的節點以及作為一個叢集也可以被定義是網路的一個節點。工作站104、106具體可以是任何網路所連接的電腦裝置,像是:桌上型電腦、膝上型電腦、平板電腦、智慧型手機或類似的電腦裝置。
部分或者全部的伺服器102、工作站104以及使用者的工作站106可以通過網路108進行彼此間的通信。網路108具體可以是設備之間的點對點連接、區域網路的連接、WiFi網路、網際網路或者任何其他通信媒介或系統。
前面所述的系統100只是網路系統中可以根據本文所述之方法進行視覺化的其中一個範例。工作站104、106的叢集數量、伺服器102、網路108以及這些元件之間的安排和連接可以有任意的組態方式也可以根據任何設計這樣網路的原則來加以組織。如前面所提到的,大的網路也可以根據本文所揭露之方法輕易予以視覺化。
「第2圖」是說明一種運算裝置200例子的方塊圖。運算裝置200可以用來執行各種不同程序,如本文中所討論到的。伺服器系統102、工作站104以及工作站106可以具備運算裝置200的部分或者全部的屬性。運算裝置200可以具備如伺服器、如終端或者如其他任何運算個體的功能。運算裝置200可以執行本文中所討論的不同監控功能,並且可以執行一個或者多個應用程式,如本文中所述的應用程式。運算裝置200可以是任何各式各樣的運算裝置,例如是:桌上型電腦、筆記型電腦、伺服器電腦、手持式電腦、平板電腦或者其他類似的電腦。
運算裝置200包含全部耦合至一個匯流排212上的一個或者多個處理器202、一個或者多個記憶體裝置204、一個或者多個介面206、一個或者多個大容量儲存裝置208、一個或者多個輸入/輸出裝置210以及一個顯示裝置230。處理器202包含一個或者多個處理器或者控制器用以執行儲存在記憶體裝置204與大容量儲存裝置208中的指令。處理器202也可以包含不同類型的電腦可讀取媒介,像是快取記憶體。
記憶體裝置204可以包含不同的電腦可讀取媒介,像是:揮發性記憶體(例如:隨機存取記憶體214)及/或非揮發性記憶體(例如:唯讀記憶體216)。記憶體裝置204也可以包含可複寫式唯讀記憶體,像是:快閃記憶體。
大容量儲存裝置208可以是不同電腦可讀取媒介,像是:磁帶、磁碟、光碟、固態記憶體(例如:快閃記憶體)等等。如「第2圖」所示,所述的特定大容量儲存裝置即是硬碟224。各種驅動器也可以被包含在大容量儲存裝置208中以便能夠從各種不同電腦可讀取媒介中進行讀取及/或寫入。大容量儲存裝置208包含可移除媒介226及/或不可移除媒介。
輸入/輸出裝置210包含各種可以自運算裝置200中進行資料及/或其他資訊輸入或者擷取的裝置。範例中的輸入/輸出裝置210包含游標控制裝置、鍵盤、觸控板、麥克風、監視器或其他顯示裝置、喇叭、印表機、網路介面卡、數據機、鏡頭、感光耦合元件或者其他影像擷取裝置等等。
顯示裝置230包含任何型式可以用來顯示資訊給運算裝置200之一個或者多個使用者的裝置。範例中的顯示裝置230包含一個監視器、顯示終端、視訊投影裝置等等。
介面206包含各種可以使運算裝置200與其他系統、裝置或者運算環境互動的介面。範例中的介面206包含任何數量的不同網路介面220,例如:區域網路介面、廣域網路介面、無線網路以及網際網路的介面。其他介面可以是使用者介面218以及周邊裝置介面222。介面206也可以包含一個或者多個使用者介面元素218。介面206也可以包含一個或者多個周邊介面,像是印表機介面、指向裝置(例如:滑鼠、軌跡板)介面、鍵盤介面等等。
匯流排212可以使處理器202、記憶體裝置204、介面206、大容量儲存裝置208以及輸入/輸出裝置210彼此互相通信,也可以與其他耦合至匯流排212的裝置或者元件進行通信。匯流排212可以呈現一種或者多種不同的匯流排架構,像是:系統匯流排、PCI匯流排、IEEE 1394匯流排、USB匯流排等等。
為方便說明,程式與其他可執行程式元件在本文中將以分散的區塊表示,然需請理解的是這些程式以及元件可能在不同時間下常駐在運算裝置200的不同儲存元件中被處理器202所執行。另外,本文所述的系統和程序可以被實現於硬體,或者硬體、軟體及/或韌體的組合中。例如:一個特定應用積體電路可以被程式化用以實現一個或者多個本文中所述的系統以及程序。
請參見「第3圖」,說明一種方法300可以被運算裝置200執行用來視覺化一個網路拓撲。該方法300可用於網路拓撲的執行,尤其在具有大量與位置相關之節點的網路拓撲特別有用,這些節點的位置分散在一個大區域而且網路節點間的連接同樣也跨越了很大的距離。該方法300將網路拓撲中的網路節點都組織在一個四叉樹。在初始的步驟,一個根四叉樹節點(以下稱根節點)被定義包含所有網路節點的位置或者包含所有感興趣且將透過本文所揭露之方法視覺化的網路節點。為了方便本文的揭露,一個“四叉樹”以及所討論被組織在四叉樹中的“四叉樹節點”,其中每個四叉樹節點將不會超過四個子四叉樹節點。然而,可以理解的是每個四叉樹節點對於一個所給定的節點來說可以指向一個具有任何數量之子節點的樹。當然,雖然一個四叉樹節點可以有多達四個(或者其他數目)的子節點,但在某些情況一個四叉樹節點可能少於這個數目。
該方法開始於一個當前的四叉樹節點被設定指向根節點。方法300中步驟的描述進行將自一個當前節點一直描述至根節點下的某個深度。因此,方法300將包含評估當前四叉樹節點是否已經到達根節點下的最大深度。如果是,網路拓撲中所有位置在當前四叉樹節點所定義範圍內的任何網路節點都將建立與當前四叉樹節點間的關聯(步驟304)。如上所述,根節點可以包含整個網路或者是部分將被視覺化網路的範圍。根節點的子四叉樹節點用來表示這個範圍內的各個部份。舉例來說,該範圍可能被區分為N(例如:N=4)個區域,每個區域都建立與一個四叉樹節點的關聯。同樣的,所有但屬於最低層級的四叉樹節點(“葉”四叉樹節點)所屬的範圍將被細分為N個區域而且這些分支將因此被建立與子四叉樹節點間的關聯。與四叉樹節點有關的區域同時具備與網路拓撲有關的廣度以及位置。在一些實施例中,一個四叉樹節點位置可能是以該四叉樹節點所表示之區域的中心點的位置來作為表示。
在步驟302中,如果當前節點並未在最大深度層級中被發現,則方法300包含決定當前四叉樹節點之節點數的步驟,例如:計算所有位置在當前四叉樹節點之範圍內的節點數量(步驟306)。在步驟308中,如果計數結果被發現少於或者等於預設的最大計數數量,那些被定義在當前四叉樹節點範圍內的節點將被建立與該四叉樹節點間的關聯(步驟304)。在一些實施例中,最大計數數量會設定與一個四叉樹節點之子節點的最大數量一樣,例如:四叉樹節點最多只能有四個子四叉樹節點,則最大計數數量會設定為四。
在步驟308中,如果計數結果被發現大於預設的最大計數數量,則方法300包含產生一個詮釋節點並且與當前四叉樹節點間建立關聯(步驟310)。詮釋節點可以是一個個體將被用來表示本文方法在步驟306中所決定的節點。詮釋節點具有一個被定義為當前四叉樹節點中心的位置,例如:四叉樹節點位置,或者表示為位於當前四叉樹節點中各個網路節點的平均位置。
該方法300於步驟312中更包含將當前四叉樹節點的區域進行分割以得到N個子區域且每個子區域在當前四叉樹節點的區域中都有個中心點位置,而所有子區域可以涵蓋住整個當前四叉樹節點的區域。例如:一個矩形區域可以被分割為四個較小的矩形。每一個子四叉樹節點都可以被定義與子區域的其中之一建立關聯。
該方法300更包含確認出跨越鏈結的步驟(步驟314)。所述的跨越鏈結即是介於當前四叉樹節點所定義之區域內且第一端位於當前四叉樹節點的第一子四叉樹節點內而第二端位於當前四叉樹節點的第二子四叉樹節點之各個網路節點間的鏈結。對於給定的一對彼此之間具有一個或者多個跨越鏈結子四叉樹節點來說,就會產生一個詮釋鏈結(步驟316)。所述的詮釋鏈結可以被定義為該對子四叉樹節點的兩端位置,例如:被定義於某些其他被用來定義其位置的座標中心。詮釋鏈結亦可儲存用來描述介於該對子四叉樹節點間的一個或者多個跨越鏈結的資訊。例如:每個跨越鏈結的第一端與第二端的位置。
該方法300更包含將步驟306中所決定屬於當前四叉樹節點的網路節點與子四叉樹節點建立關聯。例如:對每一個子四叉樹節點而言,每個子四叉樹節點所定義區域中的網路節點會與該四叉樹節點建立關聯。同樣地,這些網路節點中任何的非跨越鏈結也會被建立起與每一個子四叉樹節點間的關聯。
然後,該方法300在步驟320時會對每一個子四叉樹節點重複執行相同的步驟。當然有可能發生當前四叉樹節點中的一個或者多個子四叉樹節點沒有任何的網路節點。因此,步驟320僅會針對那些在步驟318中有與網路節點建立關聯的四叉樹節點執行。如果一個子四叉樹節點沒有任何與之有關聯的網路節點,此子四叉樹節點將會被刪除或者被排除在該方法所產生的四叉樹之外。例如:直到步驟318在節點真正與一個子四叉樹節點建立關聯之前,子四叉樹節點是不會被建立,反而一個子四叉樹節點將要佔據的區域可以被用來決定一個網路節點是否位於其中。
「第4A圖」至「第4C圖」為用來說明「第3圖」所述之方法300如何進行的一個例子。其中定義了一個四叉樹節點400,所屬的區域被一分為四402a~402d(四分之一區域),或者以其他方式分割。多個網路節點404b、404c、404d位於四叉樹節點400所定義的區域中。如「第4A圖」所示,網路節點406d完全在四分之一區域402d中並且多個非跨越鏈結406d將部分節點406d彼此互相連接。同樣地,一些跨越鏈結408將在四分之一區域402b中的404b與四分之一區域402d中的網路節點404d,以及將四分之一區域402c中的兩個網路節點404c與404d連接。
如前所述,四叉樹節點400中的網路節點的數量會被計算,以本例來說為8個。此數量超過了最大網路節點計數數量,以本例來說最大計數數量為4。因此,如「第4B圖」所示,就會定義出一個詮釋節點410並且與該四叉樹節點400間建立關聯。同樣地,跨越鏈結408對應的詮釋鏈結412也會被產生。
請參考「第4C圖」,子四叉樹節點414b~414d將被產生並且網路節點404c~404d與對應的四叉樹節點間建立關聯。如圖所示,沒有任何網路節點的四分之一區域402a中將不會產生四叉樹節點。子四叉樹節點414b、414c則因為少於四個四叉樹節點因此將不會執行進一步的處理。然而,子四叉樹節點414d因為有五個網路節點404d與其有關聯。因此,所述方法將重複執行進一步將子四叉樹節點414d分割為兩個或者更多的孫四叉樹節點。
請參考「第5圖」,所說明的方法500可以用於選擇顯示給使用者之網路節點以及詮釋節點。請參考「第6圖」,方法500可以被執行於一個視線602直接面對基準平面604之視點600的給定位置。所有的網路節點都落在該基準平面604中。或者,網路節點可以具有3D位置並且落在該基準平面604之上或者之下。
請再次參考「第5圖」,方法500包含接收一個網路之觀看者位置的步驟(步驟502)。在步驟504,將一個根節點(根四叉樹節點)增加至一個考慮集合中。此考慮集合可以被理解為一個即將被方法500的以下步驟所處理之四叉樹中的四叉樹節點集合。
方法500包含自考慮集合中移除四叉樹節點(即當前四叉樹節點)的步驟(步驟506),並且評估當前四叉樹節點是否包含任何鏈結或者詮釋鏈結的步驟(步驟508)。如果有則進入到步驟510,將這些鏈結增加至一個用於視覺化網路包含鏈結、詮釋鏈結、網路節點以及詮釋節點之選定集合中。
該方法500包含評估當前四叉樹節點是否在一個觀看者位置之指定層級門檻值內的步驟(步驟512)。如前所述,每個四叉樹節點在其中都具有一個相關的位置,例如:中心點。因此,所謂觀看者位置的距離就等同於觀看者與此一位置之間的距離。而被用來比較的門檻值則依四叉樹中當前四叉樹節點的層級而決定。例如:對於根節點(層級0)來說門檻值可以為X,對於根節點的子四叉樹節點(層級1)來說門檻值則為X/2,對於層級2的四叉樹節點來說門檻值則為X/4,以此類推直到X/(2^Nmax),其中Nmax是四叉樹中的最深層級(即細節的最高層級)。
如果當前四叉樹節點具有超過該視點之指定層級門檻值的位置,任何與當前四叉樹節點有關聯的其他網路節點或者一個詮釋節點將會被增加至該選定集合中(步驟514)。如果沒有超過,方法500將包含評估當前四叉樹節點是否具有任何子四叉樹節點(步驟516),如果沒有則任何與當前四叉樹節點有關聯的網路節點會被增加至該選定集合中(步驟514)。如果在步驟516時當前四叉樹節點確認有其他的子四叉樹節點,這些子四叉樹節點會被增加至該考慮集合中(步驟518),而方法500則回到步驟506自考慮集合的當前狀態繼續進行。方法500會在考慮集合中沒有任何四叉樹節點時結束運作。
請參考「第7圖」,是利用方法500所產生出包含部分或者全部的詮釋節點、網路節點、詮釋鏈結以及鏈結之一個選定集合的結果。因為一個給定的四叉樹節點到觀看者之間的距離會隨著跨越四叉樹而變化,很可能使一個介於第一四叉樹節點與第二四叉樹節點間的詮釋鏈結延長,導致一個詮釋節點或者某一個四叉樹節點的網路節點被涵蓋在選定集合中,而第二個四叉樹節點的網路節點的一個詮釋節點則不會被涵蓋。因此,所述方法700可以被用來確認出這種情況並且產生異質鏈結來表示這些詮釋鏈結。方法700亦可以被用來將同樣在選定集合中與詮釋鏈結有關聯的鏈結及節點(網路節點或者詮釋節點)建立關聯。特別的是,方法700可以用於將跨越四叉樹節點間的跨越鏈結與和這些四叉樹節點或者子四叉樹節點有關聯之網路節點建立關聯。
方法700包含確認出在選定集合中那些在終端的一個或者多個未被包含於選定集合之詮釋節點(即終端節點)的詮釋鏈結(步驟702)。如同「第4B圖」所述以及關於「第3圖」方法300中所討論的,當一個詮釋節點因為一個四叉樹節點而被定義,一個或者多個詮釋鏈結也將因為鏈結跨越在四叉樹節點之一對子四叉樹節點間而與四叉樹節點建立關聯。因此,對於一個在選定集合中且與一個給定之四叉樹節點有關聯的詮釋鏈結來說,一個詮釋節點或者與該給定四叉樹節點之子四叉樹節點有關聯且位於詮釋鏈結之終點一個或多個網路節點將被進行評估。如果該詮釋節點或者所述一個或者多個子四叉樹節點的網路節點不在選定集合但是另一個子四叉樹節點之詮釋節點在選定集合中時,詮釋鏈結將會被確認為是一個在選定集合中兩端缺乏終端端點之詮釋鏈結(步驟702)。換句話說,如果一個詮釋鏈結與一個給定的四叉樹節點有關聯而且位於該詮釋鏈結端點位置的子四叉樹節點在觀看者的指定層級門檻值內被發現不是一個“可見四叉樹節點”,則此詮釋鏈結會被確認為在選定集合中兩端缺乏終端端點之詮釋鏈結(步驟702)。
從步驟702所確認出來的各個詮釋鏈結中,其中一個詮釋鏈結將被選定用於處理(即“當前詮釋鏈結”)(步驟704)。為方便後續的處理,此詮釋鏈結的一個非選定終端節點將被確認出來(步驟706)。所謂的非選定終端節點可以是一個詮釋節點或者是一個位於當前詮釋鏈結之一終端端點的非可見四叉樹節點。
方法700更包含選定一個與當前詮釋鏈結具有關聯之鏈結(即“當前鏈結”)。如上所述,詮釋鏈結用來表示多個跨越鏈結,因此這些鏈結將會被以方法700的方式進行處理。
為方便後面的處理,“當前四叉樹節點”將被設定為位於當前詮釋鏈結之終端端點的四叉樹節點(步驟710),例如:當前詮釋鏈結之終端端點的不可見四叉樹節點。方法700包含找到一個最接近當前鏈結之終端端點的當前四叉樹節點的子四叉樹節點(步驟712),並且評估最接近子四叉樹節點的一個節點(網路或詮釋節點)是否在選定集合中(步驟714)。如果不存在,則最接近子四叉樹節點將被設定為當前四叉樹節點(步驟716)而方法700繼續回到步驟712處執行。如果在步驟714中最接近子四叉樹節點被發現有一個或者多個節點在選定集合中,方法700包含產生一個介於當前詮釋鏈結中被包含之終端節點與最接近子四叉樹節點之一個或者多個節點間的異質鏈結(步驟718)。在某些詮釋鏈結之兩端終端節點不在選定集合中的情況,方法700包含針對每一個與詮釋鏈結有關聯的鏈結執行步驟708~步驟718兩次,每次是針對每個鏈結中的一個端點。
在一個例子中,一個詮釋鏈結ML1具有兩個不在選定集合中之端點的詮釋節點M1以及M2。詮釋節點M1以及M2的四叉樹節點MQ1以及MQ2將分別被確認出來。在MQ1以及MQ2的子代中,子四叉樹節點CQ1以及CQ2被確認為可見四叉樹節點。CQ1以及CQ2可以是在四叉樹中的相同層級或者不同層級。CQ1以及CQ2可以透過從MQ1以及MQ2開始執行步驟708~步驟716分別被確認為當前四叉樹節點。在與CQ1關聯的一個節點(網路或者詮釋節點)以及與CQ2關聯的一個節點(網路或者詮釋節點)間會產生一個異質鏈結,而依據本文所述的方法此一異質鏈結可以被用來視覺化的表示詮釋鏈結ML1。其中詮釋鏈結ML1具有與其相關聯的多個鏈結,其他一對一對的子四叉樹節點可能可以用相同的方式被加以確認。對於那些具有一個終端端點位於CQ1或者CQ2的鏈結,其他一對一對的子四叉樹節點可以包含CQ1以及CQ2其中之一。
在另一個例子,詮釋鏈結ML1具有兩個端點的詮釋節點M1以及M2。M2在選定集合中但是與四叉樹節點MQ1有關聯的M1則不在選定集合中。對於每一個與ML1有關聯的鏈結L1、L2等等,MQ1中最接近鏈結L1、L2等之終端端點的可見子四叉樹節點CQ1、CQ2等會被確認出來(如同依照步驟708~步驟716所述)。然後每個鏈結L1、L2等的異質鏈結被產生,異質鏈結一端是終端端點之詮釋節點M2以及另一端是與確認出來的子四叉樹節點CQ1、CQ2等對應關聯之終端端點的一個或者多個節點(網路或者詮釋節點)。
舉例來說,一個異質鏈結會有一端點指向與最接近子四叉樹節點關聯之一詮釋節點的位置並且另一端點會指向位於在選定集合中與當前詮釋鏈結之終端端點關聯之一詮釋節點。在另一個例子中,一個異質鏈結會有一端指向一個與最接近子四叉樹節點關聯之網路節點並且位於當前鏈結的終端端點,並且另一端指向在選定集合中與當前詮釋鏈結之終端端點有關聯之詮釋節點,例如:一個四叉樹節點的當前子四叉樹節點與其當前詮釋鏈結會建立關聯。
透過將詮釋鏈結增加至選定集合中並且當巡訪四叉樹時利用終端端點的位置來限制需要被評估的四叉樹節點,在決定適當的詮釋節點或者在選定集合中但位於四叉樹中較深層級的網路節點時必須使用較少的運算。
方法700包含評估與當前詮釋鏈結關聯的任何鏈結是否有仍未被處理過的(步驟720),如果有則方法700繼續回到步驟708處理另一個與當前詮釋鏈結有關聯的鏈結。如果沒有則方法700包含評估是否有任何在步驟702確認出來的詮釋鏈結需要被處理(步驟722),如果有則方法700會繼續回到步驟704執行。如果沒有其他詮釋鏈結需要被處理的,則方法700結束運作。
任何節點、詮釋節點、鏈結以及詮釋鏈結以及任何異質鏈結然後可以被呈現顯示於顯示裝置上、傳送供顯示或者儲存供後續使用。根據本文所述方法所產生的網路之圖形化呈現內容的例子可如「第8圖」以及「第9圖」所述。
請參考「第8圖」,網路拓撲的最高層級呈現內容800包含多個詮釋節點802以及介於詮釋節點802之間的詮釋鏈結804。在所表示的呈現內容800中所有詮釋節點802以及詮釋鏈結804都具有相同層級的細節。如「第8圖」所示,一個矩形地平面604從視角500的角度被顯示以有助於視覺化網路拓撲的呈現。
「第9圖」說明了一個根據本文所述方法產生之網路拓撲的圖形化呈現內容900的例子。如「第9圖」所明顯表示的,位於最遠距離的節點902(顯示為方形)被以最低層級的細節加以呈現,包含其間的詮釋鏈結904(例如:與「第8圖」所顯示的相同)。節點906(顯示為三角形)在視點的中間距離被以中間層級的細節加以呈現,其中最低層級細節的呈現內容被對應層級細節的更大量節點906以及介於其間的連接908給取代。如「第9圖」所示,異質鏈結910被產生並且顯示於某些中間節點906以及最高層級詮釋節點902之間。
在某些情況一個節點912並不會代表一個其他節點的叢集,例如:僅代表網路中的一個獨立節點。然而,這樣的節點912是被孤立並且被遠離於其他節點,在最高層級以外的其他細節層級會將此種節點視為一個獨立節點而非一個詮釋節點。因此,從節點906到此種節點912之間的連接會是被定義為對應細節層級的連接而非本文所述方法所產生之異質鏈結。
最高層級細節包含被鏈結916連接之節點914。最低層級的節點914呈現網路拓撲中實際的網路節點而鏈結916則呈現獨立節點間的邏輯連接、實體線路或者無線連接。
最高層級節點914可以透過本文所述方法所產生的異質鏈結918被與中間節點912連接。在圖形化呈現內容900中,只有三個層級的細節被顯示。然而,任何數量的層級細節可以在單一圖形化呈現內容900中伴隨著在不同層級細節間之節點的異質鏈結被同時被顯示,包括非連續層級細節。此外,一個異質連接可以跨越多個層級,例如:依據那些節點被選定作為呈現,連接一個最低層級節點至一個最高層級節點。
如「第9圖」所示,某些節點可能會在視線範圍之外,而且向視線範圍外延伸的鏈結920會部分被呈現並且以根據本文方法所產生的層級內連接或者異質連接方式呈現。
「第10A圖」至「第10C圖」說明被用來產生和呈現異質鏈結的方法。請特別參考「第10A圖」,一個對應於上層級四叉樹節點的節點叢集1000a以及對應於另一個上層級四叉樹節點的節點叢集1000b將被用來說明。節點叢集1000a包含多個節點1002a以及節點1002a之間的連接1004a(鏈結或詮釋鏈結)。節點叢集1000b也包含多個節點1002b以及節點1002b之間的連接1004b。節點1002a、1002b可以是詮釋節點或者網路拓撲中的獨立節點。一個或者多個額外的連接1006會存在用以將一個或者多個節點1002a與節點1002b連接。
請參考「第10B圖」,在一些根據本文所述方法所產生的圖形化呈現內容,節點叢集1000b會被以單一上層級節點1008(例如:詮釋節點)來呈現,而節點1002a也被包含在圖形化呈現內容中。因此,一個異質鏈結1010將呈現出一個介於節點1002a以及節點1002b間的獨立的連接1006。在一些實施例中,鏈結、異質鏈結或者其他,可以在視覺上根據鏈結所呈現的連接數量來加以區別。舉例來說,鏈結1012代表跨越在一個節點1002a以及兩個不同節點1002b之間的兩個鏈結1006。因此,鏈結1012可以在視覺上以顏色、線條型式、附加文字或者以代表單一基礎鏈結1006之鏈結1010的其他特徵來加以區別。
請參考「第10C圖」,在其他圖形化呈現內容中,節點叢集1000a、1000b可能以上層級節點1008、1014來表示。因此,一個上層級鏈結1016會被用來表示所有的跨越鏈結1006,並且會用線條型式或者前述視覺指示器的方式來指引出所述的鏈結是代表著多個鏈結。
本文所述的系統以及方法具有可以快速呈現一個網路中不同部分包含不同層級細節呈現內容之網路的優點。本文所揭露之方法更能夠以相對低的運算需求來實現這個功能。舉例來說,根據「第3圖」的方法300產生一個有O(n)個節點且在節點間有3n到4n個鏈結的典型網路之四叉樹的複雜度大約為O(n*log(n))。同樣的根據「第5圖」的方法500決定一個選定節點集合、詮釋節點、鏈結以及詮釋鏈結大約是O(n/[2^(log(n)/2)])。方法500通常將傳回m個物件,大約是O(n/[2^(log(n)/2)])。對於一個藉由方法500所輸出的m個物件選定集合,產生異質鏈結所需要的處理時間大約是O(m log(m)),然而對於大部分實際的網路情況來說複雜度遠低於此。
本發明可以在不背離精神或者必要特徵的前提下以其他特定的型式來加以實現。例如:雖然揭露的是視覺化網路拓撲,任何相互關聯元素的呈現也可以根據本文的方法來加以視覺化。所揭露的實施例在各個層面應被理解為僅是做為說明,並非用來作為限制。因此,本發明範圍應該以所附之權利範圍為準,而非以前述的內容為準。所有在權利範圍均等以及涵義內的改變都應該被包含在權利範圍內。
100‧‧‧系統
102‧‧‧伺服器系統
104、106‧‧‧工作站
108‧‧‧網路
200‧‧‧運算裝置
202‧‧‧處理器
204‧‧‧記憶體裝置
206‧‧‧介面
208‧‧‧大容量儲存裝置
210‧‧‧輸入/輸出裝置
212‧‧‧匯流排
214‧‧‧隨機存取記憶體
216‧‧‧唯讀記憶體
218‧‧‧使用者介面
220‧‧‧網路介面
222‧‧‧周邊裝置介面
224‧‧‧硬碟
226‧‧‧可移除媒介
230‧‧‧顯示裝置
300‧‧‧方法
400‧‧‧四叉樹節點
402a~402d‧‧‧四分之一區域
404b~404d‧‧‧節點
406d‧‧‧節點(非跨越鏈結)
408‧‧‧跨越鏈結
410‧‧‧詮釋節點
412‧‧‧詮釋鏈結
414b~414d‧‧‧子四叉樹節點
500‧‧‧方法
600‧‧‧視點
602‧‧‧視線
604‧‧‧基準平面
700‧‧‧方法
800‧‧‧最高層級呈現內容
802‧‧‧詮釋節點
804‧‧‧詮釋鏈結
900‧‧‧圖形化呈現內容
902‧‧‧節點
904‧‧‧詮釋鏈結
906‧‧‧節點
908‧‧‧連接
910‧‧‧異質鏈結
912‧‧‧節點
914‧‧‧節點
916‧‧‧鏈結
918‧‧‧異質鏈結
920‧‧‧鏈結
1000a‧‧‧節點叢集
1000b‧‧‧節點叢集
1002a、1002b‧‧‧節點
1004a、1004b‧‧‧連接
1006‧‧‧連接
1008‧‧‧上層級節點
1010‧‧‧異質鏈結
1012‧‧‧鏈結
1014‧‧‧上層級節點
1016‧‧‧上層級鏈結
步驟302‧‧‧深度 = 最大深度層級?
步驟304‧‧‧建立當前四叉樹節點範圍內的節點與該四叉樹節點關聯
步驟306‧‧‧決定當前四叉樹節點之節點數
步驟308‧‧‧計數結果 > 最大計數數量 ?
步驟310‧‧‧為當前四叉樹節點產生詮釋節點
步驟312‧‧‧細分四叉樹節點
步驟314‧‧‧確認跨越鏈結
步驟316‧‧‧為跨越鏈結產生詮釋鏈結
步驟318‧‧‧節點與子四叉樹節點建立關聯
步驟320‧‧‧對子四叉樹節點重複執行步驟
步驟502‧‧‧接收觀看者位置
步驟504‧‧‧增加根節點至考慮集合
步驟506‧‧‧自考慮集合移除四叉樹節點(當前四叉樹節點)
步驟508‧‧‧鏈結/詮釋鏈結在當前四叉樹節點?
步驟510‧‧‧將鏈結/詮釋鏈結增加至選定集合
步驟512‧‧‧當前四叉樹節點在觀看者位置之指定層級門檻值內?
步驟514‧‧‧增加當前四叉樹節點的節點(網路/詮釋節點)至選定集合
步驟516‧‧‧當前四叉樹節點有子四叉樹節點?
步驟518‧‧‧增加子四叉樹節點至考慮集合
步驟702‧‧‧確認選定集合中兩終端不在選定集合的詮釋鏈結
步驟704‧‧‧選擇已確認的詮釋鏈結(當前詮釋鏈結)
步驟706‧‧‧確認當前詮釋鏈結的非選定終端
步驟708‧‧‧自當前詮釋連結選擇鏈結(當前鏈結)
步驟710‧‧‧設定非選定終端的四叉樹節點 = 當前四叉樹節點
步驟712‧‧‧找到當前四叉樹節點中最接近當前鏈結的子四叉樹節點
步驟714‧‧‧最接近子四叉樹節點的節點在選定集合中?
步驟716‧‧‧設定最接近子四叉樹節點 = 當前四叉樹節點
步驟718‧‧‧產生介於當前詮釋鏈結中被包含之終端節點與最接近子四叉樹節點之節點間的異質鏈結
步驟720‧‧‧當前詮釋鏈結中有其他鏈結 ?
步驟722‧‧‧有其他已確認詮釋鏈結 ?
第1圖是本發明方法實施例所述可視覺化之網路的方塊圖。 第2圖是示意之運算裝置的方塊圖。 第3圖是產生四叉樹之方法的流程圖。 第4A圖到第4C圖是本發明實施例所述的四叉樹節點圖。 第5圖是本發明實施例所述基於相對視點的位置產生一選定節點集合之方法的流程圖。 第6圖是本發明實施例所述之觀看者位置相對於基準面的側視圖。 第7圖是本發明實施例所述產生異質鏈結之方法的流程圖。 第8圖是本發明實施例所述顯示網路最低層級細節的透視圖。 第9圖是本發明實施例所述顯示網路高層級以及低層級細節的透視圖。 第10A圖至第10C圖是本發明實施例所述網路中節點呈現的俯視圖。
300‧‧‧方法
步驟302‧‧‧深度=最大深度層級?
步驟304‧‧‧建立當前四叉樹節點範圍內的節點與該四叉樹節點關聯
步驟306‧‧‧決定當前四叉樹節點之節點數
步驟308‧‧‧計數結果>最大計數數量?
步驟310‧‧‧為當前四叉樹節點產生詮釋節點
步驟312‧‧‧細分四叉樹節點
步驟314‧‧‧確認跨越鏈結
步驟316‧‧‧為跨越鏈結產生詮釋鏈結
步驟318‧‧‧節點與子四叉樹節點建立關聯
步驟320‧‧‧對子四叉樹節點重複執行步驟

Claims (20)

  1. 一種電腦系統,包含一個或者多個處理器以及可以操作耦合到所述一個或者多個處理器的一個或者多個記憶體裝置,所述一個或者多個記憶體裝置儲存有可執行以及可操作之一資料並有效使所述一個或者多個處理器執行一個包含以下步驟的方法: 提供一網路呈現,包含多個網路節點以及連接所述多個網路節點中成對網路節點的多個鏈結,所述網路節點每一個都有與其相關之一位置;及 產生該網路呈現的一四叉樹呈現,該四叉樹包含被以一層級架構方式排列的一根節點以及在該根節點下的多個四叉樹節點使所述根節點以及所述四叉樹節點每一個代表一四分區域,每一所述四叉樹節點所代表之該四分區域即為在該層級架構中其一父代之該四分區域的一部分並且該根節點之該四分區域包含與所述網路節點有關聯之至少一部分位置,其中產生該四叉樹呈現包含對該根節點以及作為一當前四叉樹節點之所述多個四叉樹節點中的至少一個節點執行以下步驟: (a)確認所述多個鏈結中延伸跨越該當前四叉樹節點之多個當前子四叉樹節點的至少一跨越鏈結; (b)產生一詮釋節點,所述詮釋節點代表位於該當前四叉樹節點之所述四分區域中所述多個網路節點之一部份網路節點; (c)將所述跨越鏈結與所述詮釋節點與該當前四叉樹節點建立關聯;及 (d)將位於該當前四叉樹節點中所述多個網路節點中所述該部份網路節點分散至該四叉樹中該當前四叉樹節點之當前子四叉樹節點以及與所述該部份網路節點具有關聯的任何非跨越鏈結,所述非跨越鏈結完全位於該當前四叉樹節點中最接近之一獨立當前子四叉樹節點之該四分區域。
  2. 如申請專利範圍第1項所述之電腦系統,其中該可執行以及可操作資料更包含可以有效使所述一個或者多個處理器對該根節點以及作為該當前四叉樹節點之所述多個四叉樹節點中的至少一個節點執行以下步驟: (e)決定該當前四叉樹節點之該四分區域中的所述多個網路節點之該部份網路節點中超過一最大節點計數數量的數量;及 執行步驟(a)至步驟(d)以回應決定該當前四叉樹節點之該四分區域中的所述多個網路節點之該部份網路節點中超過該最大節點計數數量的數量的步驟。
  3. 如申請專利範圍第2項所述之電腦系統,該可執行以及可操作資料更包含可以有效使所述一個或者多個處理器對該根節點以及作為該當前四叉樹節點之所述多個四叉樹節點中的至少一個節點執行以下步驟: 決定該當前四叉樹節點之所述當前子代是在該根節點之一最大深度還是之上;及 針對該當前四叉樹節點之所述當前子代執行步驟(a)至步驟(e)。
  4. 如申請專利範圍第2項所述之電腦系統,其中每一該根節點之子節點的數量以及該四叉樹之所述四叉樹節點的數量等於該最大節點計數數量。
  5. 如申請專利範圍第4項所述之電腦系統,其中該最大節點計數數量為4。
  6. 一種網路呈現方法,用以呈現包含多個網路節點以及連接到所述多個網路節點中成對網路節點之多個鏈結的一網路,所述網路節點每一個都有與其相關之一位置,該方法包含下列步驟: 產生該網路呈現的一四叉樹呈現,該四叉樹包含被以一多層級架構方式排列的一根節點以及在該根節點下的多個四叉樹節點使所述根節點以及所述四叉樹節點每一個代表一四分區域,每一四叉樹節點所代表之該四分區域即為在該層級架構中其一父代之該四分區域的一部分並且該根節點之該四分區域包含與所述網路節點有關聯之至少一部分位置;及 在所述多個網路節點以及所述四叉樹間產生一關聯,其中該根節點之每一個節點以及所述多個四叉樹節點與以下其中之一具有關聯: (a)所述多個網路節點之一部份網路節點在該四分區域中有一位置,具有關聯之每一該節點以及所述多個鏈結中的任何鏈結獨佔於所述該部分網路節點中;及 (b)代表所述多個網路節點之一部份網路節點的一詮釋節點在每一個節點以及一個或者多個詮釋鏈結之該四分區域內具有一位置,每一該詮釋鏈結代表多個跨越於每一節點之成對子四叉樹節點間鏈結的一個或者多個鏈結並且具有作為所述成對子四叉樹節點的端點。
  7. 如申請專利範圍第6項所述之網路呈現方法,更包含下列步驟: 從該四叉樹中確認一可視節點集合,其中每一該可視節點可以是該根節點以及多個四叉樹節點中的其中之一並且具有符合一視點之一位置之一門檻值條件的該四分區域,所述門檻值條件對應於該多層級架構中每一該可視節點的一層級,所述門檻值條件隨著在該根節點以下之該多層級架構的深度而降低;及 增加與該可視節點關聯之網路節點、詮釋節點、鏈結以及詮釋鏈結至一選定集合。
  8. 如申請專利範圍第7項所述之網路呈現方法,更包含下列步驟: 確認所述選定集合中的至少一詮釋鏈結,所述至少一詮釋鏈結具有作為一個或者多個不在可視節點集合之第一四叉樹節點的至少一端點; 確認在所述選定集合中所述一個或者多個第一四叉樹節點之每一四叉樹節點中一個或者多個網路節點以及與所述每個四叉樹節點關聯之後代四叉樹節點的一個或者多個詮釋節點中的至少一個,並且與確認之至少一詮釋鏈結中的所述一個或者多個鏈結建立關聯;及 產生具有作為與確認之一個或者多個網路節點以及一個或者多個所述第一四叉樹節點之詮釋節點中之至少一個的一個或者多個端點的一個或者多個異質鏈結。
  9. 如申請專利範圍第8項所述之網路呈現方法,更包含產生包含所述選定集合中的網路節點、詮釋節點、鏈結以及詮釋鏈結以及所述異質鏈結之所述網路的一圖形化呈現步驟。
  10. 如申請專利範圍第9項所述之網路呈現方法,其中產生所述網路之該圖形化呈現的步驟更包含產生在視覺上與鏈結以及詮釋鏈結之圖形化呈現具有區別之異質鏈結的圖形化呈現的步驟。
  11. 如申請專利範圍第9項所述之網路呈現方法,其中產生所述網路之該圖形化呈現的步驟更包含產生在視覺上與具有單一鏈結跟其關聯之第二詮釋鏈結的圖形化呈現具有區別之具有多個鏈結跟其關聯之第一詮釋鏈結的呈現的步驟。
  12. 如申請專利範圍第9項所述之網路呈現方法,其中產生所述網路之該圖形化呈現的步驟更包含產生在視覺上與網路節點之圖形化呈現具有區別之詮釋節點的圖形化呈現的步驟。
  13. 如申請專利範圍第8項所述之網路呈現方法,其中確認在所述選定集合中所述一個或者多個網路節點以及一個或者多個詮釋節點的至少一個,並且與確認之至少一詮釋鏈結中的所述一個或者多個鏈結具有關聯的步驟更包含對與確認之至少一詮釋鏈結中的所述一個或者多個鏈結中的每一個鏈結進行以下步驟: 設定為一當前節點且為一可視節點並且具有至少一詮釋鏈結與其關聯; 重複以下步驟直到在所述選定集合中一網路節點或者一詮釋節點在該當前節點之子四叉樹節點間被找到: (a)確認與所述詮釋鏈結具有關聯且為該當前節點之四叉樹中一最接近子節點,該最接近子節點具有包含所述每個鏈結之一端點的一四分區域; (b)確認該最接近子節點在該選定集合中不具有一節點或一詮釋節點;及 (c)設定該當前節點為該最接近子節點。
  14. 如申請專利範圍第13項所述之網路呈現方法,其中: 所述根節點以及多個四叉樹節點的每一個都具有關聯的一中心位置;及 確認該當前節點之四叉樹中一最接近子節點的步驟更包含確認該最接近子節點具有最接近所述每一鏈結之端點之一中心位置。
  15. 如申請專利範圍第6項所述之網路呈現方法,其中與所述每一個網路節點關聯的位置在一二維平面中。
  16. 如申請專利範圍第6項所述之網路呈現方法,其中與所述每一個網路節點關聯的位置對應至網路裝置的地理位置。
  17. 一種非暫態電腦程式產品,儲存有可執行以及可操作資料,執行時可操作使一處理器執行一方法,包含: 接收一網路拓撲,所述網路拓撲包含多個網路節點以及連接到所述多個網路節點中成對網路節點之多個鏈結,所述網路節點每一個都有與其相關之一位置; 產生該網路拓撲的一四叉樹呈現,該四叉樹包含被以一多層級架構方式排列的一根節點以及在該根節點下的多個四叉樹節點使所述根節點以及所述四叉樹節點每一個代表一四分區域,每一四叉樹節點所代表之該四分區域即為在該層級架構中其一父代之該四分區域的一部分並且該根節點之該四分區域包含與所述網路節點有關聯之至少一部分位置; 在所述多個網路節點以及所述四叉樹間產生一關聯,其中該根節點之每一個四叉樹節點以及所述多個四叉樹節點與以下其中之一具有關聯: (a)所述多個網路節點之一部份網路節點在該四分區域中有一位置,具有關聯之每一該四叉樹節點以及所述多個鏈結中的任何鏈結獨佔於所述該部分網路節點中;及 (b) 代表所述多個網路節點之一部份網路節點的一詮釋節點在每一個四叉樹節點以及一個或者多個詮釋鏈結之該四分區域內具有一位置,每一該詮釋鏈結代表多個跨越於每一四叉樹節點之成對子四叉樹節點間鏈結的一個或者多個鏈結並且具有作為所述成對子四叉樹節點的端點; 從該四叉樹中確認一可視節點集合,其中每一該可視節點可以是該根節點以及多個四叉樹節點中的其中之一並且具有符合一視點之一位置之一門檻值條件的該四分區域,所述門檻值條件對應於該多層級架構中每一該可視節點的一層級,所述門檻值條件隨著在該根節點以下之該多層級架構的深度而降低; 增加與該可視節點關聯之網路節點、詮釋節點、鏈結以及詮釋鏈結至一選定集合; 確認所述選定集合中的至少一詮釋鏈結,所述至少一詮釋鏈結具有作為一個或者多個不在可視節點集合之第一四叉樹節點的至少一個或者多個端點並且作為另一個在可視節點集合之第二四叉樹節點的端點; 確認在所述選定集合中所述一個或者多個網路節點以及一個或者多個詮釋節點中的至少一個,並且與所述已確認之至少一詮釋鏈結之一個或者多個鏈結建立關聯;及 針對每一已確認之至少一詮釋鏈結中一個或者多個鏈結之每一個,產生介於與在每一所述已確認之至少一詮釋鏈結中一端點之一第二四叉樹節點具有關聯之多個詮釋節點其中之一以及所述已確認之一個或者多個網路節點中的至少一個之間的一個或者多個異質鏈結,以及與所述一個或者多個鏈結中的每一個具關聯之一個或者多個詮釋節點,以及成對已確認之一個或者多個網路節點中的至少一個,以及位於所述一個或者多個鏈結中每一個之終端的一個或者多個詮釋節點。
  18. 如申請專利範圍第17項所述之電腦程式產品,其中該可執行以及可操作資料更包含可以在執行時有效使一處理器產生所述網路之一圖形化呈現,該圖形化呈現所述選定集合中的網路節點、詮釋節點、鏈結以及詮釋鏈結以及所述異質鏈結。
  19. 如申請專利範圍第18項所述之電腦程式產品,其中產生所述網路之該圖形化呈現更包含產生在視覺上與鏈結以及詮釋鏈結之圖形化呈現具有區別之異質鏈結的圖形化呈現。
  20. 如申請專利範圍第19項所述之電腦程式產品,其中產生所述網路之該圖形化呈現更包含產生在視覺上與具有單一鏈結跟其關聯之第二詮釋鏈結的圖形化呈現具有區別之具有多個鏈結跟其關聯之第一詮釋鏈結。
TW103131452A 2013-09-20 2014-09-11 網路視覺化系統及方法 TW201517555A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/033,310 US20150089374A1 (en) 2013-09-20 2013-09-20 Network visualization system and method

Publications (1)

Publication Number Publication Date
TW201517555A true TW201517555A (zh) 2015-05-01

Family

ID=52689248

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103131452A TW201517555A (zh) 2013-09-20 2014-09-11 網路視覺化系統及方法

Country Status (3)

Country Link
US (1) US20150089374A1 (zh)
TW (1) TW201517555A (zh)
WO (1) WO2015041751A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5769208B2 (ja) * 2013-05-21 2015-08-26 国立研究開発法人情報通信研究機構 ネットワークの構成及び動作の可視化システム
US9992082B2 (en) * 2015-12-04 2018-06-05 CENX, Inc. Classifier based graph rendering for visualization of a telecommunications network topology
CN108182230B (zh) * 2017-12-27 2020-11-03 南京师范大学 基于位向量四叉树的移动对象汇聚模式挖掘方法
CN113132134A (zh) * 2019-12-31 2021-07-16 北京华为数字技术有限公司 拓扑展示方法及装置
CN117272914B (zh) * 2023-10-31 2024-03-12 北京智芯仿真科技有限公司 基于四叉树快速确定覆铜形状形成拓扑结构的方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212392B1 (en) * 1999-02-26 2001-04-03 Signal Soft Corp. Method for determining if the location of a wireless communication device is within a specified area
US7225207B1 (en) * 2001-10-10 2007-05-29 Google Inc. Server for geospatially organized flat file data
US7089089B2 (en) * 2003-03-31 2006-08-08 Power Measurement Ltd. Methods and apparatus for retrieving energy readings from an energy monitoring device
US20050015809A1 (en) * 2003-07-16 2005-01-20 Boys Donald R.M. Method and apparatus for picture sharing over cable and other consumer subscribed television networks
WO2005084285A2 (en) * 2004-02-27 2005-09-15 Netage, Inc. System and methods for creating representational networks
US7519700B1 (en) * 2005-02-18 2009-04-14 Opnet Technologies, Inc. Method and system for topological navigation of hierarchical data groups
US20070097883A1 (en) * 2005-08-19 2007-05-03 Yigong Liu Generation of a network topology hierarchy
JP2007318553A (ja) * 2006-05-26 2007-12-06 Fujitsu Ltd ネットワーク管理方法
US9305019B2 (en) * 2007-01-30 2016-04-05 Craxel, Inc. Method of associating user related data with spatial hierarchy identifiers for efficient location-based processing
JP4410804B2 (ja) * 2007-02-23 2010-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散ネットワーク環境におけるシステム管理方法、情報処理装置及びプログラム
US7958155B2 (en) * 2007-04-17 2011-06-07 Semandex Networks, Inc. Systems and methods for the management of information to enable the rapid dissemination of actionable information
US7688758B2 (en) * 2007-06-26 2010-03-30 Avaya Inc. Node merging process for network topology representation
US8077918B2 (en) * 2008-08-28 2011-12-13 Google, Inc. Architectures and methods for creating and representing time-dependent imagery
GB0819985D0 (en) * 2008-10-31 2008-12-10 Intergence Systems Ltd Network visualistion systems
US7957400B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Hierarchical network topology
US9473999B2 (en) * 2010-01-14 2016-10-18 General Electric Company Intelligent heterogeneous wireless handoff
JP5718453B2 (ja) * 2010-04-13 2015-05-13 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 復号化方法
US9495124B1 (en) * 2012-06-18 2016-11-15 Crimson Corporation Device for displaying a remote display according to a monitor geometry

Also Published As

Publication number Publication date
WO2015041751A1 (en) 2015-03-26
US20150089374A1 (en) 2015-03-26

Similar Documents

Publication Publication Date Title
CN109144696B (zh) 一种任务调度方法、装置、电子设备及存储介质
JP4651329B2 (ja) 表示画面上に視覚化グラフを提供する方法、それを提供するコンピュータ、そのコンピュータプログラム、及びその記憶媒体
TW201517555A (zh) 網路視覺化系統及方法
US9712551B2 (en) Methods and systems for architecture-centric threat modeling, analysis and visualization
JP4672310B2 (ja) 表示画面上に視覚化グラフを提供する方法、それを提供するコンピュータ、そのコンピュータプログラム、及びその記憶媒体
US20140078143A1 (en) Apparatus and method for scheduling of ray tracing
US10904316B2 (en) Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system
US9602357B2 (en) Network visualization systems and methods
KR102139043B1 (ko) 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법
CN113535165A (zh) 界面生成方法、装置、电子设备及计算机可读存储介质
KR20150110063A (ko) 빅데이터 처리를 위한 맵리듀스를 통합하는 장치 및 방법
US20110267350A1 (en) Adaptive Process Simplification of Mined Business Process Graphs Using Tutte Parameterizations
JP6863675B2 (ja) 画像分割
US11789775B2 (en) Progress visualization of computational job
US9461932B2 (en) Visually depicting resource utilization in a cloud computing environment
CN106846498B (zh) 激光点云渲染方法和装置
CN109800775B (zh) 文件聚类方法、装置、设备及可读介质
AlTarawneh et al. Visualizing software structures through enhanced interactive sunburst layout
US9858710B2 (en) Method and apparatus for representing cordinate values of bounding box of object
KR102575974B1 (ko) 데이터 시각화 장치 및 방법
US10402954B2 (en) Histogram-based shape mapping for propagating changes across similar shapes in multiple artboards
CN111124393A (zh) 一种算法逻辑的编辑方法、平台、电子设备及存储介质
US10282810B2 (en) Rendering illustrations using a two-dimensional rendering engine
CN112748917A (zh) 图表显示方法及装置
US11416270B2 (en) Systems and methods for dynamic server control based on estimated script complexity