Patents Examined by Craig Dorais
  • Patent number: 9348670
    Abstract: Embodiments described herein provide recovery placeholders within an application. Specifically, one approach includes providing an application operating on a client device, and generating a recovery placeholder that defines a current state of the application by analyzing a queue containing a set of messages, and identifying one or more selected events corresponding to the application from the queue. In one approach, the current state defines, at the time the recovery placeholder is generated, at least one of: a position within a window of the application, a current activity of the application, a position of the window within a display of a display device, and a placement order of the window of the application in relation to a stack of other cascaded windows. At a later point in time, the application may then be restored to the current state by accessing the recovery placeholder to replay the one or more selected events.
    Type: Grant
    Filed: March 10, 2014
    Date of Patent: May 24, 2016
    Assignee: International Business Machines Corporation
    Inventors: Lisa M. Chavez, Rhonda L. Childress, David B. Kumhyr, Michael J. Spisak
  • Patent number: 9348672
    Abstract: Techniques for singleton coordination in an actor-based system are described herein. In some examples, one or more actors within an actor based system may be designated as singleton actors. Each singleton actor is permitted to have only a single associated instance in the actor-based system. In some cases, when multiple executing instances (i.e., duplicates) of a singleton actor are detected, the duplicates may be resolved, for example, such that no more than a single instance of the singleton actor is retained. In some examples, one or more singleton coordinators may be responsible for selecting one or more hubs on which to generate new or re-generated singletons, monitoring existing singletons to ensure that they continue to execute, and re-generating existing singletons after termination.
    Type: Grant
    Filed: December 7, 2015
    Date of Patent: May 24, 2016
    Assignee: Amazon Technologies, Inc.
    Inventor: Brian James Schuster
  • Patent number: 9348674
    Abstract: A first request to execute a first task is received from a first module in a first address space and by a second module in a second address space. The first task is placed into a task queue for execution in the second address space. Pending responses not yet returned to the first module that are results of execution for other tasks in the second address space are extracted by the second module from a response queue. Requests for the other tasks were previously sent by the first module to the second module for execution in the second address space. The pending responses are compounded. The pending responses and a return value for acknowledgement the first request to execute the first task are combined, by the second module into a combined communication. The combined communication is transmitted by the second module to the first module in the first address space.
    Type: Grant
    Filed: July 25, 2014
    Date of Patent: May 24, 2016
    Assignee: NetApp, Inc.
    Inventors: Sandeep Joshi, Ankit Mathur, Sudip Kumar Panda
  • Patent number: 9342346
    Abstract: A method includes running a Virtual Machine (VM) on a first compute node in a plurality of compute nodes that communicate with one another over a communication network. The VM is migrated from the first compute node to a second compute node in the plurality by generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node. Based on the page transfer state, the migrated VM is provided with access to the memory pages, including both the local and the externalized memory pages, on the second compute node.
    Type: Grant
    Filed: July 27, 2014
    Date of Patent: May 17, 2016
    Assignee: STRATO SCALE LTD.
    Inventors: Ariel Maislos, Etay Bogner, Muli Ben-Yehuda, Shlomo Matichin, Benoit Guillaume Charles Hudzia, Rom Freiman
  • Patent number: 9323566
    Abstract: The network connection of a VM (target VM) that has been live-migrated from a first physical computer to a second physical computer is restored in a virtual computer system in which communication is performed using a certain type of information outside the jurisdiction of a virtualization mechanism. When receiving a packet from the VM, the first virtualization mechanism of the first physical computer extracts a certain type of information from the packet and registers the extracted certain type of information in a first management information unit. The first virtualization mechanism transmits the certain type of information in the first management information unit to the second virtualization mechanism of the second physical computer during live migration.
    Type: Grant
    Filed: August 22, 2012
    Date of Patent: April 26, 2016
    Assignee: Hitachi, Ltd.
    Inventors: Yukari Hatta, Norimitsu Hayakawa, Hiroshi Miki, Shiro Nohara, Takao Totsuka
  • Patent number: 9323556
    Abstract: A service manages a plurality of virtual machine instances for low latency execution of user codes. The service can provide the capability to execute user code in response to events triggered on an auxillary service to provide implicit and automatic rate matching and scaling between events being triggered on the auxiliary service and the corresponding execution of user code on various virtual machine instances. An auxiliary service may be configured as an event triggering service to detect events and generate event messages for execution of the user codes. The service can request, receive, or poll for event messages directly from the auxiliary service or via an intermediary message service. Event messages can be rapidly converted to requests to execute user code on the service. The time from processing the event message to initiating a request to begin code execution is less than a predetermined duration, for example, 100 ms.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: April 26, 2016
    Assignee: Amazon Technologies, Inc.
    Inventor: Timothy Allen Wagner
  • Patent number: 9311168
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for obtaining data specifying a plurality of native applications for a particular resource; generating, for each of the native applications, a respective corresponding deeplink for the native application, wherein selection of the respective deeplink causes the native application to display a display environment comprising the particular resource; ranking the respective deeplinks based on a respective rank score for each native application to which the respective deeplink corresponds; and generating metadata that associates the respective deeplinks and their corresponding rankings with the particular resource.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: April 12, 2016
    Assignee: Google Inc.
    Inventors: Justin Lewis, Ruxandra Georgiana Davies
  • Patent number: 9304835
    Abstract: A graph processing system includes a graph API (Application Program Interface), as executed on a processor of a computer and as capable of implementing any of a plurality of graph operators to express computations of input graph analytics applications. A run-time system, executed by the processor, implements graph operators specified by each graph API function and deploys the implemented graph operators to a selected computing system. A library contains multiple implementations for each graph API function, each implementation predetermined as being optimal for a specific set of conditions met by a graph being processed, for functional capabilities of a specific computing system on which the graph is being processed, and for resources available on that specific computing system.
    Type: Grant
    Filed: December 31, 2014
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kattamuri Ekanadham, William Pettit Horn, Joefon Jann, Manoj Kumar, Jose Eduardo Moreira, Pratap Chandra Pattnaik, Mauricio Jose Serrano, Ilie Gabriel Tanase, Hao Yu
  • Patent number: 9292360
    Abstract: Concepts and technologies are described herein for cross-platform application programming interfaces for applications. In accordance with the concepts and technologies disclosed herein, the cross-platform APIs support interoperability and extensibility with various application programs using a single language and/or set of APIs. Extensions authored for a particular application program may be used with other application programs that expose the same or a similar set of APIs, even if other object models or APIs associated with the application programs differ from one another. Thus, the APIs support cross-platform, cross-device, and cross-version compatibility of extensions.
    Type: Grant
    Filed: August 1, 2014
    Date of Patent: March 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Juan Gabriel Balmori Labra, Mark Brewster, Zhenyu Tang, Rolando Jimenez-Salgado, Lawrence Fubini Waldman, Joseph Wai-Yan Woo, Shahar Prish, Keyur Patel, Andrew Salamatov, David Claux, Jason Todd Henderson
  • Patent number: 9292367
    Abstract: A state migration module (SMM) is described herein which seamlessly, efficiently, and correctly transfers application state between user computing devices, or between different interactions with the application on the same device that occur at different respective times. The SMM operates by capturing the current state of an application relative to the operation of a high-level execution platform (such as a browser) on which the application runs, rather than capturing the overall low-level state of the computing that runs the application. The SMM can include additional provisions designed to improve the efficiency of state migration, such as asynchronous migration, incremental delta-based migration, etc.
    Type: Grant
    Filed: April 8, 2014
    Date of Patent: March 22, 2016
    Assignee: Microsoft Corporation
    Inventor: James W. Mickens
  • Patent number: 9292477
    Abstract: A method for validating a data value, the method including receiving a data value entered into an input field of a software application, obtaining a validation rule corresponding to the input field from a validation rule book, executing the validation rule to determine a validation result, and returning the validation result to the software application.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: March 22, 2016
    Assignee: Oracle America Inc.
    Inventors: Gerard Jesudoss, Anand Murugesan, Gautham M. Chandran, Swaminathan Balu
  • Patent number: 9274863
    Abstract: Aspects of the disclosure relate generally to reducing latency for consensus in geographically distributed disaster-safe persistent data-store systems. These distributed systems may include registry system having redundant storage for maintaining the system status. Each registry system may include a server and a storage component. Consensus may be achieved by querying all of other servers of the registry system. In one example, the consensus data may be sharded into independent small groups. This may allow for multiple consensus transactions to be generated and run in parallel, which, in turn may reduce the latency. In addition, or alternatively, requests to a server to write or otherwise change the data-store may be batched at the server side. Thus, for the consensus, the server need only communicate with the other servers only once per batch. This may also reduce the latency of the distributed system.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: March 1, 2016
    Assignee: Google Inc.
    Inventors: Tianhao Qiu, Manpreet Singh, Haifeng Jiang, Ashish Gupta, Sumit Das, Venkatesh Basker, Rajagopal Ananthanarayanan
  • Patent number: 9274827
    Abstract: A data processing apparatus includes a processor configured to receive an interrupt request that is a trigger for execution of an interrupt process executed by the processor; store the received interrupt request to a recording area; calculate based on a time when the interrupt request is received and particular time information read from the recording area, a predicted time when a subsequent interrupt request is to be received; detect a thread to be executed by the processor, among executable threads of the processor; judge based on the calculated predicted time and a current time, whether there is a possibility of the interrupt process being executed while the detected thread is under execution; decide based on a judgment result, whether to execute the detected thread on the processor; and execute the detected thread on the processor, based on a decision result.
    Type: Grant
    Filed: June 26, 2014
    Date of Patent: March 1, 2016
    Assignee: FUJITSU LIMITED
    Inventors: Hiromasa Yamauchi, Koichiro Yamashita, Takahisa Suzuki, Koji Kurihara, Toshiya Otomo, Yuta Teranishi
  • Patent number: 9274858
    Abstract: A system and method for providing delegated metric tools within a partially closed communication platform that includes receiving a tag identifier linked to at least a first identified platform interaction in the communication platform; associating the tag identifier with at least one logged event of an account associated with the first identified platform interaction; defining a tracking resource with at least one tag identifier; measuring platform interactions tracked by a tracking resource; and providing access to measured platform interactions through an application.
    Type: Grant
    Filed: September 17, 2014
    Date of Patent: March 1, 2016
    Assignee: Twilio, Inc.
    Inventors: Timothy S. Milliron, Adam Ballai, Robert Hagemann
  • Patent number: 9270744
    Abstract: An improved system and method are disclosed for improving functionality in software applications. In one example, the method includes a mobile device having a network interface, a processor, and a memory configured to store a plurality of instructions. The instructions include instructions for a superblock application having instructions for a function block included therein. The function block is configured to provide functions that are accessible to the superblock application via an application programming interface (API). The functions are provided within the superblock application itself and are accessible within the superblock application without switching context to another application on the mobile device.
    Type: Grant
    Filed: April 20, 2015
    Date of Patent: February 23, 2016
    Assignee: Damaka, Inc.
    Inventors: Sivakumar Chaturvedi, Satish Gundabathula, Rashmi Hiremath
  • Patent number: 9262196
    Abstract: A method and related apparatus and planner are provided. The method comprises receiving information about relationship of activation items in a plurality of virtual machines as well as information including activation item descriptive parameters. In addition, the method comprises of steps of optimizing an activation order of the activation items in said virtual machines according to said relationship among the activation items and generating an activation logical file according to the optimized activation order and said activation item descriptive parameters.
    Type: Grant
    Filed: January 5, 2014
    Date of Patent: February 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Xing Jin, Le He, Wu Yu Hui, Qing Bo Wang, Bao Hua Cao
  • Patent number: 9244721
    Abstract: Each execution computer measures a load on each execution computer, generates a job request including information about the number of executable divided jobs based on the measured load, and sends the generated job request to a management computer which manages each execution computer. The management computer receives the job request and assigns as many divided jobs as the number of divided jobs designated by the job request to each execution computer.
    Type: Grant
    Filed: November 24, 2011
    Date of Patent: January 26, 2016
    Assignee: Hitachi, Ltd.
    Inventors: Kazuya Konno, Kazuhiko Watanabe
  • Patent number: 9239803
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: January 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Patent number: 9240964
    Abstract: Exemplary methods, apparatuses, and systems that execute a cross-platform application programming interface (API) that supports a plurality of applications are described. The cross-platform API implements a request from an application for a device to participate in a unique conversation, the unique conversation being identified by a topic and independent of a unique identifier for entities. The cross-platform API further provides the application an abstracted discovery mechanism by which the application causes the device to discover an entity that is accessible on the local network participating in the unique conversation. The cross-platform API further provides the application with a message passing mechanism by which the application causes the first device to exchange messages related to the unique conversation with the entity.
    Type: Grant
    Filed: October 30, 2014
    Date of Patent: January 19, 2016
    Assignee: JARGON TECHNOLOGIES LLC
    Inventors: Bhanu Srikanth, Nathan Epstein, Jeff Schulz
  • Patent number: 9237120
    Abstract: A message broker system can include a message broker. The message broker can be configured to receive the message instances output as input message instances, store the input message instances in a message store, alter the structure or content of the input message instances according to a message brokering model to generate output message instances and provide output message instances to one or more downstream processors. According to one embodiment, input message stream processing can be decoupled from output message stream processing by the message broker.
    Type: Grant
    Filed: October 28, 2014
    Date of Patent: January 12, 2016
    Assignee: Open Text S.A.
    Inventor: Stefan Daniel Sandberg Cohen