US20040049516A1 - Computer system using a queuing system and method for managing a queue and heterogeneous data structures - Google Patents
Computer system using a queuing system and method for managing a queue and heterogeneous data structures Download PDFInfo
- Publication number
- US20040049516A1 US20040049516A1 US10/658,182 US65818203A US2004049516A1 US 20040049516 A1 US20040049516 A1 US 20040049516A1 US 65818203 A US65818203 A US 65818203A US 2004049516 A1 US2004049516 A1 US 2004049516A1
- Authority
- US
- United States
- Prior art keywords
- queue
- headers
- queuing system
- search
- data structure
- 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.)
- Abandoned
Links
Images
Classifications
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A computer system using a queuing system and method for managing a queue having a plurality of generic queue headers connected together by a plurality of links in a predetermined manner. Each generic queue header may be attached to one of a plurality of data structures. The queuing system also includes a library of queue function calls for controlling the operations of each one of the plurality of generic queue headers.
Description
- 1. Technical Field of the Invention
- The present invention relates to a computer system having a queuing system for managing a queue and heterogeneous data structures and, in particular, to a queuing system for managing generic queue headers attached to heterogeneous data structures using a library of queue action function calls.
- 2. Description of Related Art
- Software developers currently create application specific queues and queue codes to manage data structures of a particular application. The application specific queues may be referred to by the software developers as scheduler queues, device queues and transaction queues to mention a few. Unfortunately, the queue code of the application specific queue is operable only for a narrow range of applications or tasks, and must be modified and re-tested to be reused in another application.
- Currently, the queue code is application specific because queue link information is embedded and interlocked within each data structure of the particular application. The queue link information often includes a pointer to a next queue node and a pointer to a previous queue node. The embedding and interlocking of the queue link information into the data structure requires the software developer or user to manage not only the data structures but also the associated queue link information, which is a complicated undertaking.
- Accordingly, there is a need for a queuing system and method for managing generic queue headers attached to heterogeneous data structures using a library of queue action function calls. There is also a need to provide a queuing system and method for enabling a user to manage the data structures of an application without an undue concern about the underlying management of the queue link information. These and other needs are addressed by the queuing system and method of the present invention.
- The present invention is a computer system using a queuing system and method for managing a queue having a plurality of generic queue headers connected together by a plurality of links in a predetermined manner. Each generic queue header may be attached to one of a plurality of data structures. The queuing system also includes a library of queue action function calls for controlling the operations of each one of the plurality of generic queue headers.
- A more complete understanding of the method and apparatus of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
- FIG. 1 is a block diagram of an intelligent120 architecture having an intelligent 120 driver incorporating a queuing system of the present invention;
- FIG. 2 is a block diagram of a first embodiment of the queuing system of FIG. 1;
- FIG. 3 is a block diagram of a second embodiment of the queuing system of FIG. 1; and
- FIG. 4 is a simplified flow diagram of an operation of the queuing system.
- Referring to the Drawings, wherein like numerals represent like parts throughout FIGS.1-4, there is disclosed a queuing
system 50 in accordance with the present invention. - Although two embodiments of the queuing
system 50 incorporated within an intelligent I2O driver 100 will be discussed, those skilled in the art will appreciate that such embodiments may also be incorporated into any operating system, conventional driver or any kind of software within a computer system utilizing queuing functions. Accordingly, the queuingsystem 50 described should not be construed in a limiting manner. - Referring to FIG. 1, there is shown a block diagram of an intelligent120
architecture 10 having the intelligent 120driver 100 incorporating thequeuing system 50. The intelligent 120architecture 10 is well known in the industry and a description of the operation of I2O technology is available in an Intelligent Input/Output (I2O) specification. The Intelligent Input/Output (I2O) specification, to the fullest extent possible, is hereby incorporated by reference into this specification. Please note that elements associated with thequeuing system 50 of the present invention will be more fully discussed with reference to FIGS. 2-3. - The intelligent I2O architecture 10 utilizes what is known as a “split driver” model which inserts a
messaging layer 102 between a portion of thedriver 100 specific to the operating system (OS) 110 and the portion of the driver specific to the peripheral 120. Themessaging layer 102 splits thedriver 100 of a conventional I/O architecture into two separate modules—an Operating System Service Module (OSM) 104 and a Downloadable Driver Module (DDM) 106. The only interaction one module has with another module is through themessaging layer 102 which provides the communication means. - The OSM104 is the portion the
driver 100 that interfaces with theoperating system 110 of the computer system which is commonly referred to as the “host operating system”. Theoperating system 110 may include systems sold under the trademarks of NT, UNIX and NETWARE. Theoperating system 110 is executed by a Central Processing Unit (CPU) 108, and there is generally provided more than one CPU within the intelligent I2O architecture 10. - The DDM106 provides a peripheral-specific portion of the
driver 100 that interfaces to the peripheral 120. To execute theDDM 106, an Input/Output Processor (IOP) 118 is included in the intelligent I2O architecture 10. Asingle IOP 118 may be associated withmultiple peripherals 120 and is managed by an IOP operating system (IOP-OS) 112 such as, for example, the integrated I2O Real-Time Operating System (iRTOS). Therefore, the DDM. 106 is executed by theIOP 118 under the management of the IOP-OS 112 to control theperipherals 120. - The DDM106 also includes a Hardware Device Module (HDM) 114 which is directly responsible for the control and data transfer associated with the peripheral 120. The DDM 106 may also include a software interface to the
HDM 114 known as an Intermediate Service Module (ISM) 116. TheISM 116 is often used for filtering, encoding, and decoding messages to theHDM 114. As mentioned earlier, the queuingsystem 50 may be located within the OSM 104, OS 110, DDM 106 (shown) or in any kind of software within the computer system that utilizes queuing functions. - Referring to. FIG. 2, there is illustrated a first embodiment (dynamic architecture) of the
queuing system 50. The dynamic architecture of thequeuing system 50 includes a plurality ofqueue headers queue headers links 207, which may be unidirectional (one arrow) or bi-directional (two arrows) depending on an application. Thelinks 207 connect the plurality ofqueue headers circular queue 209. Aqueue pointer 208 is used for indicating whichqueue header queue headers - Each of the
queue headers next queue header 210; (2) a pointer toprevious queue header 212; and (3) a pointer to attacheddata structure 214. The three distinct pointers function to indicate a position or direction of another queue header and are managed by a library of queueaction function calls 216, discussed below. - A multiple of
data structures 218 are created and allocated for every application such as spin-up, read/write, and hot plug. Each of thedata structures 218 contains transaction information which is generally defined and managed by a software developer or user. For example, the transaction information may be created in response to receiving an 120 SCSI BUS SCAN command that may include sub-commands known as testUnitReady-E1, requestSense-E2, inquiry-E3, readCapacity-E4 and startDrive-E5. Also, eachdata structure 218 includes asearch key field 220, which will be discussed later. - The library of queue action function calls216 operate to manage the
queue headers line 222 to the queue headers. Included, in the library of queueaction function calls 216 are several discrete function calls used by the software developer or user to effectively manage thequeue headers insert 224, remove 226, search and remove 228, search and insert 230, search only 232 and peek 234. The user would also need to identify which one of several possible queuingsystems 50 is being addressed before using the discrete function calls. Furthermore, it should be understood that the above discrete function calls are exemplary only and other function calls may be utilized by thequeuing system 50. - The discrete function calls enables the user to manage the
queue headers queue headers links 207 are managed by the discrete function calls and not by the user. - The user may insert or remove any one of the
data structures 218 to or from any one of thequeue headers insert 224 and remove 226, respectively. To enable the operation of inserting and removing thedata structures 218, each discretefunction call insert 224 and remove 226 may include the following identifying information: (1) the queue pointer 208 (always required); (2) an opcode identifying thequeue header data structure 214. - The user may also insert or remove any
specific data structure 218 by invoking the discrete function calls referred to as search and remove 228, and search and insert 230, respectively. The discrete function calls requiring a search to be performed utilize a search command when scanning eachdata structure 218 attached to thequeue headers key field 220 which contains the same information, thereafter, the queue function call is performed. Information associated with the search command is generated by the user and may include data such as serial numbers, priority numbers, manufacturer identifiers and pre-failure warranties. - The specific information associated with search
key field 220 is not known until the information corresponding with the search command has been defined and entered by the user. For example, the user may want to search for a serial number that would be entered into the search command and then used with the selected discrete function call (e.g., search and remove 228) to find the same number within thesearch field 220 of thedata structure 218. The information associated with the search command is not limited to numbers but may also include alphanumerics or any combination thereof. Also, the searchkey field 220 may be located anywhere within thedata structure 218. - In addition, the user may search and peek at any or all of the
data structure 218 by invoking the discrete function calls respectively known as search only 232, andpeek 234. The search only 232 function requires the user to use the search command, described above, to locate thedata structure 218 having the searchkey field 220 with the same information that matches the information associated with the search command. Thepeek 234 function does not require use of the search command and instead enables the user to inspect any of thedata structures 218 in a specific order such as next, previous, last or first. - Reference is now made to FIG. 3, where a second embodiment (static architecture) of the queuing
system 50 is illustrated using prime reference numbers. The queuingsystem 50′ is similar to the first embodiment (dynamic architecture) except for the interaction between thedata structure 218′ and thequeue headers 202′, 204′ and 206′. - Referring to FIG. 3, there is illustrated a block diagram of the second embodiment (static architecture) of the queuing
system 50′. The static architecture of the second embodiment locates each of thequeue headers 202′, 204′ and 206′ within a pre-allocated space of the correspondingdata structure 218′. In contrast, to the first embodiment where thedata structures 218 were attached to thequeue headers data structures 218′ also contain the transaction information (e.g., textUnitReady E1) as discussed earlier with respect to the first embodiment. - The
data structures 218′ incorporating thequeue headers 202′, 204′ and 206′ are connected together bylinks 207′, which may be unidirectional (one arrow) or bi-directional (two arrows) depending on the application. Thelinks 207′ effectively connect the plurality ofqueue header 202′, 204′ and 206′ and thedata structures 218′ in a predetermined manner. As mentioned earlier, thequeue pointer 208′ is used for indicating whichdata structure 218′ is currently addressed by the software. - The
queue headers 202′, 204′ and 206′ also include the three distinct pointers known as (1) the pointer tonext queue header 210′; (2) the pointer toprevious queue header 212′; and (3) the pointer to attacheddata structure 214′. The three distinct pointers function as they did in the first embodiment and are managed by the library of queue action function calls 216′. The library of queue action function calls 216′ is connected byline 222′ to thedata structures 218′ incorporating thequeue headers 202′, 204′ and 206′. - As described above, the library of queue action function calls216′ manages the
queue headers 202′, 204′ and 206′ via several discrete function calls such asinsert 224′, remove 226′, search and remove 228′, search and insert 230′, search only 232′ andpeek 234′. The specifics associated with the discrete function calls and the searchkey field 220′ were described in reference to the first embodiment and for clarity will not be repeated. - The static architecture of the queuing
system 50′ may be utilized where speed or fast performance is desired over the convenience of being able to dynamically allocate thedata structures 218 as is possible with the dynamic architecture of the first embodiment. - Referring to FIG. 4, there is illustrated a simplified flow diagram of an operation of the queuing
system 50 used in the computer system. As discussed earlier, the operation of the two embodiments of the queuingsystem 50 may be performed within the intelligent I2O architecture 10 (FIG. 1) or within any kind of software utilizing queuing functions. - Beginning at
stage 402, the user initializes thequeue pointer 208 within one of the queuingsystems 50 created to operate as, for example, a transaction queue, scheduler queue or device queue. - At
stage 404, eachdata structure 218 is allocated and attached to one of thequeue headers data structures 218, because thequeue headers - At
stage 406, each allocateddata structure 218 is then initialized and configured by the user to contain transaction information for a specific application such as spin-up, hot plug or read/write. - At
stage 408, the user would use the library of queue action function calls 216 to manage thequeue headers insert 224 function may be used to connect together thequeue headers queue headers queue headers links 207 are effectively managed by the discrete function calls of the library of queue action function calls 216. - As mentioned earlier, the user in controlling the operations of the
queue headers insert 224, remove 226, search and remove 228, search and insert 230, search only 232 andpeek 234. The user would likely need to identify whichspecific queuing system 50 is being addressed before using the discrete function calls. - From the foregoing, it can be readily appreciated by those skilled in the art that the present invention provides a computer system having a queuing system using a library of queue action function calls to manage generic queue headers that are attached or incorporated into the heterogeneous data structures. Also, the queuing system as disclosed may be utilized by the user in different applications without requiring extensive modifications and debugging of the generic queue headers. Furthermore, the queuing system as disclosed may be incorporated into any operating system or software requiring a queuing function.
- Although two embodiments of the method and apparatus of the present invention has been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
Claims (25)
1. A computer system using a queuing system for managing a queue, said queuing system comprising:
a plurality of generic queue headers;
a plurality of links for connecting the generic queue headers in a predetermined manner;
a plurality of data structures, each data structure attached to one of the generic queue headers; and
a plurality of queue function calls for controlling operations of the plurality of generic queue headers.
2. The queuing system of claim 1 , wherein each generic queue header includes a pointer to a next generic queue header, a pointer to a previous generic queue header, and a pointer to the attached data structure.
3. The queuing system of claim 2 , wherein each generic queue header includes a dynamic queue header.
4. The queuing system of claim 2 , wherein each generic queue header includes a static queue header.
5. The queuing system of claim 1 , wherein the plurality of queue function calls includes operations such as insert, remove, search and remove, search and insert, search only and peek.
6. The queuing system of claim 1 , wherein each link connecting a pair of the generic queue headers is unidirectional.
7. The queuing system of claim 1 , wherein each link connecting a pair of the generic queue headers is bi-directional.
8. The queuing system of claim 1 , wherein each data structure includes a search key field, and one of the generic queue function calls utilizes a search command to scan each data structure attached to one of the generic queue headers until the search command matches the search key field and the operation of the one of the queue function calls is performed.
9. The queuing system of claim 1 , wherein said queuing system is used in an operating system or driver.
10. A queuing system used in an intelligent 120 driver of a computer system for managing a queue, said queuing system comprising:
a plurality of queue headers;
a plurality of links for connecting the queue headers in a predetermined manner;
a plurality of data structures, each data structure attached to one of the queue headers; and
a plurality of queue action function calls for controlling operations of the plurality of queue headers.
11. The queuing system of claim 10 , wherein each queue header includes a pointer to a next queue header, a pointer to a previous queue header and a pointer to the attached data structure.
12. The queuing system of claim 11 , wherein each queue header includes a dynamic queue header.
13. The queuing system of claim 11 , wherein each queue header includes a static queue header.
14. The queuing system of claim 10 , wherein the plurality of queue action function calls includes operations such as insert, remove, search and remove, search and insert, search only and peek.
15. The queuing system of claim 10 , wherein each link connecting a pair of the queue headers is unidirectional.
16. The queuing system of claim 10 , wherein each link connecting a pair of the queue headers is bi-directional.
17. The queuing system of claim 10 , wherein each data structure includes a search key field, and one of the queue action function calls utilizes a search command to scan each data structure attached to one of the queue headers until the search command matches the search key field and the operation of the one of the queue function calls is performed.
18. A method for managing a queue having a plurality of queue headers within a computer system comprising the steps of:
attaching a plurality of data structures to the plurality of queue headers, where each data structure is attached to one of the plurality of queue headers; and
controlling operations of the plurality of queue headers utilizing one of a plurality of queue function calls.
19. The method of claim 18 , wherein the step of attaching includes the following steps:
configuring each data structure for a specific transaction; and
allocating each configured data structure to one of the queue headers including a dynamic queue header.
20. The method of claim 18 , wherein the step of controlling includes inserting an additional data structure onto one of the plurality of queue headers.
21. The method of claim 19 , wherein the step of controlling includes removing one of the attached data structures from one of the plurality of queue headers.
22. The method of claim 18 , wherein the step of controlling includes searching the attached data structures having a search key field using a search command and removing the searched data structure satisfying the search command.
23. The method of claim 18 , wherein the step of controlling includes searching the attached data structures having a search key field using a search command and inserting an additional data structure onto one of the plurality of queue headers.
24. The method of claim 18 , wherein the step of controlling includes peeking in a predetermined order at the attached data structures.
25. The method of claim 18 , wherein the step of controlling includes searching the attached data structures having a search key field using a search command and reporting a location of the attached data structure satisfying the search command.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/658,182 US20040049516A1 (en) | 1998-04-09 | 2003-09-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/057,707 US6308167B1 (en) | 1998-04-09 | 1998-04-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US09/883,631 US6725226B2 (en) | 1998-04-09 | 2001-06-18 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US10/658,182 US20040049516A1 (en) | 1998-04-09 | 2003-09-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/883,631 Continuation US6725226B2 (en) | 1998-04-09 | 2001-06-18 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040049516A1 true US20040049516A1 (en) | 2004-03-11 |
Family
ID=22012265
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/057,707 Expired - Fee Related US6308167B1 (en) | 1998-04-09 | 1998-04-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US09/883,631 Expired - Fee Related US6725226B2 (en) | 1998-04-09 | 2001-06-18 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US10/658,182 Abandoned US20040049516A1 (en) | 1998-04-09 | 2003-09-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/057,707 Expired - Fee Related US6308167B1 (en) | 1998-04-09 | 1998-04-09 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US09/883,631 Expired - Fee Related US6725226B2 (en) | 1998-04-09 | 2001-06-18 | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
Country Status (1)
Country | Link |
---|---|
US (3) | US6308167B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333863B1 (en) * | 1997-05-05 | 2008-02-19 | Warner Music Group, Inc. | Recording and playback control system |
US6308167B1 (en) * | 1998-04-09 | 2001-10-23 | Compaq Computer Corporation | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US6606674B1 (en) * | 2000-02-24 | 2003-08-12 | Intel Corporation | Method and apparatus for reducing circular list's thrashing by detecting the queues' status on a circular linked list |
KR100442439B1 (en) * | 2002-10-07 | 2004-07-30 | 엘지전자 주식회사 | Apparatus and method for queue assignment in multi link of Access Pointer Controller |
US7571464B2 (en) * | 2004-08-27 | 2009-08-04 | International Business Machines Corporation | Secure bidirectional cross-system communications framework |
RU2510528C2 (en) * | 2012-06-06 | 2014-03-27 | Общество с ограниченной ответственностью "ДартИТ" | Request processing system, request processing method and computer-readable medium having request processing instructions |
US10564865B2 (en) | 2016-03-22 | 2020-02-18 | Seagate Technology Llc | Lockless parity management in a distributed data storage system |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133053A (en) * | 1987-02-13 | 1992-07-21 | International Business Machines Corporation | Interprocess communication queue location transparency |
US5386514A (en) * | 1992-04-16 | 1995-01-31 | Digital Equipment Corporation | Queue apparatus and mechanics for a communications interface architecture |
US5410722A (en) * | 1993-01-21 | 1995-04-25 | Conner Peripherals, Inc. | Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues |
US5574912A (en) * | 1990-05-04 | 1996-11-12 | Digital Equipment Corporation | Lattice scheduler method for reducing the impact of covert-channel countermeasures |
US5602998A (en) * | 1994-12-22 | 1997-02-11 | Unisys Corporation | Dequeue instruction in a system architecture for improved message passing and process synchronization |
US5625846A (en) * | 1992-12-18 | 1997-04-29 | Fujitsu Limited | Transfer request queue control system using flags to indicate transfer request queue validity and whether to use round-robin system for dequeuing the corresponding queues |
US5706437A (en) * | 1995-12-29 | 1998-01-06 | Mci Communications Corporation | System and method for accessing a service on a services network |
US5729749A (en) * | 1995-09-29 | 1998-03-17 | Fujitsu Ltd. | Exclusive control system for shared resource |
US5748954A (en) * | 1995-06-05 | 1998-05-05 | Carnegie Mellon University | Method for searching a queued and ranked constructed catalog of files stored on a network |
US5819251A (en) * | 1996-02-06 | 1998-10-06 | Oracle Corporation | System and apparatus for storage retrieval and analysis of relational and non-relational data |
US5873089A (en) * | 1995-09-04 | 1999-02-16 | Hewlett-Packard Company | Data handling system with circular queue formed in paged memory |
US6041053A (en) * | 1997-09-18 | 2000-03-21 | Microsfot Corporation | Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards |
US6308167B1 (en) * | 1998-04-09 | 2001-10-23 | Compaq Computer Corporation | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US6389513B1 (en) * | 1998-05-13 | 2002-05-14 | International Business Machines Corporation | Disk block cache management for a distributed shared memory computer system |
US20020163932A1 (en) * | 2000-04-07 | 2002-11-07 | Fischer Matthew James | Method of providing synchronous transport of packets between asynchronous network nodes in a frame-based communications network |
US6490666B1 (en) * | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
US20060010420A1 (en) * | 1994-09-30 | 2006-01-12 | Peterson Alan R | Method and apparatus for storing and replaying creation history of multimedia software or other software content |
-
1998
- 1998-04-09 US US09/057,707 patent/US6308167B1/en not_active Expired - Fee Related
-
2001
- 2001-06-18 US US09/883,631 patent/US6725226B2/en not_active Expired - Fee Related
-
2003
- 2003-09-09 US US10/658,182 patent/US20040049516A1/en not_active Abandoned
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133053A (en) * | 1987-02-13 | 1992-07-21 | International Business Machines Corporation | Interprocess communication queue location transparency |
US5574912A (en) * | 1990-05-04 | 1996-11-12 | Digital Equipment Corporation | Lattice scheduler method for reducing the impact of covert-channel countermeasures |
US5386514A (en) * | 1992-04-16 | 1995-01-31 | Digital Equipment Corporation | Queue apparatus and mechanics for a communications interface architecture |
US5625846A (en) * | 1992-12-18 | 1997-04-29 | Fujitsu Limited | Transfer request queue control system using flags to indicate transfer request queue validity and whether to use round-robin system for dequeuing the corresponding queues |
US5410722A (en) * | 1993-01-21 | 1995-04-25 | Conner Peripherals, Inc. | Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues |
US20060010420A1 (en) * | 1994-09-30 | 2006-01-12 | Peterson Alan R | Method and apparatus for storing and replaying creation history of multimedia software or other software content |
US5602998A (en) * | 1994-12-22 | 1997-02-11 | Unisys Corporation | Dequeue instruction in a system architecture for improved message passing and process synchronization |
US5748954A (en) * | 1995-06-05 | 1998-05-05 | Carnegie Mellon University | Method for searching a queued and ranked constructed catalog of files stored on a network |
US5873089A (en) * | 1995-09-04 | 1999-02-16 | Hewlett-Packard Company | Data handling system with circular queue formed in paged memory |
US5729749A (en) * | 1995-09-29 | 1998-03-17 | Fujitsu Ltd. | Exclusive control system for shared resource |
US5706437A (en) * | 1995-12-29 | 1998-01-06 | Mci Communications Corporation | System and method for accessing a service on a services network |
US5819251A (en) * | 1996-02-06 | 1998-10-06 | Oracle Corporation | System and apparatus for storage retrieval and analysis of relational and non-relational data |
US6041053A (en) * | 1997-09-18 | 2000-03-21 | Microsfot Corporation | Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards |
US6308167B1 (en) * | 1998-04-09 | 2001-10-23 | Compaq Computer Corporation | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US6389513B1 (en) * | 1998-05-13 | 2002-05-14 | International Business Machines Corporation | Disk block cache management for a distributed shared memory computer system |
US6490666B1 (en) * | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
US20020163932A1 (en) * | 2000-04-07 | 2002-11-07 | Fischer Matthew James | Method of providing synchronous transport of packets between asynchronous network nodes in a frame-based communications network |
Also Published As
Publication number | Publication date |
---|---|
US20010037354A1 (en) | 2001-11-01 |
US6308167B1 (en) | 2001-10-23 |
US6725226B2 (en) | 2004-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2010591C (en) | Kernels, description tables and device drivers | |
US5129086A (en) | System and method for intercommunicating between applications and a database manager | |
US5557740A (en) | Method and system for providing device support testing for a plurality of operating systems | |
US5590313A (en) | Multiple protocol device interface subsystem and method | |
US6550006B1 (en) | Method and apparatus to perform a remote boot | |
US5555401A (en) | Self configuring device system | |
US5201053A (en) | Dynamic polling of devices for nonsynchronous channel connection | |
JPH07122863B2 (en) | Data processing system including device driver having general-purpose operating system interface | |
EP0745943B1 (en) | Method and system for providing device support for a plurality of operating systems | |
CN101154202A (en) | Managing system management interrupts in a multiprocessor computer system | |
US7100162B2 (en) | System and method for process management | |
US6233660B1 (en) | System and method for emulating mainframe channel programs by open systems computer systems | |
US6105080A (en) | Host adapter DMA controller with automated host reply capability | |
US6308167B1 (en) | Computer system using a queuing system and method for managing a queue and heterogeneous data structures | |
US20140047110A1 (en) | Device level enablement of a communications protocol | |
EP0756228A1 (en) | Augmenting volume management of information storage devices to handle direct access to storage devices | |
EP0240616A1 (en) | Method to test and set data in a record on disk in one atomic input/output operation | |
EP0744051B1 (en) | I/o decoder map | |
US7130929B2 (en) | Method for configuring system adapters | |
US5734918A (en) | Computer system with an input/output processor which enables direct file transfers between a storage medium and a network | |
US5640594A (en) | Method and system for assigning peripheral device addresses | |
US8041902B2 (en) | Direct memory move of multiple buffers between logical partitions | |
US7103686B1 (en) | Method and apparatus for device discovery | |
US7426582B1 (en) | Method, system, and apparatus for servicing PS/2 devices within an extensible firmware interface environment | |
US7043565B1 (en) | System and method for transferring data over an external transmission medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |