会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Cross address space thread control in a multithreaded environment
    • 在多线程环境中交叉地址空间线程控制
    • US5632032A
    • 1997-05-20
    • US192929
    • 1994-02-07
    • Donald F. AultErnest S. BenderJon K. FranksSteven Walkowiak
    • Donald F. AultErnest S. BenderJon K. FranksSteven Walkowiak
    • G06F9/46G06F9/48G06F11/28G06F11/36G06F9/44G06F11/00
    • G06F11/3664
    • A method of controlling the execution of the threads of a first application such as a user application from a second application such as a debugger application running in a different address space. After initializing trace mode for the user application, the debugger waits for an event to occur on one of the threads of the user application. Upon the occurrence of an event on one of the user application threads, an event handler obtains control of the thread execution. The event handler suspends execution of the remaining threads in the application, posts the debugger and then suspends its own execution. When the debugger application has completed its debugging operations, it posts the event handler, which resumes execution of the suspended threads and returns control to the thread on which the event occurred. If a subsequent event occurs on one thread while a previous event on another thread is being processed, the event handler for the subsequent event places it in a deferred event queue for deferred processing. Events consisting of breakpoints are redriven rather than being placed on the deferred queue. The debugger application may hold selected threads in a suspended state following resumption of the remaining threads by setting hold flags associated with those threads.
    • 一种控制诸如用户应用程序的第一应用程序的线程从诸如在不同地址空间中运行的调试器应用程序的第二应用程序执行的方法。 在为用户应用程序初始化跟踪模式之后,调试器等待在用户应用程序的一个线程上发生事件。 在一个用户应用程序线程上发生事件时,事件处理程序获得线程执行的控制。 事件处理程序暂停执行应用程序中的其余线程,发布调试器,然后挂起自己的执行。 当调试器应用程序完成其调试操作时,它会发布事件处理程序,该处理程序将恢复挂起的线程的执行,并将控件返回给发生事件的线程。 如果在一个线程上发生后续事件,而另一个线程上的先前事件正在处理中,则后续事件的事件处理程序会将其放入延迟事件队列中以进行延迟处理。 由断点组成的事件被重新划分,而不是放在延期队列中。 通过设置与这些线程相关联的保持标志,调试器应用程序可以在恢复剩余线程之后将所选线程保持在暂停状态。
    • 2. 发明授权
    • Method and apparatus for providing for notification of task termination
    • 提供任务终止通知的方法和装置
    • US06907605B1
    • 2005-06-14
    • US09080504
    • 1998-05-18
    • Donald F. AultErnest S. BenderJohn A. Helmbold
    • Donald F. AultErnest S. BenderJohn A. Helmbold
    • G06F9/48G06F9/46G06F11/34G06F15/16
    • G06F9/542G06F9/485G06F2209/543
    • A method and apparatus for ensuring that a process interacting with a failing process is notified of the failure of that process. Each process has a unique process identifier (PID) associated with it. Each process optionally has an affinity list containing one or more entries, each of which contains the identifier of a process that is to be notified when the process fails. A process updates the affinity list of a target process (either itself or another process) by calling an affinity service of the operating system (OS) kernel, specifying the type of operation (add or delete), the identifier of the target process, the identifier of the process that is to notified, and the type of event that is to be generated for the process that is to be notified. When a process fails, a process termination service of the OS kernel examines the affinity list of the failing process and, for each entry in the list, generates an event of the specified type for the process specified as to be notified.
    • 用于确保与失败过程相互作用的过程被通知该过程失败的方法和装置。 每个进程都有一个与之相关联的唯一进程标识符(PID)。 每个进程可选地具有包含一个或多个条目的关联列表,每个条目包含当进程失败时要被通知的进程的标识符。 进程通过调用操作系统(OS)内核的关联服务,指定操作类型(添加或删除),目标进程的标识符,更新目标进程的标识符,更新目标进程的关联列表 要通知的进程的标识符以及要为要通知的进程生成的事件的类型。 当进程失败时,OS内核的进程终止服务检查失败进程的关联列表,并且对于列表中的每个条目,为指定通知的进程生成指定类型的事件。
    • 3. 发明授权
    • Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
    • 用于在多进程,多线程客户端/服务器系统中传输文件描述符的方法和装置
    • US06192389B1
    • 2001-02-20
    • US08825302
    • 1997-03-28
    • Donald F. AultJeffrey D. AmanErnest S. BenderDonna N. T. E. DillenbergerDavid B. EmmesMichael G. Spiegel
    • Donald F. AultJeffrey D. AmanErnest S. BenderDonna N. T. E. DillenbergerDavid B. EmmesMichael G. Spiegel
    • G06F900
    • G06F9/5027G06F9/4843G06F9/544G06F2209/5018
    • In a client/server system, a method and apparatus for a listening daemon to distribute work and client connectivity across multiple processes each supporting multiple threads. Upon receiving a request from a client, a listening daemonaccepts the conversation, thus creating a socket. The listening daemon then does a putwork( ) call which places a work request on a system managed work queue. The work request behaves in a manner very similar to spawn in that it provides for parameters to be passed as well as transfer of ownership of the socket. In the meantime, server processes that are created either manually or by the operating system create multiple threads, which invoke a getwork( ) service to retrieve work requests created by the listening daemon. The getwork( ) service transfers the socket to the calling process and notifies the thread which file descriptors it has inherited. The thread is then able to process the client request and respond directly to the client without requiring an intermediate process to provide the communication link. The present invention allows a server in a client/server system to spread the workload across multiple threads in multiple processes, avoiding the creation of too many processes or too many threads in a single process. The direct transfer of the socket eliminates the unnecessary overhead typically required to rebind a new process to the client application.
    • 在客户机/服务器系统中,用于监听守护进程的方法和装置在跨多个进程分发工作和客户端连接,每个进程支持多个线程。 一旦接收到来自客户端的请求,一个侦听守护进程接听对话,从而创建一个套接字。 然后,监听守护程序执行putwork()调用,将工作请求放在系统管理的工作队列上。 工作请求的行为方式非常类似于生成,它提供要传递的参数以及套接字的所有权传输。 同时,由手动或由操作系统创建的服务器进程创建多个线程,该线程调用getwork()服务来检索由监听守护程序创建的工作请求。 getwork()服务将套接字传输给调用进程,并通知线程其继承的文件描述符。 线程然后能够处理客户端请求并直接响应客户端,而不需要中间过程来提供通信链路。 本发明允许客户机/服务器系统中的服务器在多个进程中跨多个线程传播工作负载,避免在单个进程中创建太多进程或太多线程。 套接字的直接传输消除了将新进程重新绑定到客户端应用程序所需的不必要开销。
    • 4. 发明授权
    • Method and apparatus for controlling the assignment of units of work to
a workload enclave in a client/server system
    • 用于控制工作单位分配给客户机/服务器系统中的工作负载分布的方法和装置
    • US6085217A
    • 2000-07-04
    • US825304
    • 1997-03-28
    • Donald F. AultJeffrey D. AmanErnest S. BenderDonna N. T. E. DillenbergerDavid B. EmmesMichael G. Spiegel
    • Donald F. AultJeffrey D. AmanErnest S. BenderDonna N. T. E. DillenbergerDavid B. EmmesMichael G. Spiegel
    • G06F9/50G06F9/00
    • G06F9/5027G06F9/4843G06F2209/5018
    • A method and apparatus for controlling the assignment of units of work to workload enclaves in a client/server system in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity. Incoming work requests are queued for processing by one or more worker threads of one or more server processes. In response to the receipt of an incoming work request, a putwork() service of the operating system kernel defines an workload enclave for the work request and adds the work request to a queue of incoming work requests to enqueue the request. In response to a request from a worker thread for more work, a getwork() service of the operating system kernel removes a work request from the queue to dequeue the request and associates the worker thread with the enclave defined for the request. If a worker thread must create a new unit of work while processing a work request, it calls an appropriate service of the operating system kernel, which creates the new unit of work and associates the new process with the enclave of the worker thread. The worker thread is disassociated from the enclave upon completion of the work request.
    • 一种用于控制将工作单元分配到客户/服务器系统中的工作负载分布的方法和装置,其中工作单元被组织成包围,每个飞地中的工作单元被作为单个实体来管理。 一个或多个服务器进程的一个或多个工作线程进入处理进入的工作请求。 响应于接收到的工作请求,操作系统内核的putwork()服务定义工作请求的工作负载,并将工作请求添加到入站工作请求的队列以排队请求。 响应于来自工作线程的更多工作的请求,操作系统内核的getwork()服务将从队列中删除工作请求以使该请求出队,并将工作线程与为该请求定义的飞地相关联。 如果工作线程在处理工作请求时必须创建新的工作单元,则它会调用操作系统内核的适当服务,从而创建新的工作单元,并将新进程与工作线程的飞地相关联。 完成工作请求后,工作线程与飞地分离。
    • 5. 发明授权
    • Method and apparatus for performing a semaphore operation
    • 用于执行信号量操作的方法和装置
    • US06237019B1
    • 2001-05-22
    • US09040722
    • 1998-03-18
    • Donald F. AultJohn M. Forsythe
    • Donald F. AultJohn M. Forsythe
    • G06F900
    • G06F9/52G06F9/30087
    • A semaphore for controlling access to a shared resource in an information handling system is implemented using an atomic operation that compares an operand with a comparison value and, if the operand is equal to the comparison value, replaces the compared operand and up to three additional operands with replacement values. The semaphore has a first semaphore field containing a value and a sequence count and a second semaphore field containing a pointer to a queue for the semaphore. The queue has zero or more entries corresponding to waiters for the semaphore, each entry with a next entry having a pointer to that next entry. To implement the semaphore, a previous value of the first semaphore field is saved as a comparison value. A first replacement value containing an incremented sequence count is generated for the first semaphore field as a first operand in accordance with the specified operation. A second replacement value for the second semaphore field and a third replacement value for one of the queue entries are generated as second and third operands if the queue is being modified. The current value of the first semaphore field is thereafter compared with the comparison value including the sequence count to see if the current value matches the comparison value. If it does, then, atomically with the comparing step, the first operand is replaced with the first replacement value and, if the queue is being modified, one or both of the second and third operands are replaced with their corresponding replacement values. If the current value of the first semaphore field does not match the comparison value, the semaphore operation is retried, using a newly saved value of the semaphore field as a comparison value.
    • 使用将操作数与比较值进行比较的原子操作来实现用于控制对信息处理系统中的共享资源的访问的信号量,并且如果操作数等于比较值,则替换比较操作数和最多三个附加操作数 具有替换值。 信号量具有包含值和序列计数的第一信号量字段和包含指向信号量队列的指针的第二信号量字段。 队列具有对应于信号量的等待者的零个或多个条目,每个条目具有下一条目,该条目具有指向该下一条目的指针。 要实现信号量,第一个信号量字段的先前值将保存为比较值。 根据指定的操作,将第一个信号量字段作为第一个操作数生成包含递增序列计数的第一个替换值。 如果队列被修改,则第二信号量字段的第二替换值和其中一个队列条目的第三替换值被生成为第二和第三操作数。 此后,将第一信号量字段的当前值与包括序列计数的比较值进行比较,以查看当前值是否与比较值匹配。 如果是,则原子地与比较步骤相反,第一个操作数被替换为第一个替换值,如果队列被修改,第二个和第三个操作数中的一个或两个都被替换为相应的替换值。 如果第一个信号量字段的当前值与比较值不匹配,则会使用信息量字段的新保存值作为比较值重试信号量操作。
    • 6. 发明授权
    • Method, system and computer program product for testing computer programs
    • 方法,系统和计算机程序产品用于测试计算机程序
    • US07546585B2
    • 2009-06-09
    • US11041630
    • 2005-01-24
    • Donald F. Ault
    • Donald F. Ault
    • G06F9/44G06F11/00
    • G06F11/3688
    • A method for testing computer programs including defining one or more selected force stop points for a target computer program. For each of the selected force stop points the target computer program is executed in a force stop mode and executed again in a non-force stop mode. Input to execution in the force stop mode includes the selected force stop point. The target program is terminated as a result of execution in the force stop mode when the selected force stop point has been reached. Executing in the force stop mode results in a residual environment. The target computer program is executed in a non-force stop mode in the residual environment. Output from executing in a non-force stop mode includes test result data. For each of the selected force stop points it is determined if the test result data is consistent with expected test results.
    • 一种用于测试计算机程序的方法,包括为目标计算机程序定义一个或多个所选的力停止点。 对于每个所选择的停止点,目标计算机程序以强制停止模式执行并且以非强制停止模式再次执行。 在强制停止模式下执行的输入包括所选的力停止点。 当达到所选择的力停止点时,作为执行强制停止模式的结果,终止目标程序。 在强制停止模式下执行会导致残留环境。 目标计算机程序在残留环境中以非强制停止模式执行。 在非强制停止模式下执行的输出包括测试结果数据。 对于每个选定的力停止点,确定测试结果数据是否与预期的测试结果一致。
    • 10. 发明授权
    • Method and apparatus for fully restoring a program context following an
