← Back to Patent Explorer
US6594709B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and apparatus for transferring data using a device driver

Assignee: Cisco Technology Inc
•
Filing: 1999-09-24
•
Granted: 2003-07-15
•
Expires: 2019-09-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The invention is directed to techniques for transferring data using a device driver that is arranged to prevent improper operation of a non-primary routine (e.g., an administrative operation) from causing improper operation of a primary routine (e.g., a data transfer operation). Accordingly, the primary routine can continue to operate properly after a failure of the non-primary routine. In one arrangement, a data communications device transfers data. The data communications device includes a port that couples to a network, and a processor coupled to the port. The data communications device further includes memory, coupled to the processor, that stores a device driver. The device driver has a first set of instructions that directs the processor to perform a data transfer routine that moves data between memory and the port, and a second set of instructions that directs the processor to perform an administrative routine. The second set of instructions is arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine. In particular, execution and communication mechanisms enable the primary and administrative routines to operate in such a fault-tolerant manner.

Inventors

  • 👤 Saravanan Agasaveeran
  • 👤 Rajesh Agrawal
  • 👤 James Balestriere
  • 👤 Steven Berl
  • 👤 Gordon Cox
  • 👤 Satish Gannu
  • 👤 Aniruddha Khare
  • 👤 M. Salim Olime
  • 👤 John G. Waclawsky

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 05:45
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1479; G06F11/1492; G06F11/004; G06F11/1487; G06F9/00; G06F9/06; G06F9/46; G06F9/54

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 101 words
A data communications device for transferring data, comprising: a port that couples to a network; a processor coupled to the port; and memory, coupled to the processor, that stores a device driver, the device driver including: a first set of instructions that directs the processor to perform a data transfer routine that moves data between the port and the memory, and a second set of instructions that directs the processor to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 2
Dependent Claim 101 words
A data communications device for transferring data, comprising: a port that couples to a network; a processor coupled to the port; and memory, coupled to the processor, that stores a device driver, the device driver including: a first set of instructions that directs the processor to perform a data transfer routine that moves data between the port and the memory, and a second set of instructions that directs the processor to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 3
Dependent Claim 33 words
The data communications device of claim 1 , wherein the administrative routine includes: a state change routine to cause a state change in the device driver when operating in the data communications device.
Claim 4
Dependent Claim 32 words
The data communications device of claim 1 , wherein the administrative routine includes: a control routine to cause a control change in the device driver when operating in the data communications device.
Claim 5
Dependent Claim 23 words
The data communications device of claim 1 , wherein the administrative routine includes: a resource management routine to manage a device driver resource.
Claim 6
Dependent Claim 29 words
The data communications device of claim 1 , wherein the administrative routine includes: a statistic collection routine that collects statistical information describing an operation of the data transfer routine.
Claim 7
Dependent Claim 28 words
The data communications device of claim 1 , wherein the administrative routine includes: a network management routine that collects network management information describing operation of the device driver.
Claim 8
Dependent Claim 64 words
The data communications device of claim 1 , wherein the data transfer routine has access to a restricted area of the memory, and wherein the administrative routine has access only to an administrative area of the memory that excludes the restricted area of the memory to prevent a memory access operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 9
Dependent Claim 41 words
The data communications device of claim 1 , wherein the first set of instructions is non-integrated with the second set of instructions to prevent improper processing of the second set of instructions from causing improper operation of the data transfer routine.
Claim 10
Dependent Claim 67 words
The data communications device of claim 1 , wherein the administrative routine includes: a state storage routine that stores, in the memory, operating state information of the data transfer routine; and a backup routine that transfers data between the memory and the port using the operating state information, in response to a failure of the data transfer routine to transfer data between the memory and the port.
Claim 11
Dependent Claim 77 words
The data communications device of claim 1 , wherein the memory further stores an upgrade application having: a replacement set of instructions that is different than the second set of instructions of the device driver; and a control set of instructions that directs the processor to replace the second set of instructions of the device driver with the replacement set of instructions, wherein the replacement set of instructions directs the processor to perform a new administrative routine.
Claim 12
Dependent Claim 26 words
The data communications device of claim 1 , wherein the administrative routine includes: a housekeeping routine that performs initialization and cleanup operations for the device driver.
Claim 13
Dependent Claim 86 words
The data communications device of claim 1 wherein the processor runs an operating system; wherein the processor is configured to (i) execute the first set of instructions that directs the processor to perform the data transfer routine in a first process, and (ii) execute the second set of instructions that directs the processor to perform the administrative routine in a second process; and wherein the operating system imposes process level security and privacy on the first and second processes to separate the first and second processes.
Claim 14
Dependent Claim 27 words
The data communications device of claim 12 wherein the first process and the second process are configured to communicate through interprocess communications imposed by the operating system.
Claim 15
Dependent Claim 62 words
The data communications device of claim 12 wherein the first process is configured to access a first set of memory locations having a common area and a restricted area, wherein the second process is configured to access a second set of memory locations having an administrative area and the common area to share data with the first process through the common area.
Claim 16
Dependent Claim 45 words
The data communications device of claim 12 , further comprising: multiple input ports and multiple output ports, wherein the first process which executes the first set of instructions is configured to route data elements received through the multiple input ports to the multiple output ports.
Claim 17
Independent Claim 74 words
A method for transferring data, comprising the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 18
Independent Claim 74 words
A method for transferring data, comprising the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 19
Dependent Claim 59 words
The method of claim 16 , wherein the first and second sets of instructions form a device driver, and wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: performing a state change routine that causes a state change in the device driver when operating in a data communications device.
Claim 20
Dependent Claim 58 words
The method of claim 16 , wherein the first and second sets of instructions form a device driver, and wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: performing a control routine to cause a control change in the device driver when operating in a data communications device.
Claim 21
Dependent Claim 49 words
The method of claim 16 , wherein the first and second sets of instructions form a device driver, and wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: performing a resource management routine that manages a device driver resource.
Claim 22
Dependent Claim 36 words
The method of claim 16 , wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: collecting statistical information describing an operation of the data transfer routine.
Claim 23
Dependent Claim 35 words
The method of claim 16 , wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: collecting network management information describing operation of the device driver.
Claim 24
Dependent Claim 62 words
The method of claim 16 , wherein the data transfer routine has access to a restricted area of the memory, and wherein the administrative routine has access only to an administrative area of the memory that excludes the restricted area of the memory to prevent a memory access operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 25
Dependent Claim 39 words
The method of claim 16 , wherein the first set of instructions is non-integrated with the second set of instructions to prevent improper processing of the second set of instructions from causing improper operation of the data transfer routine.
Claim 26
Dependent Claim 65 words
The method of claim 16 , wherein the step of processing the second set of instructions includes the steps of: storing, in the memory, operating state information of the data transfer routine; and transferring data between the memory and the port using the operating state information, in response to a failure of the data transfer routine to transfer data between the memory and the port.
Claim 27
Dependent Claim 72 words
The method of claim 16 , wherein the first and second sets of instructions form portions of a device driver, and wherein the method further comprises the steps of: running a replacement application that replaces the second set of instructions of the device driver with a replacement set of instructions that is different than the second set of instructions; and processing the replacement set of instructions to perform a new administrative routine.
Claim 28
Dependent Claim 34 words
The method of claim 16 , wherein the step of processing the second set of instructions to perform the administrative routine includes the step of: performing initialization and cleanup operations for the device driver.
Claim 29
Dependent Claim 92 words
The method of claim 16 wherein the step of processing the first set of instructions to perform the data transfer routine includes the step of executing the first set of instructions in a first process; wherein the step of processing the second set of instructions to perform the administrative routine includes the step of executing the second set of instructions in a second process; and wherein the method further comprises the step of: imposing process level security and privacy on the first and second processes to separate the first and second processes.
Claim 30
Dependent Claim 103 words
A computer program product that includes a computer readable medium having instructions stored thereon for transferring data such that the instructions, when processed by a data communications device, cause the data communications device to perform the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 31
Dependent Claim 103 words
A computer program product that includes a computer readable medium having instructions stored thereon for transferring data such that the instructions, when processed by a data communications device, cause the data communications device to perform the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 32
Dependent Claim 64 words
The computer program product of claim 28 , wherein the data transfer routine has access to a restricted area of the memory, and wherein the administrative routine has access only to an administrative area of the memory that excludes the restricted area of the memory to prevent a memory access operation of the administrative routine from causing improper operation of the data transfer routine.
Claim 33
Dependent Claim 79 words
A computer system, comprising: a processor; and memory, coupled to the processor, that stores a device driver, the device driver including: a first set of instructions that directs the processor to perform a primary routine that operates a device, and a second set of instructions that directs the processor to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the primary routine.
Claim 34
Dependent Claim 79 words
A computer system, comprising: a processor; and memory, coupled to the processor, that stores a device driver, the device driver including: a first set of instructions that directs the processor to perform a primary routine that operates a device, and a second set of instructions that directs the processor to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the primary routine.
Claim 35
Dependent Claim 61 words
The computer system of claim 30 , wherein the primary routine has access to a restricted area of the memory, and wherein the administrative routine has access only to an administrative area of the memory that excludes the restricted area of the memory to prevent a memory access operation of the administrative routine from causing improper operation of the primary routine.
Claim 36
Dependent Claim 48 words
The computer system of claim 30 , wherein the processor executes the first set of instructions as a first process and the second set of instructions as a second process, and wherein the first and second processes communicate by exchanging data in a shared area of the memory.
Claim 37
Dependent Claim 44 words
The computer system of claim 30 , wherein the processor executes the first set of instructions as a first process and the second set of instructions as a second process, and wherein the first and second processes communicate by passing messages to each other.
Claim 38
Dependent Claim 42 words
The computer system of claim 30 , wherein the processor executes the first set of instructions as a first process and the second set of instructions as a second process, and wherein the first and second processes communicate using events and semaphores.
Claim 39
Dependent Claim 89 words
In a computer system, a method for operating a device, comprising the steps of: loading a device driver on the computer system, the device driver including a first set of instructions and a second set of instructions; processing the first set of instructions to perform a primary routine that operates the device; and processing the second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the primary routine.
Claim 40
Dependent Claim 89 words
In a computer system, a method for operating a device, comprising the steps of: loading a device driver on the computer system, the device driver including a first set of instructions and a second set of instructions; processing the first set of instructions to perform a primary routine that operates the device; and processing the second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of the administrative routine from causing improper operation of the primary routine.
Claim 41
Dependent Claim 60 words
The method of claim 35 , wherein the primary routine has access to a restricted area of the memory, and wherein the administrative routine has access only to an administrative area of the memory that excludes the restricted area of the memory to prevent a memory access operation of the administrative routine from causing improper operation of the primary routine.
Claim 42
Dependent Claim 80 words
The method of claim 35 , wherein the step of processing the first set of instructions includes the step of executing the first set of instructions as a first process, wherein the step of processing the second set of instructions includes the step of executing the second set of instructions as a second process, and wherein method further includes the step of: exchanging data between the first and second processes in a shared area of the memory for interprocess communication.
Claim 43
Dependent Claim 73 words
The method of claim 35 , wherein the step of processing the first set of instructions includes the step of executing the first set of instructions as a first process, wherein the step of processing the second set of instructions includes the step of executing the second set of instructions as a second process, and wherein method further includes the step of: passing messages between the first and second processes for interprocess communication.
Claim 44
Dependent Claim 77 words
The method of claim 35 , wherein the step of processing the first set of instructions includes the step of executing the first set of instructions as a first process, wherein the step of processing the second set of instructions includes the step of executing the second set of instructions as a second process, and wherein method further includes the step of: exchanging data between the first and second processes using events and semaphores for interprocess communication.
Claim 45
Independent Claim 88 words
A method for transferring data, comprising the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of one of the data transfer routine and the administrative routine from causing improper operation of the other of the data transfer routine and the administrative routine.
Claim 46
Independent Claim 88 words
A method for transferring data, comprising the steps of: processing a first set of instructions to perform a data transfer routine that moves data between a memory and a port which is coupled to a network; and processing a second set of instructions to perform an administrative routine, the first and second sets of instructions being arranged to prevent improper operation of one of the data transfer routine and the administrative routine from causing improper operation of the other of the data transfer routine and the administrative routine.
Claim 47
Dependent Claim 23 words
The method of claim 40 , wherein the administrative routine includes: a configuration routine that verifies and configures the port for data transfer.
Claim 48
Dependent Claim 19 words
The method of claim 40 , wherein the administrative routine includes: a control routine that handles network control events.

References Cited (Backward Citations)

US5301275A Cited
US5319754A Cited
US5469545A Cited
US5623618A Cited
US6026454A Cited
US5548759A Cited
US5953516A Cited
US5909576A Cited
US5815731A Cited
US6353857B2 Cited
US6230194B1 Cited
US6148387A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-07-14 2007-01-13 2007-07-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-07-14 2011-01-13 2011-07-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-07-14 2015-01-13 2015-07-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag