Patents by Inventor Haakon Ording Bugge

Haakon Ording Bugge has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8589610
    Abstract: A method for processing commands on a host channel adapter includes a host channel adapter receiving data from a host connected to the host channel adapter. The command includes an instruction, identification of packet data, and a length field. The host channel adapter extracts a length of the command from the length field, generates a scoreboard mask based on the length, where the scoreboard mask includes unused bits in the scoreboard preset, and sets, with each portion of the data received, a corresponding bit in a scoreboard. The host channel adapter further determines that the size of the data received for the command matches the length using the scoreboard, issues a kick on the host channel adapter when a size of the data received for the command matches the length, executes, in response to the kick, the instruction on a pipeline, and sends the packet data on a network.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: November 19, 2013
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge
  • Patent number: 8484396
    Abstract: A method for issuing interrupts includes a receiving communication adapter receiving a first remote directed memory access (RDMA) write with immediate, identifying a completion queue descriptor corresponding to the first RDMA write with immediate and to a receiving entity, incrementing an interrupt counter in response to the first RDMA write with immediate. The method includes storing, by the receiving communication adapter, in response to determining that the interrupt counter value is less than the interrupt threshold value, data in the first RDMA write with immediate on the receiving device without triggering an interrupt to the receiving entity. The receiving communication adapter receives a second RDMA write with immediate, and increments the interrupt counter value corresponding to the completion queue descriptor in response to the second RDMA write with immediate.
    Type: Grant
    Filed: August 23, 2011
    Date of Patent: July 9, 2013
    Assignee: Oracle International Corporation
    Inventor: Haakon Ording Bugge
  • Patent number: 8484392
    Abstract: A method for allocating resources of a host channel adapter includes the host channel adapter identifying an underlying function referenced in the first resource allocation request received from a virtual machine manager, determining that the first resource allocation request specifies a number of physical collect buffers (PCBs) allocated to the underlying function, allocating the number of PCBs to the underlying function, determining that the first resource allocation request specifies a number of virtual collect buffers (VCBs) allocated to the underlying function, and allocating the number of VCBs to the underlying function. The host channel adapter further receives command data for a command from the single virtual machine, determines that the underlying function has in use at least the number of PCBs when the command data is received, and drops the command data in the first command based on the underlying function having in use at least the number of PCBs.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: July 9, 2013
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge, Ola Torudbakken
  • Publication number: 20130051494
    Abstract: A method for receiving a single message includes a receiving communication adapter receiving a first sub-unit in a single message. A transmitting communication adapter partitions the single message into sub-units. The method further includes storing the first payload in the memory of a receiving device, appending a first completion code into the first sub-unit, and sending a first notification to a receiving entity of the first completion code. The receiving entity processes the first payload based on the first determination. The receiving communication adapter receives a second sub-unit of the multiple sub-units after the first payload is processed by the receiving entity. The method further includes storing the second payload in the memory of the receiving device. The receiving entity determines that the first sub-unit is completely stored based on the first completion code, and that the second sub-unit is completely stored based on a second completion code.
    Type: Application
    Filed: August 23, 2011
    Publication date: February 28, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Haakon Ording Bugge, Hans Westgaard Ry
  • Publication number: 20130051406
    Abstract: A method for transmitting a message includes a communication adapter receiving, from a transmitting device, a request to send the message. The method further includes modifying a maximum transfer unit (MTU) to obtain a modified MTU, transmitting, from the communication adapter to a receiving system, a first sub-unit of the message using the modified MTU, iteratively increasing the MTU for transmitting intermediate sub-units of the message until an MTU limit is reached, and transmitting, to the receiving system, the intermediate sub-units of the message. The intermediate sub-units are transmitted after the first sub-unit and before a second sub-unit. The method further includes transmitting, from the communication adapter to the receiving system, the second sub-unit to the receiving system using a full path MTU.
    Type: Application
    Filed: August 23, 2011
    Publication date: February 28, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Haakon Ording Bugge, Lars Paul Huse, Ola Toerudbakken
  • Publication number: 20130054726
    Abstract: A method for conditional execution of a remote direct memory access (RDMA) write includes a host channel adapter receiving at least one message that includes an atomic operation and the RDMA write. The host channel adapter obtains a descriptor corresponding to the RDMA write, and determines, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation. Based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write is queued to be conditionally executed based on a success indicator of the atomic operation. After queuing the RDMA write, the atomic operation is executed successfully. In response to the successful execution, the host channel adapter executes the conditional RDMA write to write to the memory location on the host.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Haakon Ording Bugge
  • Publication number: 20130054858
    Abstract: A method for issuing interrupts includes a receiving communication adapter receiving a first remote directed memory access (RDMA) write with immediate, identifying a completion queue descriptor corresponding to the first RDMA write with immediate and to a receiving entity, incrementing an interrupt counter in response to the first RDMA write with immediate. The method further includes storing, by the receiving communication adapter, in response to determining that the interrupt counter value is less than the interrupt threshold value, data in the first RDMA write with immediate on the receiving device without triggering an interrupt to the receiving entity. The receiving communication adapter further receives a second RDMA write with immediate, and increments the interrupt counter value corresponding to the completion queue descriptor in response to the second RDMA write with immediate.
    Type: Application
    Filed: August 23, 2011
    Publication date: February 28, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Haakon Ording Bugge
  • Publication number: 20120311208
    Abstract: A method for processing commands on a host channel adapter includes a host channel adapter receiving data from a host connected to the host channel adapter. The command includes an instruction, identification of packet data, and a length field. The host channel adapter extracts a length of the command from the length field, generates a scoreboard mask based on the length, where the scoreboard mask includes unused bits in the scoreboard preset, and sets, with each portion of the data received, a corresponding bit in a scoreboard. The host channel adapter further determines that the size of the data received for the command matches the length using the scoreboard, issues a kick on the host channel adapter when a size of the data received for the command matches the length, executes, in response to the kick, the instruction on a pipeline, and sends the packet data on a network.
    Type: Application
    Filed: May 31, 2011
    Publication date: December 6, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge
  • Publication number: 20120307838
    Abstract: A method for temporary storage of data units including receiving a first data unit to store in a hardware linked list queue on a communications adapter, reading a first index value from the first data unit, determining that the first index value does match an existing index value of a first linked list, and storing the first data unit in the hardware linked list queue as a member of the first linked list. The method further includes receiving a second data unit, reading a second index value from the second data unit, determining that the second index value does not match any existing index value, allocating space in the hardware linked list queue for a second linked list, and storing the second data unit in the second linked list.
    Type: Application
    Filed: May 31, 2011
    Publication date: December 6, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge
  • Publication number: 20120311597
    Abstract: A method for allocating resources of a host channel adapter includes the host channel adapter identifying an underlying function referenced in the first resource allocation request received from a virtual machine manager, determining that the first resource allocation request specifies a number of physical collect buffers (PCBs) allocated to the underlying function, allocating the number of PCBs to the underlying function, determining that the first resource allocation request specifies a number of virtual collect buffers (VCBs) allocated to the underlying function, and allocating the number of VCBs to the underlying function. The host channel adapter further receives command data for a command from the single virtual machine, determines that the underlying function has in use at least the number of PCBs when the command data is received, and drops the command data in the first command based on the underlying function having in use at least the number of PCBs.
    Type: Application
    Filed: May 31, 2011
    Publication date: December 6, 2012
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge, Ola Torudbakken