Patents by Inventor Suresh Warrier

Suresh Warrier 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: 10523746
    Abstract: In accordance with an embodiment, described herein is a system and method for supporting the coexistence of an asynchronous architecture and a synchronous architecture in a same server. An async-enabled request acceptor and an async-disabled request acceptor can be configured in the server. The async-enabled request acceptor can direct connections to a keep-alive subsystem, where the connections can be serviced in an asynchronous fashion. The async-disabled request acceptor can direct connections to a request processing subsystem where the connections are serviced in a synchronous fashion. The system can include a user-level context switching API that enables each thread in the keep-alive subsystem to manage multiple connections simultaneously. The thread context for a connection can be executed until an I/O block is detected, at which point the thread context can be swapped out and the thread context of another ready connection can be swapped in.
    Type: Grant
    Filed: March 16, 2017
    Date of Patent: December 31, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Suresh Warrier
  • Patent number: 10419532
    Abstract: In accordance with an embodiment, described herein is a system and method for providing an asynchronous architecture in a server with an existing synchronous architecture. The system can include a keep-alive subsystem and a user-level request context switching application programming interface (API). A plurality of connections can be received at the keep-alive subsystem, and each connection can be assigned a request context configured to be executed in the keep-alive subsystem. When a connection being executed by a thread is blocked for I/O, the request context assigned to the connection can be saved, and the request context assigned to another connection can be restored to be executed by the thread. Resources associated with an idle connection can be placed in a pool for reuse by other connections. The system can provide an asynchronous architecture in the server without changing existing code and functionalities of the existing synchronous architecture.
    Type: Grant
    Filed: March 16, 2017
    Date of Patent: September 17, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Suresh Warrier
  • Publication number: 20180270306
    Abstract: In accordance with an embodiment, described herein is a system and method for supporting the coexistence of an asynchronous architecture and a synchronous architecture in a same server. An async-enabled request acceptor and an async-disabled request acceptor can be configured in the server. The async-enabled request acceptor can direct connections to a keep-alive subsystem, where the connections can be serviced in an asynchronous fashion. The async-disabled request acceptor can direct connections to a request processing subsystem where the connections are serviced in a synchronous fashion. The system can include a user-level context switching API that enables each thread in the keep-alive subsystem to manage multiple connections simultaneously. The thread context for a connection can be executed until an I/O block is detected, at which point the thread context can be swapped out and the thread context of another ready connection can be swapped in.
    Type: Application
    Filed: March 16, 2017
    Publication date: September 20, 2018
    Inventor: SURESH WARRIER
  • Publication number: 20180270304
    Abstract: In accordance with an embodiment, described herein is a system and method for providing an asynchronous architecture in a server with an existing synchronous architecture. The system can include a keep-alive subsystem and a user-level request context switching application programming interface (API). A plurality of connections can be received at the keep-alive subsystem, and each connection can be assigned a request context configured to be executed in the keep-alive subsystem. When a connection being executed by a thread is blocked for I/O, the request context assigned to the connection can be saved, and the request context assigned to another connection can be restored to be executed by the thread. Resources associated with an idle connection can be placed in a pool for reuse by other connections. The system can provide an asynchronous architecture in the server without changing existing code and functionalities of the existing synchronous architecture.
    Type: Application
    Filed: March 16, 2017
    Publication date: September 20, 2018
    Inventor: SURESH WARRIER
  • Publication number: 20150193792
    Abstract: A Method And System Of Generating Relevant Marketing Opportunities By Facilitating The Communication Of Feedback In Small And Large Group Settings is provided. With mobile and social networking technologies evolving and the growing need to receive virtually instant feedback from one's social and networking colleagues, the invention provides the ability for a user to send a photograph, video, event information or other form of group message to one or more pre-selected groups, each consisting of two or more members. These groups may be large (e.g. a stadium filled with people) or small (a small classroom). Each member may receive the message through almost instant communications technology and provide a response, which one or more members of the one or more pre-selected groups may view in an engaging results format and continue a group discussion, if desired.
    Type: Application
    Filed: January 7, 2014
    Publication date: July 9, 2015
    Inventors: Malik Magdon-Ismail, Parag Patel, Suresh Warrier
  • Patent number: 8938501
    Abstract: A method of generating consumer data by facilitating the communication of feedback in a group setting over a global data communications network is shown. After creating or joining a group, members of the group may send or receive polls, consisting of photos, videos, group texts and event messages to other group members and/or the poll creators' social networks. Other group members and social network friends are notified instantly or almost instantly and respond back promptly. The results are organized and presented in an engaging visual manner and the consumer data collected from such interactions are stored in a database.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: January 20, 2015
    Inventors: Parag Patel, Suresh Warrier, Malik Magdon-Ismail
  • Publication number: 20130031175
    Abstract: A method of generating consumer data by facilitating the communication of feedback in a group setting over a global data communications network is shown. After creating or joining a group, members of the group may send or receive polls, consisting of photos, videos, group texts and event messages to other group members and/or the poll creators' social networks. Other group members and social network friends are notified instantly or almost instantly and respond back promptly. The results are organized and presented in an engaging visual manner and the consumer data collected from such interactions are stored in a database.
    Type: Application
    Filed: July 23, 2012
    Publication date: January 31, 2013
    Inventors: Parag Patel, Suresh Warrier, Malik Magdon-Ismail
  • Publication number: 20080077934
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Application
    Filed: October 17, 2007
    Publication date: March 27, 2008
    Inventors: LUKE BROWNING, Suresh Warrier
  • Publication number: 20060123400
    Abstract: A system and method for profiling software programs uses a small pinned buffer and a large unpinned histogram buffer. When a process that is being profiled receives a time slice, the process' program counter is written to the small pinned buffer by a kernel routine. The small pinned buffer is configured to be large enough to store several program counters. When the small pinned buffer is full, or almost full, an internal profiling signal is sent by the kernel routine. When the process is resumed, any outstanding signals (including the profiling signal) are processed before resuming the process. The profiling signal is handled by reading the program counters from the small pinned buffer, calculating a slot in the histogram buffer that corresponds to each of the program counters, incrementing the value in the corresponding histogram slots, and clearing the small pinned buffer so that it can be reused.
    Type: Application
    Filed: December 7, 2004
    Publication date: June 8, 2006
    Applicant: International Business Machines Corporation
    Inventors: Dean Burdick, Suresh Warrier
  • Publication number: 20060031658
    Abstract: A method, apparatus, and computer program product are disclosed for a simultaneous multithreading (SMT) data processing system for modifying the processing of software threads that acquire a contentious software lock. The system includes a processor that is capable of concurrently executing multiple different threads on the processor. The processor is also capable of utilizing hardware thread priorities assigned to each thread the processor is processing by granting a greater, disparate amount of resources to the highest priority thread. A hardware priority is assigned to each one of the SMT threads. A contentious lock is identified. Ones of the multiple threads are identified that attempt to acquire the contentious lock. These threads are dynamically redirected to special code for handling contentious locks. The hardware priority of a thread acquiring a contentious lock is then boosted.
    Type: Application
    Filed: August 5, 2004
    Publication date: February 9, 2006
    Applicant: International Business Machines Corporation
    Inventors: Randal Swanberg, Suresh Warrier