Patent application number | Description | Published |
20150317319 | ENHANCED SEARCH RESULTS ASSOCIATED WITH A MODULAR SEARCH OBJECT FRAMEWORK - A modular search object framework provides modular search results, including entity and non-entity search results, with search suggestions in a combined visual display. The framework includes circuitry that outputs search results and search suggestions comprising perceivable differences between the results and the suggestions. In addition, circuitry of the framework outputs search results, wherein non-entity and entity search results are distinguishable from each other, for example in shape, size, color, or other visual effect. | 11-05-2015 |
20150317354 | INTENT BASED SEARCH RESULTS ASSOCIATED WITH A MODULAR SEARCH OBJECT FRAMEWORK - A modular search object framework provides modular search results including entity search results reflecting the intent of a searcher. Also, an interface (such as a graphical user interface provided by the framework), aids in organizing results (such as links, titles, and description) according to the intent of the user as manifest in the search query and interactions with the interface. Circuitry of the framework also predicts user intent from historical information corresponding to the searcher (or to a group with which the searcher is associated). | 11-05-2015 |
20150317365 | MODULAR SEARCH OBJECT FRAMEWORK - A modular search object framework provides modular search results including entity and non-entity search results. The framework includes circuitry that outputs an interactive entity section based on an online search. The interactive section includes a plurality of moveable visual objects, such as cards that can be shuffled, flipped, or swiped around. | 11-05-2015 |
Patent application number | Description | Published |
20140258998 | ENLARGING CONTROL REGIONS TO OPTIMIZE SCRIPT CODE COMPILATION - Disclosed here are methods, systems, paradigms and structures for incrementally compiling scripts at runtime to generate executable code. The incremental compilation generates executable code corresponding to basic blocks of a script in various phases and at various scopes. In a first phase, an executable code for a basic block of the script is generated for a set of types of variables of the basic block. The generated executable block is stored and executed for subsequent requests. In a second phase, a set of executable blocks whose profiling information, such as frequency of (a) execution, (b) transition between two executable blocks, or (c) execution of a particular path, satisfies an optimization criterion is identified. The identified set of executable blocks are combined to generate an executable control region, which is more optimal than the executable blocks generated in the first phase. The executable control region is executed for subsequent requests. | 09-11-2014 |
20140282449 | INCREMENTAL COMPILATION OF A SCRIPT CODE IN A DISTRIBUTED ENVIRONMENT - Disclosed here are methods, systems, paradigms and structures for incrementally compiling scripts at runtime to generate executable code. In a first phase, an executable block for a basic block of the script is generated for a set of types of variables of the basic block. In a second phase, a set of executable blocks whose profiling information, such as frequency of (a) execution, (b) transition between executable blocks, or (c) execution of a path, satisfies an optimization criterion is identified, and an executable control region is generated. In a third phase, profiling information from a number of systems in a distributed environment is aggregated, and an executable control region corresponding to the aggregated profile is generated. The executable code generated in each of the phases is more optimal than the code generated in a previous phase, and is used for execution until replaced by the code of a subsequent phase. | 09-18-2014 |
20140289716 | OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR ATOMIC EXECUTION - Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for atomic execution. Atomic execution of the script is achieved by generating portions of the IR as an atomic transaction. In an atomic transaction, a series of operations either all execute, or none executes. The IR includes checkpoints that evaluate to one of two possible values. The checkpoint evaluates to a first value when there is no error during execution, and evaluates to a second value when an error occurs. The IR is optimized for atomic execution by regenerating a portion of the IR including the checkpoint and code associated with the checkpoint as a transaction. When an error occurs during the execution of the transaction, the transaction is aborted and a state of execution of the script code is reverted to a state prior to the beginning of the transaction. | 09-25-2014 |
20140317607 | OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE BY ELIMINATING REDUNDANT REFERENCE COUNT OPERATIONS - Disclosed here are methods, systems, paradigms and structures for optimizing generation of intermediate representation (IR) for a script code by eliminating redundant object reference count operations from the IR. An IR of the script includes (a) a set of first code that increments a reference count of an object when a programming construct refers to the object, and (b) an associated set of second code which decrements the reference count of the object when a reference to the object is removed. The IR is analyzed to identify a subset of the set of second code which, upon execution, does not decrement the reference count of the object to a zero value. The subset of second code and the first code corresponding to the subset is removed from the IR to generate an optimized IR. The optimized IR is further converted to an executable code. | 10-23-2014 |
20140331201 | OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR FAST PATH EXECUTION - Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for fast path execution. A fast path is typically a path that handles most commonly occurring tasks more efficiently than less commonly occurring ones which are handled by slow paths. The less commonly occurring tasks may include uncommon cases, error handling, and other anomalies. The IR includes checkpoints which evaluate to two possible values resulting in either a fast path or slow path execution. The IR is optimized for fast path execution by regenerating a checkpoint as a labeled checkpoint. The code in the portion of the IR following the checkpoint is optimized assuming the checkpoint evaluates to a value resulting in fast path. The code for handling situations where the checkpoint evaluates to a value resulting in slow path is transferred to a portion of the IR identified by the label. | 11-06-2014 |
20150040110 | SYSTEMS AND METHODS FOR INCREMENTAL COMPILATION AT RUNTIME USING RELAXED GUARDS - Techniques provided herein facilitate just-in-time compilation of source code, such as a script, during execution. According to some embodiments, a tracelet is limited to a single basic block of code. The data types of variable values provided by one or more variables used in the single basic block of code are known by generalized categories, rather than only being known by specific data types. Accordingly, guard code associated with each tracelet, which ensures that variable values received by the tracelet though the variables are of the data types expected by the tracelet's associated code body, can use generalized data types. The tracelet can contain code body that can handle input values that meet those generalized data types. A generalized data type can be defined according to one or more common characteristics shared by two or more specific data types. | 02-05-2015 |
20150074655 | ELIMINATING REDUNDANT REFERENCE COUNT OPERATIONS IN INTERMEDIATE REPRESENTATION OF SCRIPT CODE - The disclosure is related to optimizing generation of intermediate representation (IR) for a script code by eliminating redundant reference count code from the IR. The reference count code includes code that manages a reference count of an object, e.g., code that increments a reference count of the object (“incref code”) and an observer code which consumes or the execution of which depends on the reference count of the object. The IR is analyzed to identify redundant reference count code. Counters associated with the object are evaluated and upon satisfying the optimization criterion, the incref code is moved closer to the observer code. The incref code and the observer code that are adjacent to each other are identified as redundant code pair and the code pair is eliminated from the IR to generate an optimized IR. The optimized IR is further converted to an executable code. | 03-12-2015 |
20150154010 | OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE BY ELIMINATING REDUNDANT REFERENCE COUNT OPERATIONS - Disclosed here are methods, systems, paradigms and structures for optimizing generation of intermediate representation (IR) for a script code by eliminating redundant object reference count operations from the IR. An IR of the script includes (a) a set of first code that increments a reference count of an object when a programming construct refers to the object, and (b) an associated set of second code which decrements the reference count of the object when a reference to the object is removed. The IR is analyzed to identify a subset of the set of second code which, upon execution, does not decrement the reference count of the object to a zero value. The subset of second code and the first code corresponding to the subset is removed from the IR to generate an optimized IR. The optimized IR is further converted to an executable code. | 06-04-2015 |
20160085527 | CODE PLACEMENT USING A DYNAMIC CALL GRAPH - When a program function is called, if the instructions for that function are not in active memory, a page fault occurs. Resolving a page fault includes a costly process of loading a page of object code instructions, into active memory, including the instructions for the called function. Technology is disclosed to reduce page faults by placing interrelated functions near each other within executable code based on a log of previous function calls. A log of function calls may be from observing the execution of applications over time. Computing devices can compute where to place functions within executable code by: obtaining the function call log; building a call graph based on the function call log; defining multiple node clusters within the call graph; and generating an ordered list of functions by sorting the node clusters. The ordered list of functions can then be provided during linking to determine function placements. | 03-24-2016 |
Patent application number | Description | Published |
20130002706 | METHOD AND APPARATUS FOR CUSTOMIZING A DISPLAY SCREEN OF A USER INTERFACE - A method is provided for controlling and customizing a display screen of a user interface which includes at least two sections of display elements with the display elements of one section being displayed in a different manner, such as being sized greater, than the display elements of another section. The method also defines a spatial relationship of the at least two sections. The method also includes receiving an input indicating a selection of a display element and causing the performance of an operation associated with the display element. A corresponding apparatus and computer program product are also provided. | 01-03-2013 |
20130145303 | METHOD AND APPARATUS FOR PROVIDING A NOTIFICATION MECHANISM - A method for providing a notification mechanism may include causing provision of a notification bar at an edge of a touch screen display in response to an occurrence of an event where the notification bar provides information indicative of the event, enabling, responsive to user input, extension of the notification bar away from the edge of the touch screen display to display one or more levels of other notification classes in addition to the information indicative of the event, causing presentation of the notification bar to remain in an extended position away from the edge of the touch screen display so as to display one or more levels of notification classes upon cessation of the user input and causing, responsive to exposure of each level that has a subsequent level thereafter, an indication of existence of the subsequent level. A corresponding apparatus and computer program product are also provided. | 06-06-2013 |
20150253972 | METHOD AND APPARATUS FOR PROVIDING NOTIFICATION OF A COMMUNICATION EVENT VIA A CHRONOLOGICALLY-ORDERED TASK HISTORY - A method, apparatus and computer program product are provided to facilitate task management with a chronologically-ordered task history such that a user may more readily determine the status of various tasks and may efficiently interact therewith. The method, apparatus and computer program product may provide for notification of a communication event to be integrated into the chronologically-ordered task history so as to provide a visible reminder to the user of recent communication events. In the context of a method, a chronologically-ordered task history may be caused to be presented. The chronologically-ordered task history may include task representations of a plurality of respective tasks with the task representations being ordered chronologically based upon user interaction therewith. The method may also include receiving a communication event from another party and causing notification of the communication event to be provided, such as by by modifying the chronologically-ordered task history. | 09-10-2015 |