Patents Assigned to Recursion Software, Inc.
  • Publication number: 20140068188
    Abstract: In order to optimize efficiency of deserialization, a serialization cache is maintained at an object server. The serialization cache is maintained in conjunction with an object cache and stores serialized forms of objects cached within the object cache. When an inbound request is received, a serialized object received in the request is compared to the serialization cache. If the serialized byte stream is present in the serialization cache, then the equivalent object is retrieved from the object cache, thereby avoiding deserialization of the received serialized object. If the serialized byte stream is not present in the serialization cache, then the serialized byte stream is deserialized, the deserialized object is cached in the object cache, and the serialized object is cached in the serialization cache.
    Type: Application
    Filed: November 5, 2013
    Publication date: March 6, 2014
    Applicant: Recursion Software, Inc.
    Inventors: Deren George Ebdon, Robert W. Peterson
  • Publication number: 20130117405
    Abstract: In order to optimize efficiency of serialization, a serialization cache is maintained at an object server. The serialization cache is maintained in conjunction with an object cache and stores serialized forms of objects cached within the object cache. When an object is to be sent from the server to the client, a serialization module determines if a serialized form of the object is stored in the serialization cache. If the object is already serialized within the serialization cache, the serialized form is retrieved and provided to the client. Otherwise, the object is serialized, the object is cached in the object cache and the serialized form of the object is cached in the serialization cache.
    Type: Application
    Filed: November 4, 2011
    Publication date: May 9, 2013
    Applicant: Recursion Software, Inc.
    Inventors: Deren George Ebdon, Robert W. Peterson
  • Publication number: 20130117510
    Abstract: In order to optimize efficiency of deserialization, a serialization cache is maintained at an object server. The serialization cache is maintained in conjunction with an object cache and stores serialized forms of objects cached within the object cache. When an inbound request is received, a serialized object received in the request is compared to the serialization cache. If the serialized byte stream is present in the serialization cache, then the equivalent object is retrieved from the object cache, thereby avoiding deserialization of the received serialized object. If the serialized byte stream is not present in the serialization cache, then the serialized byte stream is deserialized, the deserialized object is cached in the object cache, and the serialized object is cached in the serialization cache.
    Type: Application
    Filed: August 29, 2012
    Publication date: May 9, 2013
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Deren George Ebdon, Robert W. Peterson
  • Publication number: 20130046591
    Abstract: To enable collaborative budget tracking, a budget tracker application can be downloaded and installed on a plurality of mobile devices that communicate on a peer-to-peer network. The budget tracker application comprises a master budget control module that enables a budget administrator to create a budget plan and advertise the budget plan to potential subscribers. The budget tracker application also includes an expense recording module that enables subscribers to enter expense data and submit the expense data to the master budget control module which records the expense data, updates the budget plan, and publishes any relevant updates to the subscriber devices.
    Type: Application
    Filed: August 17, 2011
    Publication date: February 21, 2013
    Applicant: RECURSION SOFTWARE, INC.
    Inventor: Yifei Yao
  • Publication number: 20130046893
    Abstract: To enable continuous execution of an application, a system and method for transferring an application state is provided. A gesture corresponding to a transfer act is detected by a gesture detection module in a first device executing the application. The first device communicates with a registration and relay server to determine eligible transfer recipients based on criteria such as location and/or devices that are currently executing the application. A transfer recipient is selected and platform independent application state Data Transfer Objects are generated that describe the state of execution on the first device. The application state DTOs are transferred via the server to the recipient device which enacts the application state DTOs to continue the execution of the application on the recipient device. Because the application state DTOs are platform independent, the application state can be transferred to almost any device that is able to execute the application.
    Type: Application
    Filed: August 17, 2011
    Publication date: February 21, 2013
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Robert R. Hauser, Robert DeAnna, Paul Lipari
  • Publication number: 20120311526
    Abstract: In developing applications for a plurality of node types, a meta-data definition of the application can be captured into an application definition module. The meta-data definition can describe the application for the plurality of node types. A code generation module can then automatically generate the application code for the plurality of node types. The code can be compiled per node type and the packaging necessary to deploy the application to the plurality of node types can also be automatically generated.
    Type: Application
    Filed: June 2, 2011
    Publication date: December 6, 2012
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Robert DeAnna, Robert W. Peterson, Thomas T. Wheeler, Qin Ye
  • Publication number: 20120311614
    Abstract: A device API Abstraction layer is provided that is configured to operate as an interface between one or more applications operating on a device and an operating platform of the device. The device API abstraction layer comprises a universal set of APIs that enables the applications to execute irrespective of the operating system and software platform of the host device.
    Type: Application
    Filed: June 2, 2011
    Publication date: December 6, 2012
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Robert DeAnna, John Patoskie, Robert W. Peterson, Thomas T. Wheeler, Qin Ye
  • Publication number: 20120311547
    Abstract: In developing applications for a plurality of node types, a meta-data definition of the application can be captured into an application definition module. The meta-data definition can describe the application for the plurality of node types. A code generation module can then automatically generate the application code for the plurality of node types, including transaction aware code. The code can be compiled per node type and the packaging necessary to deploy the application to the plurality of node types can also be automatically generated.
    Type: Application
    Filed: June 2, 2011
    Publication date: December 6, 2012
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Robert DeAnna, Robert W. Peterson, Thomas T. Wheeler, Qin Ye
  • Publication number: 20120311016
    Abstract: To provide self-healing capabilities in a distributed knowledge network/intelligent sensor network, a node monitoring task agent can be deployed to a node to determine operating parameters of the node or of other task agents executing on the node. The operating parameters can be passed to a node monitoring data analysis engine which can analyze the data by referencing a rule-set. The analyzed data can be passed to a management application which can determine whether any self-healing actions need to be performed, such as moving the task agents to other healthier nodes of the DKN-ISN.
    Type: Application
    Filed: June 2, 2011
    Publication date: December 6, 2012
    Applicant: RECURSION SOFTWARE, INC.
    Inventors: Robert DeAnna, John Patoskie, Robert W. Peterson, Thomas T. Wheeler, Qin Ye
  • Publication number: 20120254461
    Abstract: In order to enable a dynamic handshake procedure, a device may be configured with a list of handshake contributors. Contributors with connection handshake properties may be added to the contributor list. To perform handshake, the contributor list is processed to extract the connection handshake properties of each contributor to the handshake. Handlers for handling the connection handshake properties may also be dynamically added and invoked when a handshake is received.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Qin Ye, Robert W. Peterson, Thomas T. Wheeler
  • Publication number: 20120254228
    Abstract: In order to provide filtering of content to be presented on a mobile device, a gesture-based preferencing system and method may be employed. When content is presented to a user, the user may indicate a positive or negative preference toward that content by making a gesture. The gesture may be detected by a motion sensor and the preference of the content indicated by the gesture may be stored in a preference datastore. The preference may be used to subsequently filter content that is to be presented to the user.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventor: John Patoskie
  • Publication number: 20120254448
    Abstract: In a mobile device, one of a plurality of network transports may be used for a connection request. The ideal network transport may be selected by executing a connection selection policy that is stored within the device. The connection selection policy may include one or more network transport evaluators that are each configured to weight the available network transports according to various criteria. Examples of network transport evaluators include evaluators that are dependent on geolocation, security levels, or battery status.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Thomas T. Wheeler, Robert W. Peterson, Qin Ye
  • Publication number: 20120254460
    Abstract: In order to enable a dynamic handshake procedure, a client device is configured with a list of handshake contributors. The client device initiates a handshake by determining the handshake contributors and writing properties of the handshake contributors in a client handshake, which is then sent to a server device. The client handshake is processed at the server device by invoking an appropriate handler, which handles the handshake result. The server can also send its contributors and their properties to the client. Once the client receives the properties, the client can call an appropriate handler to handle the properties. Connections may be created based on the exchanged properties. New contributors and contributor handlers may be added to both the client and server devices.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Qin Ye, Robert W. Peterson, Thomas T. Wheeler
  • Publication number: 20120254129
    Abstract: In order to manage stale data on a network of computer systems, a file harvester agent may be configured with a list of stale data files to be deleted. The file harvester agent may be deployed to the computer systems of a network. When executed in a computer system, the file harvester agent searches the file system of the computer system to locate any files or data indicated in the file list. Any located data files are deleted. Once the agent has finished processing the file list on a computer system, the agent can copy or replicate itself to other computer systems of the network in accordance with a pre-configured itinerary.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Thomas T. Wheeler, Paul Lipari
  • Publication number: 20120254319
    Abstract: During communication of a large data message from a client application to a server application, requirements to communicate smaller control messages can arise. To facilitate timely communication of control messages, a client application may include a chunking module that divides a data message into chunks that can be sent as a sequence of individual data message packets. When a control message needs to be sent, the sequence of data message packets can be interrupted to send a control message packet. At the server application, the sequence of message packets is processed so that data message packets are appended to a data message and control messages are extracted for immediate processing.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventor: Thomas T. Wheeler
  • Publication number: 20120252482
    Abstract: In order to determine the location of wireless network devices without inherent location capabilities, a wireless network device such as an access point can receive geolocation information from transient data sources such as mobile devices requiring network access from the access point. The access point stores geolocation records including location coordinates received from the transient data sources. The geolocation records can be processed to determine the position and movement of the access point. The geolocation records and/or location information can be passed to other transient clients that do not have inherent location capability.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Robert W. Peterson, Mark Gerard
  • Publication number: 20120254283
    Abstract: Mobile agents can be deployed to mobile devices within specific regions of interest to achieve specific goals in respect of events occurring in the region of interest. In order to ensure that the agent can persist within the region of interest until the agent goals are achieved, the agent is configured to locate other devices within the region of interest and to propagate itself, by moving or copying itself, to those other devices. The region of interest may be a mobile and/or dynamic region of interest defined by, for example, a proximity to one or more mobile wireless access points or by an overlapping peer-to-peer communication range of a plurality of mobile devices that are configured to support the agent.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Robert W. Peterson, Mark Gerard
  • Publication number: 20120254463
    Abstract: Content such as advertisements received into a mobile device may be more appropriately displayed on an alternative device remote from the mobile device. When ad content is received into the mobile device, the user may perform a physical gesture such as movement of the device or an associated motion sensor. The physical gesture is analyzed in the mobile device and causes the ad content to be redirected to the remote device. Additional physical gestures by the user can be interpreted in the mobile device to manipulate the content on the remote device.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventor: John Patoskie
  • Publication number: 20120254375
    Abstract: In a distributed object computing system, a server application may create multiple, uniquely identified, server contexts that each provide one or more services to a service consumer (client). Instead of creating a connection to a client for each server context, a single connection can be used. A service request handler may be configured to handle service requests for each server context. Service requests may be generated in the client with a service context identity. When a service request is received by the server application, the service request handler resolves the service context identity and forwards the service request to the appropriate server context.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventor: Robert W. Peterson
  • Publication number: 20120250688
    Abstract: In distributed object computing, messages from a source node to a destination node are often required to be routed via one or more intermediate nodes. In order to enhance efficiency of the relay process, a message envelope of a message may include a node list field that specifies the routing path of the message. The communication protocol for communicating the message may specify that when a message is received into a particular node, the node analyzes the node list field. If the identity of the node is last in the node list field, then the node is the destination node and thus the node unmarshals the message. Otherwise, the node forwards the message to the next node in the field list without unmarshalling the message.
    Type: Application
    Filed: April 2, 2011
    Publication date: October 4, 2012
    Applicant: Recursion Software, Inc.
    Inventors: Qin Ye, Robert W. Peterson, Thomas T. Wheeler