-
公开(公告)号:US20190102576A1
公开(公告)日:2019-04-04
申请号:US16147164
申请日:2018-09-28
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Paul Fox
Abstract: A network interface device comprises an integrated circuit device comprises at least one processor. A network interface device comprises a memory. The integrated device is configured to execute a function with respect to at least a part of stored data in said memory.
-
公开(公告)号:US20190020690A1
公开(公告)日:2019-01-17
申请号:US16134795
申请日:2018-09-18
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Derek Roberts
IPC: H04L29/06
CPC classification number: H04L63/20 , H04L63/0227 , H04L63/06 , H04L63/1441
Abstract: A rule engine receives data flows. The data flows are between a network and an application. The rule engine determines data flow information and in dependence on the information performs an action with respect to said flow. A controller provides control information to the rule engine to define one or more actions. The communications between said rule engine and said controller are secure.
-
公开(公告)号:US20180329743A1
公开(公告)日:2018-11-15
申请号:US15594416
申请日:2017-05-12
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Kieran Mansley , Maciej Aleksander Jablonski
IPC: G06F9/50
CPC classification number: G06F9/50
Abstract: A data processing system has a poll mode driver and a library supporting protocol processing. The poll mode driver and the library are non-operating system functionalities. An application is provided. An operation system is configured while executing in kernel mode and in response to the application being determined to be unresponsive, use a helper process being an operating system functionality executing at user-mode to cause a receive or transmit mode of the application to continue.
-
公开(公告)号:US09892082B2
公开(公告)日:2018-02-13
申请号:US14629319
申请日:2015-02-23
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope
IPC: G06F15/16 , G06F13/42 , G06F13/28 , G06F13/10 , G06F13/38 , H04L12/861 , G06Q40/04 , G06F12/1081
CPC classification number: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
Abstract: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.
-
公开(公告)号:US09880964B2
公开(公告)日:2018-01-30
申请号:US14629394
申请日:2015-02-23
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope
IPC: G06F15/16 , G06F13/42 , G06F13/28 , G06F13/10 , G06F13/38 , H04L12/861 , G06Q40/04 , G06F12/1081
CPC classification number: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
Abstract: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.
-
公开(公告)号:US09594842B2
公开(公告)日:2017-03-14
申请号:US14611105
申请日:2015-01-30
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Derek Roberts , David J. Riddoch , Ching Yu , John Mingyung Chiang , Der-Ren Chu
IPC: G06F17/30 , H04L12/747 , H04L12/741 , H04L12/861 , H04L29/06 , H04L29/08 , H04L12/851 , H04L12/863
CPC classification number: G06F17/30867 , G06F17/30864 , H04L45/742 , H04L45/745 , H04L47/2441 , H04L47/621 , H04L49/90 , H04L67/10 , H04L69/16 , H04L69/161 , H04L69/162 , H04L69/163 , H04L69/164 , H04L69/22 , Y10S707/922
Abstract: Roughly described, a network interface device is assigned a maximum extent-of-search. A hash function is applied to the header information of each incoming packet, to generate a hash code for the packet. The hash code designates a particular subset of the table within which the particular header information should be found, and an iterative search is made within that subset. If the search locates a matching entry before the search limit is exceeded, then the incoming data packet is delivered to the receive queue identified in the matching entry. But if the search reaches the search limit before a matching entry is located, then device delivers the packet to a default queue, such as a kernel queue, in the host computer system. The kernel is then responsible for delivering the packet to the correct endpoint.
Abstract translation: 大致描述了网络接口设备被分配最大的搜索范围。 散列函数被应用于每个输入分组的报头信息,以产生分组的哈希码。 哈希代码指定在其中应当找到特定头部信息的表的特定子集,并且在该子集内进行迭代搜索。 如果搜索在超出搜索限制之前找到匹配的条目,则传入数据包将被传递到匹配条目中标识的接收队列。 但是,如果在找到匹配的条目之前搜索达到搜索限制,则设备会将数据包传递到主机系统中的默认队列(如内核队列)。 然后,内核负责将数据包传递到正确的端点。
-
公开(公告)号:US20160373561A1
公开(公告)日:2016-12-22
申请号:US15253822
申请日:2016-08-31
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Kieran Mansley
IPC: H04L29/06
CPC classification number: H04L69/22 , H04L47/2475 , H04L69/161 , H04L69/166 , H04L69/329
Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.
Abstract translation: 一种在数据处理系统和网络接口设备上发送数据的方法,所述数据处理系统由所述网络接口设备耦合到网络,所述方法包括:根据预定的一组网络协议形成消息模板, 消息模板至少包括一个或多个协议头; 在一个或多个部分中形成应用层消息; 使用应用层消息的部分更新消息模板; 根据预定的一组网络协议处理消息模板,以便完成协议报头; 并使网络接口设备通过网络发送完成的消息。
-
公开(公告)号:US20160357793A1
公开(公告)日:2016-12-08
申请号:US14730094
申请日:2015-06-03
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch
IPC: G06F17/30
Abstract: A system is arranged to receive data which is written to a data store by a writer. A controller is able to read data from the data store. That controller is able to control the rate at which data is read from the data store with respect to the rate at which data is written to the data store. A query function receives a stream of said data substantially in real time and when said stream of data is unavailable in real time, the query function is able to subsequently obtain that unavailable data from said data store.
Abstract translation: 系统被布置成接收写入器写入数据存储器的数据。 控制器能够从数据存储中读取数据。 该控制器能够相对于将数据写入数据存储器的速率来控制从数据存储器读取数据的速率。 查询功能基本上实时地接收所述数据流,并且当所述数据流实时不可用时,查询功能能够随后从所述数据存储器获得不可用数据。
-
公开(公告)号:US20150161064A1
公开(公告)日:2015-06-11
申请号:US14629394
申请日:2015-02-23
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope
IPC: G06F13/28 , H04L12/861
CPC classification number: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
Abstract: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.
Abstract translation: 一种数据处理系统,包括主计算机系统和用于连接到网络的网络接口设备,所述主计算机系统和网络接口设备借助于数据总线耦合在一起,所述网络接口设备包括:控制器单元,其具有 用于连接到网络的第一数据端口,第二数据端口和连接到所述数据总线的数据总线接口,所述控制器单元可操作以根据在网络接口设备处接收到的数据分组的网络端点执行 在第一和第二数据端口与数据总线接口之间切换数据分组; 以及加速器模块,其具有耦合到所述控制器单元的所述第二数据端口的第一媒体访问控制器和可操作以在所述加速器模块上接收的数据分组上执行硬件中的一个或多个功能的处理器,所述第一媒体访问控制器可操作以 支持一个或多个第一网络端点; 所述主计算机系统支持:多个客体软件域,包括具有应用的第一访客软件域; 以及被配置为向所述多个访客域呈现虚拟操作平台的特权软件域,所述特权软件实体包括用于所述控制器单元但不包括用于所述加速器模块的第二软件驱动程序的第一软件驱动器; 其中所述应用被配置为通过根据预定网络协议形成并针对所述第一网络端点中的一个或多个的一个或多个第一数据分组来访问所述加速器模块。
-
公开(公告)号:US20140304719A1
公开(公告)日:2014-10-09
申请号:US14250290
申请日:2014-04-10
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Kieran Mansley
IPC: G06F9/54
CPC classification number: G06F9/541 , G06F9/546 , G06F2209/542
Abstract: A data processing system comprising: an operating system providing an application programming interface; an application supported by the operating system and operable to make calls to the application programming interface; an intercept library configured to intercept calls of a predetermined set of call types made by the application to the application programming interface; and a configuration data structure defining at least one action to be performed for each of a plurality of sequences of one or more calls having predefined characteristics, the one or more calls being of the predetermined set of call types; wherein the intercept library is configured to, on intercepting a sequence of one or more calls defined in the configuration data structure, perform the corresponding action(s) defined by the configuration data structure.
Abstract translation: 一种数据处理系统,包括:提供应用编程接口的操作系统; 由操作系统支持并且可操作以对应用程序编程接口进行调用的应用程序; 拦截库被配置为将应用程序所形成的预定呼叫类型的呼叫截取到应用编程接口; 以及配置数据结构,其定义要对具有预定特性的一个或多个呼叫的多个序列中的每个序列执行的至少一个动作,所述一个或多个呼叫是所述预定呼叫类型集合; 其中所述截取库被配置为在截取在所述配置数据结构中定义的一个或多个调用的序列时,执行由所述配置数据结构定义的相应动作。
-
-
-
-
-
-
-
-
-