CN104272287A - 管理应用和网络之间的接口 - Google Patents
管理应用和网络之间的接口 Download PDFInfo
- Publication number
- CN104272287A CN104272287A CN201280072889.3A CN201280072889A CN104272287A CN 104272287 A CN104272287 A CN 104272287A CN 201280072889 A CN201280072889 A CN 201280072889A CN 104272287 A CN104272287 A CN 104272287A
- Authority
- CN
- China
- Prior art keywords
- network
- authority
- application
- described application
- access
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
根据一种实施方式,应用和网络之间的接口例如由接口管理器来管理。所述接口管理器用于接收来自所述应用的访问所述网络的请求、确定分派给所述应用的权限、以及为所述应用提供对应于所确定的分派给所述应用的权限的对所述网络的访问等级。
Description
背景技术
现代的IT***很大程度上依赖于计算资源和网络资源的协作,以高效并安全地传递应用服务。可靠的应用或服务性能高度依赖于网络访问策略、重要流量的适当优先顺序以及跨水平扩展的计算资源的流量流分布的正确限定。
传统的网络化平台致力于开发需要设备特定的、学科特定的、以及经常手动配置的“应用感知的”网络特征及装置,以确保平台识别、响应、以及按需要操控应用流量,从而确保应用性能、稳定性及运行状态。但是,此方法引入了对***开发的障碍,其增加了成本、复杂性及时间。
附图说明
本公开的特征通过示例的方式被阐述,并且在下列图中不受限制,图中相同的标号表示相同的元件,其中:
图1示出根据本公开示例的网络环境的功能框图,在该网络环境中可实现本文公开的接口管理器;
图2示出根据本公开示例的包含接口管理器的服务拓扑的功能框图;
图3示出根据本公开示例的图1中所描绘的网络装置的简化框图;
图4和图5分别描绘出根据本公开两个示例的用于管理应用和网络之间的接口的方法的流程图;以及
图6图示根据本公开示例的计算设备的示意图,该计算设备可用于执行图3中所描绘的接口管理器的各种功能。
具体实施方式
为了简化及说明目的,主要参照本公开的示例来描述本公开。在下面的描述中,为了提供对本公开的深入理解,阐述了多个具体细节。但是将显而易见的,本公开可不受限于这些具体细节来实施。在其它实例中,为了不会不必要的模糊本公开,未详细描述一些方法和结构。如本文所用的,术语“包括”意思是包括但不限于,术语“基于”意思是至少部分基于。此外,术语“一种”旨在表示特定元件中的至少一个。此外,变量“l”、“m”和“n”旨在表示等于或大于一的整数,且可表示相对于彼此不同的值。
本文公开的是一种用于管理应用和网络之间的接口的方法,该方法使应用能够与网络服务交互和协商,网络服务允许应用集成到网络中并参与网络的转发过程。一方面,本文公开的方法使得应用能够直接与网络交互,并且为了确保应用性能、稳定性和运行状态,动态且全面地限定并请求所需的网络服务,而无需应用开发者结合其他资源来配置具体的“应用感知的”网络设备,以检测并随后响应推断的应用状态。另一方面,本文公开的方法基于授予各应用或服务的权限为每个应用披露相关的上下文(例如,策略、性能特性、状态、拓扑等)。本文还公开了一种实现该方法的接口管理器及计算机可读存储介质,在计算机可读存储介质上存储有用于执行该方法的一组机器可读指令。
一般来说,接口管理器被构建在网络设备的网络的可信控制器的顶部,并向外部应用服务提供网络服务应用程序接口(API)的抽象化,同时还认证那些应用服务,以确保阻止应用服务未准许的活动。通过示例的方式,可信控制器及网络设备在例如OpenFlowTM的可信协议下运行。在这点上,可信控制器负责构建并承载向每个网络设备(例如,网络中的交换机)转发条目的流量。可信控制器代表可信控制面,其负责维护网络状态和拓扑。根据示例,控制器被构造为与网络服务协作的***,网络服务被准许经由控制器和网络服务API可信访问控制器的状态和网络驱动机制。此外,通过防止应用和管理服务直接与可信控制器的可信网络状态交互,由此将网络功能的核心控制保留给网络服务,基本上确保了网络的稳定性。
根据示例,通过经由本文公开的接口管理器向应用环境披露网络状态和容量,可统一化应用开发***。此外,可以安全、全面及交互的方式,统一应用开发***。一方面,本文公开的方法不需要开发组聘用负责理解***功能并将该功能转换成相关网络配置的附加高技能人员。另一方面,由于必要的“编程”不需要几十到几百装置的配置,因此本文公开的方法显著减小了应用开发***的运行状态及设计的复杂度。再一方面,由于不需要使用外部组织的且受时间约束的资源,因此本文公开的方法改进了开发和部署。
相比之下,传统的网络化技术致力于将应用感知和智能构建在单独的功能强大的装置中。这要求在不了解网络状态或功能的情况下开发***,后续工作用于正确配置网络以确保必要的运行状态。因此,传统的网络化技术通常成本高、复杂且耗时。
参照图1,示出了根据示例的网络环境100的功能框图,在网络环境100中可实现本文公开的接口管理器。应当显而易见地,图1中描绘的图表示概括的说明,且可增加其他组件,或者可移除、修改或重新设置现有的组件,而不脱离网络环境100的范围。例如,网络环境100可包括附加的网络设备,例如数据存储阵列、服务器等。
网络环境100被描绘为包括多个网络设备102a-102n、多个客户端设备110a-110l(还可称为装置)、以及由多个网络控制器122a-122m组成的分布式网络控制器120。网络设备102a-102n包括为网络104(例如,内部网、因特网等)中的多个客户端设备110a-110l提供联网功能的装置。在这点上,网络设备102a-102n可包括交换机、路由器、无线接入点、无线控制器、集线器、网桥、服务器等。此外,网络设备102a-102n可被描绘为在局域网(LAN)、广域网(WAN)、城域网(MAN)等中之一中彼此联网。客户端设备110a-110l包括个人计算机、服务器、便携式电脑、平板电脑、蜂窝电话、或可用于通过网络设备102a-102n访问网络104的任意其他电子设备。
网络控制器122a-122m包括服务器、处理器、网络设备等,用于控制网络设备102a-102n在执行网络操作中的操作,例如通过网络设备102a-102n向合适的目的地转发数据包,均衡网络设备102a-102n上的负载,管理对网络设备102a-102n的带宽分配、网络流量优先级处理、通过网络设备102a-102n的流量,等等。通过特定示例的方式,网络控制器122a-122m包括包含在单个或多个机架内的x86处理器。一方面,为了冗余和故障转移的目的,对网络设备102a-102n操作的控制分布在多个网络控制器122a-122m中。但是,应理解,分布式网络控制器120可包括单个网络控制器122a,而不脱离本公开的范围。
根据示例且如在本文中更详细讨论的,网络控制器122a-122m中的至少一个包括接口管理器(未示出),其用于为网络设备110a-110l上执行的应用提供对网络104的预定等级的访问。具体地,接口管理器用于基于各种因素提供对网络104的预定等级的访问,该各种因素包括网络104的感知。一方面,接口管理器用于直接向网络设备110a-110l(即,在应用层)上执行的应用披露网络状态和功能,这允许应用与网络104交互、对网络性能104及状态做出反应、和/或以有效且全面的方式影响网络104的运行状态。
现在参照图2,示出了根据示例的包含接口管理器的服务拓扑200的功能框图。应显而易见地,图2中描绘的图表示概括的说明,且可增加其他组件,或者可移除、修改或重新设置现有的组件,而不脱离服务拓扑200的范围。
服务拓扑200被示出为包括应用面202、管理面204、控制面206以及数据面208。根据示例,服务拓扑200描绘了图1中描绘的网络环境100的拓扑。在此点上,图1中描绘的组件的各种操作和功能可被构造为在图2中描绘的各种不同的面202-208中被控制。在图2中,虚线箭头一般表示组件逻辑地彼此连接,而实线箭头一般表示组件位于同一位置和/或组件彼此物理连接。
多个应用210a-210c被描绘为应用面202的部分。应用210a-210c可被存储在客户端设备110a-110l中的一个中,或者被存储在客户端设备110a-110l中的多个中。在任意方面,应用210a-210c可向控制面206传递各种请求,且应用210a-210c中的每个可向控制面206传递不同的请求。如图2中示出的,一个应用201a向控制面206传递与应用210a有关的各种信息,包括应用策略212和应用网络服务214a,其在下面将被更详细地讨论。该应用210a还被描绘为通过套接字216与数据面208通信,以例如直接向包含在数据面208中的网络设备102a-102d传递数据包。另一个应用210b被描绘为例如向控制面206传递与应用210b相关的信息,且又一个应用210c被描绘为向控制面206传递与应用210c相关的信息,包括应用网络服务214c。在任意方面,应用210a-210c可通过一组接口与接口管理器224通信,以例如控制到接口管理器224的套接字连接。
控制面206被描绘为包括分布式网络控制器222,分布式网络控制器222包括接口管理器224、多个网络服务应用226a-226c、网络设备控制器应用程序接口(API)228、拓扑上下文230、以及状态机232。控制面206还被描绘为包括网络状态数据库234、网络策略数据库236以及网络容量数据库238。控制面206的组件,尤其是分布式网络控制器222,可包括图1中的分布式网络控制器120的组件。
分布式网络控制器222运行OpenFlowTM协议或其他类型的协议,以控制网络设备102a-102n(仅示出网络设备102a-102d)在数据面208中的各种操作。例如,分布式网络控制器222构建并承载向每个网络设备102a-102n中转发条目的流量。根据示例,网络设备102a-102n包括交换机,并且网络104包括交换机结构。分布式网络控制器222代表可信控制面206,其负责维护网络状态和拓扑。此外,分布式网络控制器222被构造为与网络服务226a-226c协作的***,网络服务226a-226c被准许为经由网络设备控制器API 228可信访问分布式网络控制器222状态和网络驱动机制。
如图2中示出的,接口管理器224包括独立于网络设备控制器API 228的组件。具体地,接口管理器224可被视为构造在网络设备控制器API的顶部,且被视为向应用210a-210c提供网络服务API的抽象化。接口管理器224还可执行对应用210a-210c的认证,以确保应用210a-210c被准许执行应用210a-210c试图在网络104上执行的服务。如下面更详细地讨论的,接口管理器224负责基于授予应用210a-210c的权限,为每个应用210a-210c披露相关的应用上下文220a-220c(例如,策略、性能特性、状态、拓扑等)。接口管理器224为应用210a-210c披露相关的上下文220a-220c,同时通过阻止应用210a-210c以及管理面204中的管理服务直接与分布式网络控制器222交互可信网络状态,因而将网络功能的核心控制保留给网络服务226a-226c,来帮助确保网络104的稳定性。
接口管理器224一般包括例如作为网络感知API运行的一组机器可读指令。换句话说,接口管理器224使应用210a-210c以及操作***能够询问网络104关于网络状态信息,其中由接口管理器224提供的应用上下文220a-220c为应用210a-210c以及操作***提供网络104(图1)的一定程度的透明度。一方面,接口管理器224通过安全地向应用环境披露网络状态和容量来统一开发***。此统一使得能够维护应用环境202和支持应用环境202的网络104之间的全面和交互的关系。
如图2中示出的,接口管理器224可接收来自应用210a-210c的访问(即,询问、交互、修改等)网络104的请求。请求可包括询问与网络104相关的状态信息。状态信息可包括例如:源到目的地或网络104的边界内的延迟、源到目的地或网络104的边界内的可用带宽容量、与特定应用关联的通信流的状态,等等。
此外或可替代地,请求可限定例如与应用210a-210c对网络104的传递和访问策略相关的策略及要求。请求还可包括与接口管理器224协商传输和分配服务。示例包括限定延迟、损耗、带宽、可靠性要求(例如,不共享链路风险组),限定负载均衡策略,等。换句话说,接口管理器224允许应用210a-210c对分布式网络控制器222编程,以在策略中限定的某些预定条件满足时发送对应用210a-210c的触发。
通信还可包括应用210a-210c请求将服务***到流量转发过程。这些请求的满足允许应用210a-210c分析流量,并基于权限允许应用210a-210c影响流量转发决策。下面更详细地描述与通信和接口管理器224执行的有关那些通信的操作相关的各种示例。
如图2中进一步描绘地,分布式网络控制器222还与管理面204中的组件通信。管理面204中的组件包括管理应用240、监视应用242、操作员策略数据库244、以及操作员状态数据库246。在一个示例中,管理实体(例如,***操作员)通过图形用户接口、SNMP、网络配置协议(Netconf)或任意其它类似的配置和管理协议与控制面206及数据面208交互。具体地,分布式网络控制器222以及管理面204中的应用240和242可经由套接字通信、利用HTTP、利用HTTPS等与管理实体通信。
接口管理器224为应用210a-201c提供对应于所确定的分派给应用210a-210c的权限的对网络的访问等级。在一个示例中,且根据分派给应用210a-201c的权限,接口管理器224允许应用210a-201c访问网络状态数据库234、网络策略数据库236和网络容量数据库238。在另一个示例中,接口管理器224允许应用210a-201c访问网络设备控制器API 228,网络设备控制器API 228访问数据库234至238。
尽管已将图2中描绘的服务拓扑200描述为针对特定的服务及相关网络,应理解,服务拓扑200还可包括多个***间的通信。例如,多个分布式网络控制器222可彼此通信,以使得分布式网络控制器222能够管理应用和网络之间的接口。
现在转向图3,示出了根据示例的网络装置300的简化框图。应容易显而易见地,图3中描绘的图表示概括的说明,且可增加其他组件,或者可移除、修改或重新设置现有的组件,而不脱离本文描述的网络装置300的范围。
一般地,网络装置300可包括分别在图1和2中描绘的分布式网络控制器120、222的网络控制器122a。在这点上,网络装置300可包括形成分布式网络控制器120的多个网络控制器122a-122n中的一个。在另一点上,本文中关于网络装置300描述的功能可由与网络装置300类似地配置或不同地配置的多个网络装置来执行。此外,尽管未示出,网络装置300还可具有存储在其上的、关于图2中描绘的分布式网络控制器222在上面讨论的网络服务226a-226c、网络设备控制器API 228、拓扑上下文230以及状态机232。
网络装置300被描绘为包括处理器302、输入/输出接口304、数据仓库306、以及接口管理器310。接口管理器310还被描绘为包括请求接收模块312、应用认证模块314、权限确定模块316、请求准许确定模块318、以及访问提供模块320。可包括微处理器、微控制器、专用集成电路(ASIC)等的处理器302用于执行网络装置300中的各种处理功能。处理功能中的一个包括调用或实施接口管理器310的模块312至320,如本文在下面更详细地讨论的。
根据示例,接口管理器310包括硬件设备,例如设置在板上的一个或多个电路。在此示例中,模块312至320包括电路组件或单个电路。根据另一示例,接口管理器310包括易失性或非易失性存储器,例如动态随机存取存储器(DRAM)、电可擦除可编程只读存储器(EEPROM)、磁阻式随机存取存储器(MRAM)、忆阻器、闪存、软盘、光盘只读存储器(CD-ROM)、数字影碟光盘只读存储器(DVD-ROM)、或其他光的或磁的介质,等等。在此示例中,模块312至320包括存储在存储器中的软件模块。根据又一示例,模块312至320包括硬件模块和软件模块的结合。
输入/输出接口306可包括硬件和/或软件接口。在这点上,输入/输出接口306可包括使得能够接收和发射数据和/或信号的硬件和/或软件组件。因此,例如,输入/输出接口306包括物理端口,例如以太网端口、光纤端口等等,线缆物理地***这些端口中。在另一示例中,输入/输出接口306包括用于使得IP包能够无线通信的装置,例如,具有Wi-FiTM、蓝牙TM等功能的装置。
一方面,处理器302用于通过输入/输出接口306接收来自应用210a-210c的数据,例如请求。处理器302还可用于通过输入/输出接口306向应用210a-210输出数据,例如应用上下文220a-220c。处理器302可进一步通过输入/输出接口306与管理面204中的组件240至246、数据面208中的网络设备102a至102n、网络数据数据库234、网络策略数据库236、以及网络容量数据库238通信。
处理器302还可将接收到的数据存储到数据仓库304中,且还可在实现模块312至320时使用数据。数据仓库304包括易失性和/或非易失性存储器,例如DRAM、EEPROM、MRAM、相变RAM(PCRAM)、忆阻器、闪存等等。此外或可替代地,数据仓库304包括用于从可移除介质读并写入可移除介质的设备,例如软盘、CD-ROM、DVD-ROM、或其他光的或磁的介质。
关于分别在图4和图5中描绘的方法400和500更详细地讨论可实现接口管理器310的各种方式。更具体地,图4和图5描绘了根据两个示例的、用于管理应用和网络之间的接口的方法400和500的相应流程图。本领域普通技术人员应当显而易见,方法400和500表示概括的说明,且可增加其他步骤,或可移除、修改或重新设置现有的步骤,而不脱离方法400和500的范围。尽管将图3中描绘的接口管理器310具体提及为包括可执行方法400和500中描述的操作的装置和/或一组机器可读指令,但应理解,不同配置的装置和/或机器可读指令可执行方法400和500,而不脱离方法400和500的范围。
一般地,方法400和500可实现为管理应用210a和网络104之间的接口。更具体地,接口管理器310可实现方法400和500,以向应用面202中的应用210a-210c直接披露网络状态和功能,由此允许应用210a-201c与网络104交互、对网络性能和状态做出反应、以及以有效且全面的方式影响网络运行状态。
首先参照方法400,在框402处,例如由请求接收模块312接收来自应用210a的访问网络104的请求。该请求可包括多个不同类型请求中的任一个。例如,该请求可包括询问网络104的状态,应用210a可使用该请求做出如何在可用网络运行状态下最优工作的决策。作为另一示例,该请求可包括待应用于网络104中的策略和要求的传送,其使得应用能够限定对网络104的相关传递和访问策略以及与网络104协商传输和分配服务。策略和要求的示例包括限定延迟、损耗、带宽、可靠性要求(例如,不共享链路风险组),限定负载均衡策略等等。作为又一示例,该请求可包括对将服务***到流量转发过程中的请求,这允许应用210a分析流量,并且基于权限允许应用210a影响网络104中的流量转发决策。
在框404处,例如,由权限确定模块316确定分派给应用210a的权限。将一般与应用210a的访问等级相关的权限提供给网络104。因此,例如,应用210a可不被提供有权限,其中应用210甚至不被提供对网络104的状态的访问。当应用210a不被提供有权限时,应用210a可能够通过网络104通信,但是可能不能访问网络104的状态信息。作为另一示例,应用210a可被提供有网络透明等级的权限,其中应用210a可接收对询问网络104的状态的响应。换句话说,应用210a可被提供有对网络104的只读类型的访问。作为又一示例,应用210a可被提供有网络交互等级的权限,其中应用210a可限定对网络104的相关传递和访问策略,以及与网络104协商传输和分配服务。作为又一示例,应用210a可被提供有网络***等级的权限,其中应用210a可将服务***到流量转发过程。
应用210a可被分派上面讨论的权限的任意组合。此外,在一个示例中,分派给应用210a的权限包含在从应用210a接收的请求或其它通信中。在另一示例中,权限确定模块316可通过访问包含与分派给应用210a的权限相关的信息的数据库,来确定分派给应用210a的权限。
在框406处,例如,由访问提供模块320为应用210a提供对应于所确定的分派给该应用的权限的对网络104的访问等级。因此,例如,如果应用210a不被提供有任何访问网络104的权限,则可拒绝应用210a的访问网络104的请求。
作为另一示例,如果应用210a已被分派网络透明等级的权限,则可允许应用210a访问网络104的状态。更具体地,接口管理器310的访问提供模块320可包括基元(primitives),其允许应用210a询问网络104并查看从源到目的地或受控网络104的边界内的延迟。基元还可允许应用210a以及操作***询问网络104并查看从源到目的地或受控网络104的边界内的可用带宽容量。基元可进一步允许应用210a监视与该应用关联的通信流的状态。
一方面,且与完全依靠丢包为操作***和应用识别网络性能问题的传统网络化模型不同,接口管理器310使应用210a或操作***能够基于网络性能动态调整其自身的网络运行状态。因此,应用210a与接口管理器310的交互允许应用210a主动优化性能,而不是完全依赖于破坏性的基于丢失的TCP机制。
作为又一示例,如果应用210a已被分派网络交互等级的权限,则可允许应用210a限定对网络104的相关传递和访问策略,以及与网络104协商传输和分配服务。更具体地,接口管理器310的访问提供模块320可包括通过规定理想的延迟、带宽、以及可靠性指标来允许应用210a请求有保证的传输质量的基元。根据示例,访问提供模块320支持允许网络104传送流特性的迭代响应,在所请求的传递特性满足的情况下,网络104可支持允许应用210a或者接受所提议的保证或者等待通知。基元还可允许应用210a全面地限定一种策略,可通过该策略在网络104中的目的节点之间分配流量。基元可进一步允许应用210a限定另一种策略,通过该策略划分流量在网络104上传输的顺序。基元可再进一步地允许应用210a在整体方面请求流量通过网络104的路径。
通过特定示例的方式,通过使用接口管理器310中的这些网络互动基元,应用210a可请求特定应用流(例如与电子商务网站的“结账”功能关联的那些应用流)在为高优先级动作保留的一组***中分配、在具有高优先级的网络上转发且受限于PCI兼容网络路径,而对目录的匿名浏览在较小的一组***中分配、并在最大努力的基础上在任意可用网络路径上传递。作为另一示例,接口管理器310可允许应用210a对网络104编程,以在策略中限定的某些预定条件满足时发送对应用210a的触发。
作为又一示例,如果应用210a已被分派网络***等级的权限,则可允许应用210a将服务***到网络104的流量转发过程中。更具体地,接口管理器310的访问提供模块320可包括基元,该基元允许应用210a将其自身***到新的相关联流的转发过程中,从而允许应用210a影响如何在网络104中转发特定流的流量。基元还可允许应用210a将其自身***到所有相关联流的转发过程中,从而允许应用210a监视现有流的内容。基元可进一步允许应用210a临时变更网络104中特定流或一组流的目的地。
通过示例的方式,通过使用这些网络***基元,应用210a可监视特定应用流,并基于应用状态可具有在网络104中重定向的单个流或成组的流,以便于更合适的应用处理或响应。
现在转到图5中的方法500,示出了图4中描绘的用于管理应用210a和网络104之间的接口的方法400的更详细的流程图。在框502处,接收来自应用210a的访问网络104的请求,这等同于图4中的框402。
在框504处,例如由应用认证模块314确定应用210a是否是可信的。可确定应用210a的可信性以确定应用210a是否被准许访问网络104。可通过多个合适的认证程序中的任意一个来执行应用210a的认证。例如,可确定应用210a是否在应用列表中被列出为可信的。作为另一示例,可确定应用210a是否包含合适的密钥或其它标识符,其表示应用210a是可信的。
在任意方面,响应于确定应用210a是不可信的,在框506处,可例如由访问提供模块320通过接口管理器310拒绝访问网络104。
但是,如果确定应用210a为可信的,则在框508处,可由例如权限确定模块316确定分派给应用的权限,如上面关于图4中的框404讨论的。
在框510处,例如由访问提供模块320确定在框502处接收到的请求是否与分派给应用210a的权限相匹配。响应于确定请求与分派给应用210a的权限不匹配,可通过接口管理器310拒绝包含在该请求中的对网络104的访问等级,如框506处所示。因此,例如,如果应用210a已被分派网络透明等级的权限,但该请求包括网络交互请求,则访问提供模块320可拒绝该请求。
响应于确定该请求与分派给应用210a的权限相匹配,在框512处,例如由请求准许确定模块318确定该请求是否被准许。具体地,请求准许确定模块318可确定网络104当前是否能够准许所请求的服务。也即,例如,请求准许确定模块318可确定网络104当前是否具有用于满足该请求的可用资源,例如带宽、可用处理器,等等。响应于确定网络104不能执行所请求的服务,通知应用,如框514处所示。该应用可基于所请求服务的重要性在框处502重新提交请求或可放弃请求。
响应于确定该请求可被准许,在框516处,例如由访问提供模块320为应用210a提供对应于所确定的分派给应用210a的权限的对网络104的访问等级。对该请求的响应可包括上面关于图4中的框406讨论的响应。
方法400和500中阐述的一些或全部操作可被包含为任意期望的计算机可存取介质中的实用程序、程序或子程序。此外,方法400和500可通过机器可读指令具体实现,该指令可以各种形式存在,活动的和不活动的。例如,它们可作为源代码、目标代码、可执行代码或其它格式存在。上述中的任意一种可具体实现在非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括传统的计算机***RAM、ROM、EPROM、EEPROM以及磁盘或光盘或磁带。因此应理解,任意能够执行上述功能的电子设备可执行上面列举的那些功能。
现在转到图6,示出了根据示例的计算设备600的示意图,计算设备600可用于执行图3中描绘的接口管理器310的各种功能。计算设备600包括:处理器602,例如处理器602;显示器604,例如但不限于监视器;网络接口608,例如但不限于局域网LAN、无线802.11x LAN、3G/4G移动WAN或WiMax WAN;以及计算机可读介质610。这些组件中的每个可操作地联接至总线612。例如,总线612可为EISA、PCI、USB、火线、NuBus(网络用户总线)或PDS。
计算机可读介质610包括参与为处理器602提供指令以执行的任意合适介质。例如,计算机可读介质610可为非易失性介质。操作***614还可执行基本功能,例如但不限于识别包的接收、向包的目的地址发送包、以及管理总线612上的流量。网络应用616包括用于建立和维护网络连接的各种组件,例如但不限于用于实现包括TCP/IP、HTTP、以太网、USB以及火线的通信协议的机器可读指令。
接口管理应用618提供上面关于图4和图5中的方法400和500讨论的用于管理应用和网络之间的接口的各种组件。因此,接口管理应用618可包括请求接收模块312、应用认证模块314、权限确定模块316、请求准许确定模块318、以及访问提供模块320。
在某些示例中,应用618所执行的过程中的一些或全部可集成到操作***614中。在某些示例中,过程可至少部分实现在数字电子电路中,或计算机硬件、机器可读指令(包括固件和软件)中,或在其任意组合中,也如上面所讨论的。
本文中描述和说明的是本公开及其一些变体的示例。仅通过说明的方式阐述本文所用的术语、描述以及图,且不意味着限制。在本公开的范围内许多变体是可能的,其旨在由所附权利要求及其等同物限定,其中所有术语在其最广泛合理的意义上来解释,除非另外指出。
Claims (15)
1.一种用于管理应用和网络之间的接口的方法,所述方法包括:
接收来自所述应用的访问所述网络的请求;
确定分派给所述应用的权限;以及
由处理器为所述应用提供对应于所确定的分派给所述应用的权限的对所述网络的访问等级。
2.根据权利要求1所述的方法,进一步包括:
确定所述应用是否是可信的;
为所述应用提供对应于所确定的分派给所述应用的权限的对所述网络的所述访问等级;以及
响应于确定所述应用是不可信的,拒绝对所述网络的访问。
3.根据权利要求1所述的方法,其中所述权限包括无权限、网络透明权限、网络交互权限以及网络***权限中的至少一种。
4.根据权利要求3所述的方法,其中为所述应用提供对所述网络的所述访问等级进一步包括:
响应于所述权限包括网络透明权限,允许所述应用访问所述网络的状态。
5.根据权利要求3所述的方法,其中为所述应用提供对所述网络的所述访问等级进一步包括:
响应于所述权限包括网络交互权限,允许所述应用进行以下中的至少一项:
限定与所述应用相关的对所述网络的传递和访问策略;和
与所述网络协商传输和分配服务。
6.根据权利要求3所述的方法,其中为所述应用提供对所述网络的所述访问等级包括:
响应于所述权限包括网络***权限,允许所述应用将服务***到所述网络的网络流量中。
7.根据权利要求1所述的方法,其中为所述应用提供对所述网络的所述访问等级进一步包括:为所述应用提供对多个网络相关的数据库的访问。
8.根据权利要求1所述的方法,其中为所述应用提供对所述网络的所述访问等级进一步包括:为所述应用提供通过网络服务对网络设备控制器应用程序接口(API)的访问。
9.根据权利要求1所述的方法,进一步包括:
确定所述请求是否与分派给所述应用的所述权限匹配;以及
响应于所述请求与分派给所述应用的所述权限不匹配,拒绝所述请求。
10.根据权利要求1所述的方法,进一步包括:
确定所述访问等级是否能够提供给所述应用;且
其中为所述应用提供所述访问等级进一步包括:响应于确定所述网络能够向所述应用提供所述访问等级,为所述应用提供所述访问等级。
11.一种网络装置,包括:
存储器,存储机器可读指令以:
接收来自所述应用的访问所述网络的请求;
确定所述应用是否是可信的;
确定分派给所述应用的权限,其中所述权限包括无权限、网络透明权限、网络交互权限以及网络***权限中的至少一种;
响应于确定所述应用是可信的,为所述应用提供对应于所确定的分派给所述应用的权限的对所述网络的访问等级;以及
处理器,用于实施所述机器可读指令。
12.根据权利要求11所述的网络装置,其中所述机器可读指令进一步用以:
响应于所述权限包括网络透明权限,允许所述应用访问所述网络的状态;
响应于所述权限包括网络交互权限,允许所述应用进行以下中的至少一项:
限定与所述应用相关的对所述网络的传递和访问策略;和
与所述网络协商传输和分配服务;以及
响应于所述权限包括网络***权限,允许所述应用将服务***到所述网络的网络流量中。
13.根据权利要求11所述的网络装置,其中所述机器可读指令进一步用于进行以下中的一项:
为所述应用提供对多个网络相关的数据库的访问;和
为所述应用提供通过网络服务对网络设备控制器应用程序接口(API)的访问。
14.一种非暂时性计算机可读存储介质,在所述介质上存储有机器可读指令,所述机器可读指令在由处理器执行时实施用于管理应用和网络之间的接口的方法,所述机器可读指令包括代码以:
接收来自所述应用的访问所述网络的请求;
确定所述应用是否是可信的;
确定分派给所述应用的权限;
确定所述请求是否与分派给所述应用的所述权限匹配;以及
响应于确定所述应用是可信的且所述请求与分派给所述应用的所述权限匹配,为所述应用提供对应于所确定的分派给所述应用的权限的对所述网络的访问等级。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述权限包括无权限、网络透明权限、网络交互权限以及网络***权限中的至少一种,所述机器可读指令进一步包括代码以:
响应于所述权限包括网络透明权限,允许所述应用访问所述网络的状态;
响应于所述权限包括网络交互权限,允许所述应用进行以下中的至少一项:
限定与所述应用相关的对所述网络的传递和访问策略;和
与所述网络协商传输和分配服务;以及
响应于所述权限包括网络***权限,允许所述应用将服务***到所述网络的网络流量中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/049014 WO2014021856A1 (en) | 2012-07-31 | 2012-07-31 | Managing an interface between an application and a network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104272287A true CN104272287A (zh) | 2015-01-07 |
Family
ID=50028370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280072889.3A Pending CN104272287A (zh) | 2012-07-31 | 2012-07-31 | 管理应用和网络之间的接口 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150143470A1 (zh) |
EP (1) | EP2880545A4 (zh) |
CN (1) | CN104272287A (zh) |
WO (1) | WO2014021856A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161396A (zh) * | 2015-04-20 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种实现虚拟机网络访问控制的方法及装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9692678B2 (en) * | 2013-11-01 | 2017-06-27 | Cisco Technology, Inc. | Method and system for delegating administrative control across domains |
WO2015152871A1 (en) | 2014-03-31 | 2015-10-08 | Hewlett-Packard Development Company, L.P. | Prioritization of network traffic in a distributed processing system |
US9985953B2 (en) * | 2014-11-10 | 2018-05-29 | Amazon Technologies, Inc. | Desktop application fulfillment platform with multiple authentication mechanisms |
FR3031272A1 (fr) * | 2014-12-24 | 2016-07-01 | Orange | Procede d'obtention de droits mis en oeuvre par un objet communicant |
US9848061B1 (en) * | 2016-10-28 | 2017-12-19 | Vignet Incorporated | System and method for rules engine that dynamically adapts application behavior |
US9928230B1 (en) | 2016-09-29 | 2018-03-27 | Vignet Incorporated | Variable and dynamic adjustments to electronic forms |
US11153156B2 (en) | 2017-11-03 | 2021-10-19 | Vignet Incorporated | Achieving personalized outcomes with digital therapeutic applications |
US11158423B2 (en) | 2018-10-26 | 2021-10-26 | Vignet Incorporated | Adapted digital therapeutic plans based on biomarkers |
US10762990B1 (en) | 2019-02-01 | 2020-09-01 | Vignet Incorporated | Systems and methods for identifying markers using a reconfigurable system |
US11456080B1 (en) | 2020-08-05 | 2022-09-27 | Vignet Incorporated | Adjusting disease data collection to provide high-quality health data to meet needs of different communities |
US11504011B1 (en) | 2020-08-05 | 2022-11-22 | Vignet Incorporated | Early detection and prevention of infectious disease transmission using location data and geofencing |
US11056242B1 (en) | 2020-08-05 | 2021-07-06 | Vignet Incorporated | Predictive analysis and interventions to limit disease exposure |
US11127506B1 (en) | 2020-08-05 | 2021-09-21 | Vignet Incorporated | Digital health tools to predict and prevent disease transmission |
US11763919B1 (en) | 2020-10-13 | 2023-09-19 | Vignet Incorporated | Platform to increase patient engagement in clinical trials through surveys presented on mobile devices |
US11281553B1 (en) | 2021-04-16 | 2022-03-22 | Vignet Incorporated | Digital systems for enrolling participants in health research and decentralized clinical trials |
US11789837B1 (en) | 2021-02-03 | 2023-10-17 | Vignet Incorporated | Adaptive data collection in clinical trials to increase the likelihood of on-time completion of a trial |
US11586524B1 (en) | 2021-04-16 | 2023-02-21 | Vignet Incorporated | Assisting researchers to identify opportunities for new sub-studies in digital health research and decentralized clinical trials |
US11901083B1 (en) | 2021-11-30 | 2024-02-13 | Vignet Incorporated | Using genetic and phenotypic data sets for drug discovery clinical trials |
US11705230B1 (en) | 2021-11-30 | 2023-07-18 | Vignet Incorporated | Assessing health risks using genetic, epigenetic, and phenotypic data sources |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080040773A1 (en) * | 2006-08-11 | 2008-02-14 | Microsoft Corporation | Policy isolation for network authentication and authorization |
CN101170409A (zh) * | 2006-10-24 | 2008-04-30 | 华为技术有限公司 | 实现设备访问控制的方法、***、业务设备和认证服务器 |
CN101631116A (zh) * | 2009-08-10 | 2010-01-20 | 中国科学院地理科学与资源研究所 | 一种分布式双重授权及访问控制方法和*** |
US20120005719A1 (en) * | 2010-07-01 | 2012-01-05 | Raytheon Company | Proxy-Based Network Access Protection |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078457A1 (en) * | 2002-10-21 | 2004-04-22 | Tindal Glen D. | System and method for managing network-device configurations |
US7930539B2 (en) * | 2004-08-03 | 2011-04-19 | Hewlett-Packard Development Company, L.P. | Computer system resource access control |
US7516134B2 (en) * | 2005-02-01 | 2009-04-07 | Apple Inc. | Controlling access to a database using database internal and external authorization information |
US7769859B1 (en) * | 2005-04-15 | 2010-08-03 | Cisco Technology, Inc. | Controlling access to managed objects in networked devices |
US8522025B2 (en) * | 2006-03-28 | 2013-08-27 | Nokia Corporation | Authenticating an application |
EP2134122A1 (en) * | 2008-06-13 | 2009-12-16 | Hewlett-Packard Development Company, L.P. | Controlling access to a communication network using a local device database and a shared device database |
US7889670B2 (en) * | 2008-09-22 | 2011-02-15 | Qwest Communications International, Inc. | Dynamic modem bandwidth checking |
US8898459B2 (en) * | 2011-08-31 | 2014-11-25 | At&T Intellectual Property I, L.P. | Policy configuration for mobile device applications |
-
2012
- 2012-07-31 EP EP12882152.7A patent/EP2880545A4/en not_active Withdrawn
- 2012-07-31 CN CN201280072889.3A patent/CN104272287A/zh active Pending
- 2012-07-31 WO PCT/US2012/049014 patent/WO2014021856A1/en active Application Filing
- 2012-07-31 US US14/391,834 patent/US20150143470A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080040773A1 (en) * | 2006-08-11 | 2008-02-14 | Microsoft Corporation | Policy isolation for network authentication and authorization |
CN101170409A (zh) * | 2006-10-24 | 2008-04-30 | 华为技术有限公司 | 实现设备访问控制的方法、***、业务设备和认证服务器 |
CN101631116A (zh) * | 2009-08-10 | 2010-01-20 | 中国科学院地理科学与资源研究所 | 一种分布式双重授权及访问控制方法和*** |
US20120005719A1 (en) * | 2010-07-01 | 2012-01-05 | Raytheon Company | Proxy-Based Network Access Protection |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161396A (zh) * | 2015-04-20 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种实现虚拟机网络访问控制的方法及装置 |
CN106161396B (zh) * | 2015-04-20 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 一种实现虚拟机网络访问控制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2880545A1 (en) | 2015-06-10 |
WO2014021856A1 (en) | 2014-02-06 |
US20150143470A1 (en) | 2015-05-21 |
EP2880545A4 (en) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104272287A (zh) | 管理应用和网络之间的接口 | |
US10523514B2 (en) | Secure cloud fabric to connect subnets in different network domains | |
US10067547B2 (en) | Power management control of remote servers | |
US9454199B2 (en) | Power management control of remote servers | |
EP2586160B1 (en) | Distributed virtual network gateways | |
US8953479B2 (en) | System and method for license enforcement for data center monitoring applications | |
EP3295652B1 (en) | Methods, systems, and apparatuses of service provisioning for resource management in a constrained environment | |
US20190097940A1 (en) | Network system and method for cross region virtual private network peering | |
CN104685507A (zh) | 向虚拟云基础结构提供虚拟安全装置架构 | |
WO2017220115A1 (en) | Software defined networking system | |
CN102027714A (zh) | 基于目的地网络执行联网任务 | |
Zemrane et al. | SDN-based solutions to improve IoT: survey | |
US11153145B2 (en) | System and method of a centralized gateway that coordinates between multiple external controllers without explicit awareness | |
CN110301125B (zh) | 虚拟机的逻辑端口认证 | |
CN105704042A (zh) | 报文处理方法、bng及bng集群*** | |
US8817664B2 (en) | Network edge switch configuration based on connection profile | |
Romanov et al. | Mathematical description of control problems in SDN networks | |
US11979391B2 (en) | Access point manager for roaming user products | |
US20130086140A1 (en) | Cloud management system and method | |
CN113612787B (zh) | 一种终端认证方法 | |
EP2028822B1 (en) | Method and system for securing a commercial grid network over non-trusted routes | |
KR20170006950A (ko) | Sdn 기반의 네트워크 플랫트닝 시스템 및 그 방법 | |
KR20150002238A (ko) | 우선순위 변경 및 스위칭 기능을 갖는 중간노드를 포함하는 m2m 시스템 | |
US10764199B2 (en) | Adjustment of an information unit pacing credit to increase data transmission rate | |
EP4037280A1 (en) | System and method for cross account communication across one or more computing platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160928 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |