Patents Examined by Steven M Do
  • Patent number: 10310851
    Abstract: A method, system, and computer program product for automatically generating service definitions for application clients of a message broker is provided. The method includes retrieving a trace of interactions between different application instances and corresponding message queues in a message brokering system. Thereafter, messages in the trace can be analyzed to identify the application instances and related message exchange data. Finally, a service definition document can be generated for each identified application instance using the related message exchange data to describe computational services provided by the identified application instance.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: June 4, 2019
    Assignee: International Business Machines Corporation
    Inventors: Matthew W. Leming, Mark R. Phillips, Fenglian Xu
  • Patent number: 10303515
    Abstract: A method and apparatus for batch-processing multiple data in an electronic device are provided. A method for batch-processing multiple data in a first processor includes transmitting batching data configuration information to a second processor of the electronic device according to batching option information of at least one application; receiving, from the second processor, batching data including at least one data acquired via at least one sensor of the electronic device based on the batching data configuration information; and batch-processing the received batching data according to the batching option information, for the at least one application.
    Type: Grant
    Filed: February 11, 2016
    Date of Patent: May 28, 2019
    Assignee: Samsung Electronics Co., Ltd
    Inventors: Chae-Heun Lee, Bo-Sung Kwak, Myeong-Woo Koo, Jeong-Min Park, Jae-Woong Chun
  • Patent number: 10289454
    Abstract: A system may perform work stealing using a dynamically configurable separation between stealable and non-stealable work items. The work items may be held in a double-ended queue (deque), and the value of a variable (index) may indicate the position of the last stealable work item or the first non-stealable work item in the deque. A thread may steal a work item only from the portion of another thread's deque that holds stealable items. The owner of a deque may add work items to the deque and may modify the number or percentage of stealable work items, the number or percentage of non-stealable work items, and/or the ratio between stealable and non-stealable work items in the deque during execution. For example, the owner may convert stealable work items to non-stealable work items, or vice versa, in response to changing conditions and/or according to various work-stealing policies.
    Type: Grant
    Filed: April 18, 2016
    Date of Patent: May 14, 2019
    Assignee: Oracle International Corporation
    Inventors: Yosef Lev, Guy L. Steele, Jr.
  • Patent number: 10282233
    Abstract: The present disclosure provides modular electronic devices that are capable of predicting future availability of module combinations and associated computing resources and/or capable of predicting future tasks. Based on such predictions, the module or modular electronic device can choose to schedule or delay certain tasks, alter resource negotiation behavior/strategy, or select from among various different resource providers. As an example, a modular electronic device of the present disclosure can identify one or more computing tasks to be performed; predict one or more future sets of computing resources that will be respectively available to the modular electronic device at one or more future time periods; and determine a schedule for performance of the one or more computing tasks based at least in part on the prediction of the one or more future sets of computing resources that will be respectively available at the one or more future time periods.
    Type: Grant
    Filed: April 15, 2016
    Date of Patent: May 7, 2019
    Assignee: Google LLC
    Inventors: Eric H C Liu, Kevin D. Brune, Yoshimichi Matsuoka, Gilbert Cabillic, Gaurav Shah
  • Patent number: 10261831
    Abstract: Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing speculative loop iteration partitioning (SLIP) for heterogeneous processing devices. A computing device may receive iteration information for a first partition of iterations of a repetitive process and select a SLIP heuristic based on available SLIP information and iteration information for the first partition. The computing device may determine a split value for the first partition using the SLIP heuristic, and partition the first partition using the split value to produce a plurality of next partitions.
    Type: Grant
    Filed: August 24, 2016
    Date of Patent: April 16, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Arun Raman, Han Zhao, Aravind Natarajan
  • Patent number: 10261842
    Abstract: A technique for managing distributed computing resources in a virtual computing environment is disclosed. In an embodiment, a method includes receiving a recommended change to a virtual architecture of a virtual computing environment; determining an impact on current workload in the virtual computing environment if the recommended change is performed; determining an impact on future workload in the virtual computing environment if the recommended change is performed; calculating a combined impact on current and future workload; determining if the combined impact is above or below a threshold; if the combined impact on current and future workload is below the threshold, do not perform the recommended change; and if the combined impact on current and future workload is above the threshold, perform the recommended change.
    Type: Grant
    Filed: October 10, 2016
    Date of Patent: April 16, 2019
    Assignee: VMware, Inc.
    Inventors: Anne Marie Holler, Ganesha Shanmuganathan, Chirag Bhatt, Irfan Ahmad
  • Patent number: 10223155
    Abstract: Embodiments are provided that include the use of a cancellable command application programming interface (API) framework that provides cooperative multitasking for synchronous and asynchronous operations based in part on a command timing sequence and a cancellable command API definition. A method of an embodiment enables a user or programmer to use a cancellable command API definition as part of implementing a responsive application interface using a command timing sequence to control execution of active tasks. A cancellable command API framework of an embodiment includes a command block including a command function, a task engine to monitor the command function, and a timer component to control execution of asynchronous and synchronous tasks based in part on first and second control timing intervals associated with a command timing sequence. Other embodiments are also disclosed.
    Type: Grant
    Filed: February 24, 2014
    Date of Patent: March 5, 2019
    Inventors: Arye Gittelman, Petru Mihai Moldovanu, Sterling John Crockett
  • Patent number: 10193820
    Abstract: In one embodiment, a method includes calculating ideal resource apportionments from a current set of consumable resources for each of a plurality of reservations. Each reservation corresponds to one of a plurality of customers. The method further includes running an apportionment process relative to the plurality of reservations. The running includes attempting to apportion to each reservation its ideal resource apportionment. The running yields an actual resource apportionment for each reservation. Each customer's actual resource apportionment comprises a sum of the actual resource apportionments for the customer's reservations. In addition, the method includes, responsive to an indication of unapportioned resources following the running, performing a first optimization to increase resource utilization by at least one needy customer.
    Type: Grant
    Filed: October 3, 2016
    Date of Patent: January 29, 2019
    Assignee: MessageOne, Inc.
    Inventor: Jon Franklin Matousek
  • Patent number: 10180858
    Abstract: A parallel arithmetic device includes a plurality of computing nodes; and a management node coupled to the plurality of computing nodes and including a computer, the management node being configured to calculate a degree of increasing a priority of each of a plurality of users, based on a degree of increasing the priority of the user depending on resource distribution to the user as time elapses and a difference between a current time instant and a future time instant, the priority being to be used in determining one of the plurality of users that has a job to which a computing resource at a first time instant being later than the current time instant is to be allocated.
    Type: Grant
    Filed: February 22, 2016
    Date of Patent: January 15, 2019
    Inventor: Akitaka Iwata
  • Patent number: 10169105
    Abstract: Aspects include computing devices, systems, and methods for implementing scheduling and execution of lightweight kernels as simple tasks directly by a thread without setting up a task structure. A computing device may determine whether a task pointer in a task queue is a simple task pointer for the lightweight kernel. The computing device may schedule a first simple task for the lightweight kernel for execution by the thread. The computing device may retrieve, from an entry of a simple task table, a kernel pointer for the lightweight kernel. The entry in the simple task table may be associated with the simple task pointer. The computing device may directly execute the lightweight kernel as the simple task.
    Type: Grant
    Filed: January 11, 2016
    Date of Patent: January 1, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Han Zhao, Pablo Montesinos Ortego, Arun Raman, Behnam Robatmili, Gheorghe Calin Cascaval
  • Patent number: 10157082
    Abstract: A set of like tasks to be performed is organized into a first group. A last used processing group assigned to the set of like tasks is stored. The set of like tasks is reassigned to an additional group having a minimal queue length upon a determination that the difference between the queue lengths of the additional processing group and the stored processing group is greater than a predetermined threshold.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: December 18, 2018
    Inventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Trung N. Nguyen
  • Patent number: 10140150
    Abstract: The efficient use of threads that issue calls to log events. While waiting for the call to return or complete, the threads are put to work on other tasks that are not part of the process that generated the event. This can occur without context switching of the thread, especially when the task to be performed is state-less or context free. In the efficient thread diversion process, the thread calls a logging component to log an event. This blocks the thread from continuing work on a process that the event is part of until the event is logged. The thread then performs a diversion task that is not part of the processing unit that the event is part of. After detecting that the event has logged, the thread continues work on the processing unit that the event is part of.
    Type: Grant
    Filed: February 8, 2016
    Date of Patent: November 27, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling, Per-Ake Larson
  • Patent number: 10108463
    Abstract: A system includes a plurality of physical calculation nodes and a controller. The controller is configured to execute a process including: determining a type of a target job based on a processing load for execution of the target job, first instructing a first physical calculation node among the plurality of physical calculation nodes to execute the target job when it is determined that the type of the target job is a first type, and second instructing a virtual machine running on a second physical calculation node among the plurality of physical calculation nodes to execute the target job when it is determined that the type of the target job is a second type, a job of the second type being required a lower processing load for the execution of the job than a job of the first type.
    Type: Grant
    Filed: October 15, 2015
    Date of Patent: October 23, 2018
    Inventor: Takatsugu Ono