Patent application number | Description | Published |
20090199159 | DECLARATIVE EXECUTION CONTEXT SPLITTING - Various technologies and techniques are disclosed for enabling code to be executed on one or more execution contexts based upon declarative annotations contained in the code or other locations. An annotation associated with a region of code is located. The annotation specifies information about an execution context where the region of code should be executed. A caller proxy is generated that is responsible for calling a callee adapter to execute the region of code. The callee adapter is generated that is responsible for receiving a call from the caller proxy and for dispatching a call to the region of code at the execution context. At runtime, the caller proxy receives a request to call the region of code and sends an execution request to the callee adapter. The callee adapter receives the execution request and dispatches a call to an executable version of the region of code. | 08-06-2009 |
20090249489 | SECURITY BY CONSTRUCTION FOR WEB APPLICATIONS - Secure distributed Web applications are produced by default upon construction. Mechanisms are provided to address distributed application vulnerabilities (e.g., cross-site scripting, cross-site request forgery, replay attacks . . . automatically. These mechanisms are provided in conjunction with a tier-splitting component that breaks up an application for execution across multiple contexts or tiers. As a result, any application that is tier split is protected from security vulnerabilities by default without any intervention on the part of a developer. | 10-01-2009 |
20110173620 | Execution Context Control - A system and method for controlling the execution of notifications in a computer system with multiple notification contexts. A RunOn operator enables context hopping between notification contexts. Push-based stream operators optionally perform error checking to determine if notifications combined into a push-based stream share a common notification context. Context boxes group together notification creators and associate their notifications with a common scheduler and notification context. Operators employ a composition architecture, in which they receive one or more push-based streams and produce a transformed push-based stream that may be further operated upon. Components may be used in combinations to implement various policies, including a strict policy in which all notifications are scheduled in a common execution context, a permissive policy that provides programming flexibility, and a hybrid policy that combines flexibility with error checking. | 07-14-2011 |
20110173621 | PUSH-BASED OPERATORS FOR PROCESSING OF PUSH-BASED NOTIFICATIONS - A library of operators is provided for performing operations on push-based streams. The library may be implemented in a computing device. The library may be stored on a tangible machine-readable medium and may include instructions to be executed by one or more processors of a computing device. The library of operators may include groups of operators for performing various types of operations regarding push-based streams. The groups of operators may include, but not be limited to, standard sequence operators, other sequence operators, time operators, push-based operators, asynchronous operators, exception operators, functional operators, context operators, and event-specific operators. | 07-14-2011 |
20120239584 | NAVIGATION TO DYNAMIC ENDPOINT - Turn-by-turn directions can guide a user to a dynamic destination, such as a person or a rendezvous location. The turn-by-turn directions enable one user to follow another or, alternatively, multiple people to rendezvous with each other. The selection can be via identifiers used in network contexts, such as social networking Individuals can select the circumstances under which their location can be revealed. Turn-by-turn directions enabling following utilize anticipated locations or predictions of likely destinations based on historical and contextual information. Turn-by-turn directions enabling rendezvous reference a rendezvous location, which is either the same for all users, or which differs among them. Also, the directions can reference intermediate, “staging”, locations from which further intermediate, or ultimate, destinations can be routed to. | 09-20-2012 |
20120315992 | GEOGRAPHIC DATA ACQUISITION BY USER MOTIVATION - Architecture that motivates and utilizes users as the means for capturing geographical data of a desired location. The architecture incentivizes users (e.g., large numbers of mobile-phone and mobile-computer users) to provide the data in the form of geolocation information trails and images captured by user devices. Thus, users take multiple pictures, for example, and can validate existing coverage of specific points of interest based on variable needs of the requestor. One motivational technique is by using augmented reality (AR) games, which include shooting targets associated with the point of interest (e.g., a street). Thus, the game can be designed for the data accumulation, which includes visual data. Additionally, the architecture can determine the areas or points of interest for validation and/or additional coverage by comparing live video data to an image database to decide of the need for update. | 12-13-2012 |
20120322458 | DEPERSONALIZING LOCATION TRACES - Positional information is provided while minimizing the possibility that personally identifiable information can be derived therefrom. Positional information is received in the form of trails that can be aggregated. Individual cells of a grid reflect a quantity of aggregated trails through those cells, an average intensity and direction of movement through those cells, or a more detailed distribution thereof. Alternatively, individual trails are aggregated to an aggregated trail in the form of a line. Further obfuscation of personally identifiable information occurs by resampling aggregated positional information, by introducing false positional information, or by falsely modifying existing positional information, in a manner that does not impact the overall aggregations, and by pruning, or deleting, positional information, especially around sensitive locations, such as a user's home, place of business, or other location that users typically would seek to keep private. Provision of positional information is delayed until a sufficient amount is received. | 12-20-2012 |
20120323984 | LANGUAGE INTEGRATED QUERY OVER VECTOR SPACES - Language-integrated query (LINQ) operators can be extended to a set of vectors associated with a digital signal processing (DSP) environment. A language-integrated query (LINQ) operator can be created to execute a change of basis for a set of vectors. LINQ operators can be further be utilized with specifically generated parameters to perform a change of basis for the set of vectors. Additionally, the standard LINQ operators can be extended to enable querying with LINQ against the set of vectors. | 12-20-2012 |
20130006517 | PROVIDING ROUTES THROUGH INFORMATION COLLECTION AND RETRIEVAL - Providing directions from point A to point B may be treated as an information retrieval problem. In one example, actual routes that are traveled by people are received, and are stored in a database. When a person requests directions from point A to point B, a system searches the database to determine whether a route from A to B exists. If the route does exist, then the route may be provided as directions in response to the request. If no such route exists, then the system looks in the database for routes that have some amount of overlap with each other, and attempts to construct a route from A to B by joining known routes that overlap with each other. Rules may govern the degree of overlap that routes are to have before they can be joined. | 01-03-2013 |
20130103715 | MONADIC EVALUATION OF INJECTED QUERY COMPOSITIONS - Embodiments enable the evaluation of injected queries within a monad. One or more operators with closures are received from a first process. The operators with closures represent one or more functions to be applied by a second process. The second process evaluates the received operators with closures to apply the functions within the monad. During evaluation, the second process converts the closures to simply typed closures. Further, the second process binds the converted closures within the monad to restrict execution of the functions. In some embodiments, the queries (e.g., sequences of one or more operators with closures) are composed using a set of query operators from the language integrated query (LINQ) framework encoded in uniform resource locators (URLs) in the representational state transfer (REST) style. | 04-25-2013 |
20130117288 | DYNAMICALLY TYPED QUERY EXPRESSIONS - A dynamic call on dynamic data can be transformed into a dynamic call on a structure representing dynamic data. Specifically, a dynamic query with a code object representation that includes an untyped parameter can be transformed into a dynamic query with a function call with a dynamic meta-object. The function call with the dynamic meta-object tracks operation(s) that correspond to the code object representation that includes an untyped parameter in order to build a structure representing such code object representation. At runtime, the dynamic query is built and the structure representing the code object representation is rebuilt so as to enable a dynamic query with a code object representation that references untyped data. | 05-09-2013 |
20130159969 | DIGITAL SIGNAL PROCESSING WITH LANGUAGE INTEGRATED MONADS - Digital signal processing is facilitated utilizing monads. In other words, a digital signal can be processed as a function of at least one monadic operation over the digital signal. Monadic operations can also be integrated into a general-purpose programming language optionally in a declarative syntax to further facilitate programming with respect to digital signals. | 06-20-2013 |
20130173653 | PATH COMPOSITION FOR PLANNING - A sequence of events may be planned by drawing on knowledge of existing sequences of events, and combining those events in accordance with a set of constraints. In one example, the sequences of events are events in a social agenda, such as dinner, drinks, movie, etc. Actual social agendas that users have carried out are monitored (with the users' permission), and these events are stored in a database. A sequence of events may be referred to as an existing path. Using the database, a system can respond to a query such as “plan an evening in Seattle,” or “plan an evening in that includes a movie” by querying the database to determine what sequences have already happened, and either retrieving an existing sequence or synthesizing a new one from existing sequences. | 07-04-2013 |
20130212138 | CURVE REPRESENTATIONS - Among other things, one or more techniques and/or systems are provided for creating a hierarchical multi-resolution representation of a curve. That is, a first-level curve (e.g., a relatively lower resolution of the curve) may be represented as a set of points within a first-level curve representation. A non-first-level curve (e.g., a second-level curve associated with a relatively higher resolution of the curve) may be represented as a set of offsets from the first-level curve (e.g., distances along offsets vectors starting from the first-level curve to the second-level curve), which is more efficient than storing complete data sets for different resolutions of the curve. In this way, various resolutions of the curve may be efficiently represented within the hierarchical multi-resolution representation. The various resolutions (e.g., levels) of the curve may also be acted upon or manipulated independently of one another. | 08-15-2013 |
20140032678 | PUSH-BASED RECOMMENDATIONS - Among other things, one or more techniques and/or systems are provided for pushing a recommendation to a user. That is, a recommendation may be pushed to a device of the user based upon a triggering event associated with the user. The recommendation may be provided, for example, without user solicitation for the recommendation. In one example, a recommendation component may observe that the user frequently stops for ice cream on Fridays after work (e.g., based upon prior social network check-ins). Accordingly, on the following Friday, the recommendation component may push a recommendation to the user's device to visit a particular grocery store on the way home from work that is within 10 minutes of the user's home so that the user can avoid melting ice cream (e.g., a location constraint may be applied to choose a grocery store that is relatively close to the user's home). | 01-30-2014 |
20140143184 | TURN RESTRICTION INFERENCING - Architecture that extracts turn restrictions from geolocation traces both offline and online (in realtime). By identifying from the location traces which specific turns a driver takes and at which points in time, turn restrictions and associated time-dependence can be mined (inferred). Turn restrictions can be inferred based on the nature of drivers who tend to take the shortest route. The architecture can infer allowed turns and turn restrictions by mining user location traces, infer turn restrictions and associated confidence scores by comparing the routes followed by users with the routes that are shortest when applying the set of known turn restrictions, and infer turn restrictions based on the accessibility criterion such as each road section (between two adjacent intersections) is accessible in at least one way. A scoring method is provided for calculating the probability for a turn restriction to exist by fusing the scores described above with statistical information. | 05-22-2014 |
20140165037 | REUSABLE APPLICATION USER EXPERIENCE - Reusable user experience is provided by way of styleable applications. An application can be segmented into a content portion and a style portion, if not originally designed that way. Subsequently, alternate style code can be injected to provide a style to an application lacking style or replace a style with a different style. Styles can be extracted from other applications or acquired from an online marketplace, for instance. | 06-12-2014 |
20140172848 | CONTENT REACTION ANNOTATIONS - Among other things, one or more techniques and/or systems are provided for annotating content based upon user reaction data and/or for maintaining a searchable content repository. That is, a user may request and/or opt-in for user reaction data to be detected while a user is experiencing content (e.g., watching a movie, walking through a park, interacting with a website, participating on a phone conversation, etc.). Metadata associated with the content may be used to determine when and/or what sensors to use to detect the user reaction data (e.g., metadata specifying an emotional part of a movie). The content may be annotated with a reaction annotation corresponding to the user reaction data, which may be used to organize, search, and/or interact with the content. A search interface may allow users to search for content based upon annotation data and/or aggregated annotation data of one or more users who experienced the content. | 06-19-2014 |
20140180695 | GENERATION OF CONVERSATION TO ACHIEVE A GOAL - Conversation to reach a goal may be created by stitching together pieces of past conversations. Conversations are stored and indexed. A user specifies a goal that the user would like to achieve through conversation. Pieces of conversation that could achieve that goal are retrieved and/or stitched together from smaller conversation fragments, and the resulting conversation pieces are evaluated for merit. The merit evaluator is pluggable so that different merit calculations may be used for various different situations. The conversation may be displayed or spoken to the user as a prompt, so that the user can engage in a real conversation with a real person based on the guidance received. The system can react to the current state of the conversation, and may change conversational strategies or even conversational goals during the course of the conversation. | 06-26-2014 |
20140266800 | CROWD-SOURCED PARKING ADVISORY - Architecture that employs crowd-sourced parking-related information to compute the probability of finding parking spots at specific road segments, parking lots, and/or in larger geographic areas. The crowd-sourced parking-related information can be obtained from geolocation (geographical location) traces. This approach utilizes a method of mining location traces to compute the probability of finding parking spots at specific road segments, parking lots, and/or in larger geographic areas. The location traces can be mined to classify parking areas as public, private, and semi-private (e.g., only for company employees in certain area that also include public parking areas). The location traces can be mined to infer the times and dates (e.g., hours of the day and the days of the week) during which a vehicle is allowed to park at a given location. | 09-18-2014 |