IP Library Granted Patent US 10,275,261
Granted Patent B1
US 10,275,261 · App. 15/363,995 · Granted Apr 30, 2019

Methods and systems for message logging and retrieval in computer systems

Inventor: Lohith Anusuya Rangappa (Trabuco Canyon, CA)
Assignee: Cavium, LLC
G06F9/4411G06F9/4406G06F9/541
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,275,261
App. No.
15/363,995
Granted
Apr 30, 2019
Kind
B1
Abstract

Methods and systems for a computing device and an adapter are provided. One method includes allocating a memory location at the adapter for storing messages logged by a driver during a pre-boot operation of an operating system of the computing device coupled to the driver; generating a variable by the driver executed by the computing device, the variable includes an address of the memory location and is identified by a unique identifier; using a first application programming interface (API) by the driver for enabling message logging at the memory location during the pre-boot operation; retrieving the address of the memory location by a second API using the unique identifier of the variable; and obtaining by the second API on behalf of an application executed by the computing device, a message logged at the memory location by the driver during the pre-boot operation.

Claims (34)

1. A machine implemented method, comprising:

allocating a memory location at an adapter for storing messages logged by a driver during a pre-boot operation of an operating system of a computing device, the driver executed by the computing device to interface with the adapter using a peripheral link;

generating a variable by the driver executed by the computing device, the variable includes an address of the memory location and is identified by a unique identifier;

using a first application programming interface (API) by the driver for enabling message logging at the memory location during the pre-boot operation;

retrieving the address of the memory location by a second API using the unique identifier of the variable; and

obtaining by the second API on behalf of an application executed by the computing device, a message logged at the memory location by the driver during the pre-boot operation; wherein the application generates requests for the adapter to communicate with a networked storage device.

2. The method of claim 1 , wherein the message is obtained by the second API during run-time when the operating system is running.

3. The method of claim 1 , wherein the message is obtained by the second API during boot-time.

4. The method of claim 1 , wherein the variable is generated prior to installing a binding protocol.

5. The method of claim 1 , wherein a size of the memory location varies based on whether logged messages are obtained during boot time or run-time.

6. The method of claim 1 , wherein the first API is integrated with the driver.

7. The method of claim 1 , wherein the second API is integrated with the application.

8. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:

allocate a memory location at an adapter for storing messages logged by a driver during a pre-boot operation of an operating system of a computing device, the driver executed by the computing device to interface with the adapter using a peripheral link;

generate a variable by the driver executed by the computing device, the variable includes an address of the memory location and is identified by a unique identifier;

use a first application programming interface (API) by the driver for enabling message logging at the memory location during the pre-boot operation;

retrieve the address of the memory location by a second API using the unique identifier of the variable; and

obtain by the second API on behalf of an application executed by the computing device, a message logged at the memory location by the driver during the pre-boot operation; wherein the application generates requests for the adapter to communicate with a networked storage device.

9. The storage medium of claim 8 , wherein the message is obtained by the second API during run-time when the operating system is running.

10. The storage medium of claim 8 , wherein the message is obtained by the second API during boot-time.

11. The storage medium of claim 8 , wherein the variable is generated prior to installing a binding protocol.

12. The storage medium of claim 8 , wherein a size of the memory location varies based on whether logged messages are obtained during boot time or run-time.

13. The storage medium of claim 8 , wherein the first API is integrated with the driver.

14. The storage medium of claim 8 , wherein the second API is integrated with the application.

15. A system comprising:

a computing device having a processor executing a driver and an application, the computing device interfacing with an adapter via the driver, the adapter having a memory location for storing messages logged by the driver during a pre-boot operation;

wherein the driver generates a variable that includes an address of the memory location and is identified by a unique identifier;

wherein a first application programming interface (API) enables message logging at the memory location during the pre-boot operation; and

wherein a second API retrieves the address of the memory location using the unique identifier of the variable; and then obtains a message logged at the memory location by the driver during the pre-boot operation on behalf of an application executed by the computing device.

16. The system of claim 15 , wherein the message is obtained by the second API during run-time when the operating system is running.

17. The system of claim 15 , wherein the message is obtained by the second API during boot-time.

18. The system of claim 15 , wherein the variable is generated prior to installing a binding protocol.

19. The system of claim 15 , wherein a size of the memory location varies based on whether logged messages are obtained during boot time or run-time.

20. The system of claim 15 , wherein the first API is integrated with the driver and the second API is integrated with the application.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: ANUSUYA RANGAPPA, LOHITH
To: CAVIUM, INC.
Reel/Frame 040456/0296 →