interrupt
    • US5987495A
    • 1999-11-16
    • US966374
    • 1997-11-07
    • Donald F. AultKenneth E. PlambeckCasper A. Scalzi
    • Donald F. AultKenneth E. PlambeckCasper A. Scalzi
    • G06F9/46
    • G06F9/463
    • A method and apparatus for fully restoring the context of a user program, including program status word (PSW) and CPU register contents, following an asynchronous interrupt. Upon the occurrence of an asynchronous interrupt event, control is transferred from the normally executing part of the user program to an interrupt handler of the operating system kernel. The kernel interrupt handler saves the contents of the CPU registers and PSW as they existed at the time of the interrupt in a save area associated with the user program before transferring control to a signal catcher routine of the user program. When it has finished handling the interrupt, the signal catcher routine restores the previous state of program execution as it existed before the interrupt by storing the address of the save area in a selected register (which may be a general register/access register pair), restoring the contents of the registers other than the selected register containing the address of the save area, and then restoring the contents of the PSW and selected register by using a new Resume Program (RP) instruction. The RP instruction contains an operand field specifying through the selected register the base address of the save area together with offset fields specifying the offsets of the saved contents of the PSW and selected register relative to the beginning of the save area. Upon decoding an RP instruction, the CPU executing the instruction adds the displacement to the base address contained in the specified register to form the beginning address of the save area, to which it adds the specified offsets to access the saved PSW and selected register contents. The current PSW and selected register contents are then restored with the saved contents to fully restore the previous program context and return control to the instruction being executed at the point of interrupt. To ensure system integrity, only those fields of the PSW are restored that could have otherwise been restored by a program operating in problem state.