Patent application number | Description | Published |
20120226789 | Hiearchical Advertisement of Data Center Capabilities and Resources - A cloud computing system is provided comprising a plurality of data centers, each data center comprising a plurality of pods each of which comprises network, compute, storage and service node devices. At a designated device of a data center, data center level capabilities summary data is generated that summarizes the capabilities of the data center. Messages advertising the data center level capabilities summary data is sent from a designated device of each data center to a designated device at a provider edge network level of the computing system. At the designated device at the provider edge network level, provider edge network level capabilities summary data is generated that summarizes capabilities of compute, storage and network devices for each data center as a whole and without exposing individual compute, storage and service node devices in each data center. | 09-06-2012 |
20120226797 | Active Load Distribution for Control Plane Traffic Using a Messaging and Presence Protocol - Techniques are provided herein for a device in a network to receive information configured to indicate a control plane traffic load level for one or more server devices that are configured to manage traffic for messaging and presence clients communicating via a messaging and presence protocol. The control plane traffic is associated with the messaging and presence protocol. A determination is made as to when the control plane traffic load level has become unbalanced among the two or more server devices and in response to determining that the control plane traffic load level has become unbalanced, sending a transfer message to one or more clients comprising information configured to initiate migration of one or more clients from a server device that is relatively overloaded to a server device that is relatively underloaded in order to balance the control plane traffic load level among the two or more server devices. | 09-06-2012 |
20120233333 | Resource Negotiation for Cloud Services Using a Messaging and Presence Protocol - Techniques are provided for sending from a client in a first network device a first session-initiate message to a second network device that is configured to provide network layer, data link layer, or associated convergence layer based service connection information in order for the second network device to accept or reject a network layer, data link layer, or associated convergence layer based service connection with the first network device. The first session-initiate message is based on a messaging and presence protocol. A session-accept message is received at the client in the first network device that is configured to accept the service connection and provide a network layer, data link layer, or associated convergence layer based service connection information in order for the first network device to establish the service connection with the second network device. The session-accept message is based on the messaging and presence protocol. In response to receiving the session-accept message, the service connection is established. | 09-13-2012 |
20120239792 | PLACEMENT OF A CLOUD SERVICE USING NETWORK TOPOLOGY AND INFRASTRUCTURE PERFORMANCE - Techniques are described for selecting an optimal data center for instantiating a first cloud service. Embodiments of the invention receive a request specifying a topology of a first cloud service to be hosted by one of a plurality of data centers which provide computing resources to host a plurality of cloud services. A suitability value is then determined for each of the data centers which measures a fitness of the data center for instantiating the first cloud service. In one embodiment, the suitability value is determined by calculating a plurality of metric values for the data center, normalizing the metric values and calculating a weighted average of the normalized values. One of the data centers is then selected for instantiating the first cloud service, based at least in part on the determined suitability values. | 09-20-2012 |
20120303618 | Clustering-Based Resource Aggregation within a Data Center - Data representing capabilities of devices in a data is aggregated on a cluster-basis. Information representing capability attributes of devices in the data center is received. The information representing the capability attributes is analyzed to generate data that groups devices based on similarity of at least one capability attribute. Aggregation data is stored that represents the grouping of the devices based on similarity of the at least one capability attribute and identifies the devices in corresponding groups. | 11-29-2012 |
Patent application number | Description | Published |
20090037239 | Method For Improving Internet Advertising Click-Through Rates through Time-Dependent Keywords - A tool that allows internet advertisers to examine the popularity of various different keyphrases entered into a search engine over time is presented. The tool then allows the advertiser to specify a changing set of keyphrases that will be monitored and used to trigger the selection of internet advertisements. In this manner, internet advertisers can take advantage of the different keyphrases used by search engine users that tend to change over time. | 02-05-2009 |
20100228597 | Transferring Targeting and Marketing Information from an Online Advertisement System - An online advertising system integrates third party agents to permit the third party agents to participate in auctions to bid on a per opportunity basis. An advertising exchange module receives requests for opportunities to serve online advertisements to users. In response, an advertising exchange module applies one or more business rules to determine third party agents that qualify to serve the online advertisement. A bid gateway module generates and transmits requests for bids to the third party agents. The bid gateway module then receives bids from the third party agents in response to the requests for bids. The advertising exchange module then selects an advertisement based on the bid. The online advertisement exchange system provides a unified marketplace to permit integrator networks to bid on both ads pursuant to guaranteed contracts and ads not subject to guaranteed contracts (e.g., non-guaranteed ads). The online advertisement system further includes traffic management to allow the third parties to regulate bid requests sent from the online advertisement system. In some embodiments, the online advertising system caches bids, to efficiently implement the per opportunity auction, and transmits information, such as targeting information, to the third party agents to aid in the third party agents' formulation of bids. | 09-09-2010 |
20100228634 | Caching bids in an online advertisement bidding system - An online advertising system integrates third party agents to permit the third party agents to participate in auctions to bid on a per opportunity basis. An advertising exchange module receives requests for opportunities to serve online advertisements to users. In response, an advertising exchange module applies one or more business rules to determine third party agents that qualify to serve the online advertisement. A bid gateway module generates and transmits requests for bids to the third party agents. The bid gateway module then receives bids from the third party agents in response to the requests for bids. The advertising exchange module then selects an advertisement based on the bid. The online advertisement exchange system provides a unified marketplace to permit integrator networks to bid on both ads pursuant to guaranteed contracts and ads not subject to guaranteed contracts (e.g., non-guaranteed ads). The online advertisement system further includes traffic management to allow the third parties to regulate bid requests sent from the online advertisement system. In some embodiments, the online advertising system caches bids, to efficiently implement the per opportunity auction, and transmits information, such as targeting information, to the third party agents to aid in the third party agents' formulation of bids. | 09-09-2010 |
20100228635 | Unified Marketplace for an Online Advertisement Bidding System - An online advertising system integrates third party agents to permit the third party agents to participate in auctions to bid on a per opportunity basis. An advertising exchange module receives requests for opportunities to serve online advertisements to users. In response, an advertising exchange module applies one or more business rules to determine third party agents that qualify to serve the online advertisement. A bid gateway module generates and transmits requests for bids to the third party agents. The bid gateway module then receives bids from the third party agents in response to the requests for bids. The advertising exchange module then selects an advertisement based on the bid. The online advertisement exchange system provides a unified marketplace to permit integrator networks to bid on both ads pursuant to guaranteed contracts and ads not subject to guaranteed contracts (e.g., non-guaranteed ads). The online advertisement system further includes traffic management to allow the third parties to regulate bid requests sent from the online advertisement system. In some embodiments, the online advertising system caches bids, to efficiently implement the per opportunity auction, and transmits information, such as targeting information, to the third party agents to aid in the third party agents' formulation of bids. | 09-09-2010 |
20100228637 | Architecture for an Online Advertisement Bidding System - An online advertising system integrates third party agents to permit the third party agents to participate in auctions to bid on a per opportunity basis. An advertising exchange module receives requests for opportunities to serve online advertisements to users. In response, an advertising exchange module applies one or more business rules to determine third party agents that qualify to serve the online advertisement. A bid gateway module generates and transmits requests for bids to the third party agents. The bid gateway module then receives bids from the third party agents in response to the requests for bids. The advertising exchange module then selects an advertisement based on the bid. The online advertisement exchange system provides a unified marketplace to permit integrator networks to bid on both ads pursuant to guaranteed contracts and ads not subject to guaranteed contracts (e.g., non-guaranteed ads). The online advertisement system further includes traffic management to allow the third parties to regulate bid requests sent from the online advertisement system. In some embodiments, the online advertising system caches bids, to efficiently implement the per opportunity auction, and transmits information, such as targeting information, to the third party agents to aid in the third party agents' formulation of bids. | 09-09-2010 |
20110035259 | COST AND PARTICIPATION MODELS FOR EXCHANGE THIRD-PARTY INTEGRATION IN ONLINE ADVERTISING - A modeling system to evaluate cost-based viability of a real-time, auction-based advertising system with third-party integration includes an exchange server configured to receive advertising bids, create bid requests to third-party entities based thereon, and select a winning bid from responses to the requests. A computer, coupled with the exchange server: computes a plurality of valid paths from publishers to and from the third-party entities through the exchange server; estimates server and network costs, including fixed hardware costs and variable operational costs, amortized over a predetermined period of time, based on a number of average queries per second (QPS) transmitted at different portions of the valid paths; compares current periodic fees paid by the third-party entities to the amortized costs, to determine cost-based system viability; and determines updates, if needed, to the periodic fees based on the plurality of costs to maintain cost-based system viability. | 02-10-2011 |
20110208559 | Automatic Management of Networked Publisher-Subscriber Relationships - Automatic management of networked publisher-subscriber relationships in an advertising server network. The method comprises steps for constructing a directed graph representation comprising at least one publisher node (e.g. an Internet property), at least one subscriber node (e.g. an Internet advertiser), at least one intermediary node (e.g. an Internet advertising agent), and at least one edge (e.g. an advertising target predicate) wherein any one of the edges is directly associated with at least one target predicate. The directed graph representation is used in conjunction with an inverted index for retrieving a valid node list comprising only nodes having at least one target predicate that matches at least one event predicate. The event predicate (as well as any target predicate) is any arbitrarily complex Boolean expression, and is used in producing a result node list comprising only nodes that concurrently match the event predicate with an advertising target predicate and are reachable. | 08-25-2011 |
20110238493 | EFFICIENT AD SELECTION IN AD EXCHANGE WITH INTERMEDIARIES - A method is disclosed for optimizing ad selection in an exchange having intermediate ad-networks including: constructing an exchange graph having nodes representing publishers, advertisers, and intermediate ad-network entities, and including directed edges that represent bilateral business agreements connecting the nodes; receiving an opportunity for displaying an ad to a user that is associated with a publisher node and includes properties that are targetable by supply predicates, wherein a supply predicate is a function whose inputs include properties of the user; receiving ads that are available for display to the user associated with respective advertiser nodes and that include properties that are targetable by demand predicates, wherein a demand predicate is a function whose inputs include properties of one or more of the plurality of ads; computing a thinned graph by enforcing the supply predicates in the nodes and edges of the graph; and producing a list of ads and corresponding paths that exist through the thinned graph to the opportunity that satisfy the plurality of demand predicates. | 09-29-2011 |
20120215740 | MIDDLEWARE DATA LOG SYSTEM - A method of maintaining a data store is disclosed. The data store is distributed across a plurality of storage provider instances, including a master storage provider instance and a plurality of additional storage provider instances. A master data log is updated to reflect a change to the data store. The master data log is synchronized with a plurality of replicas of the master data log. The change is propagated across the plurality of additional storage provider instances based on an analysis of the replicas. | 08-23-2012 |
Patent application number | Description | Published |
20130070605 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR QUIET PERIOD MANAGEMENT IN WIRELESS NETWORKS FOR COEXISTENCE - Method, apparatus, and computer program product embodiments are disclosed for quiet period management in wireless networks to enhance coexistence of wireless networks with other wireless networks. An example embodiment comprises: receiving control information in a wireless message in a communications channel from another device in a wireless network; receiving a packet having a duration in the communications channel in the wireless network; delaying transmission of a packet in the communications channel for an interval determined by the received control information; monitoring an ambient electromagnetic spectrum during the interval; and competing for transmission resources in the communications channel, using a carrier sense multiple access with collision avoidance access method, after the interval. | 03-21-2013 |
20130078924 | Frequency Band Selection - There is provided a method including obtaining, by a database entity, a-priori channel occupancy rate information of at least one channel from at least one of an entity of a primary system and an entity of a secondary system, wherein a database of the database entity includes information on white space channels, and availing the channel occupancy rate information to the secondary users in order to assist the secondary user to select a channel from the database. | 03-28-2013 |
20130114491 | Medium Access Control Enhancements - The exemplary embodiments enable setting one or more devices of a wireless communication network to be associated with a one or more groups of a plurality of groups based on at least a device type of the one or more devices, receiving at least one indication that one or more devices have data to send, and allocating, one group at a time, resources to the groups associated with the devices with data to send. Further, receiving a probe message from a network node, the probe message identifying one or more groups set to the device based at least on a device type, sending, information to the node, the information providing an indication that data is required to be sent, and in response to the sending, receiving a resource allocation from the node to send the data, wherein the resource allocation is arranged based on the groups set to the device. | 05-09-2013 |
20130136066 | Medium Access Control Method Enhancement - The exemplary embodiments provide at least a method of receiving, by a node of a wireless communication network, more than one indication of data required to be sent from devices in the network, determining that provisioning resources to send the data in response to each of the more than one indication exceeds at least one threshold, and based on the determining, sending a probe message including a priority constraint to the devices. Further, receiving, at a device of a wireless communication network, a probe message from a network node of the network, the probe message identifying a priority constraint, sending, by the device, an acknowledgement to the probe message, the acknowledgment indicating that the device has data to send which meets or exceeds the priority constraint identified in the probe message, and in response to the acknowledgment, receiving from the network node a resource allocation to send the data. | 05-30-2013 |
20130176998 | Mechanism For Coexistence Between Wireless Networks - In accordance with the exemplary embodiments there is at least a method performed with an apparatus of a wireless communication network including sensing information regarding at least one coexisting network, and sending the information in a header of a media access control frame to a network node of the wireless communication network. In addition, in accordance with the embodiments, there is at least a method performed with an apparatus of a wireless communication network including receiving sensing information regarding at least one coexisting network in a header of a media access control frame from at least one device of the wireless communication network, determining, using at least the sensing information, occupancy information regarding one or more coexisting networks of the wireless communication network, and sending the occupancy information to one or more devices of the wireless communication network. | 07-11-2013 |
20130223305 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR POWER SAVING IN WIRELESS COMMUNICATION - Method, apparatus, and computer program product embodiments are. An example embodiment comprises: transmitting by a first wireless device to a second wireless device, a first message indicating an awake state with availability to receive wireless messages from the second wireless device; receiving by the first wireless device, an acknowledgement message from the second wireless device, including control information indicating a duration until a service period starts; and resuming a non-awake state by the first device when the control information indicates the duration satisfies a transition criterion. | 08-29-2013 |
20130223306 | Buffered Frames Indication Enhancement To Enable Power Savings - A method includes receiving, by an apparatus, a signaling element containing an indication whether there are buffered individually addressed frames for at least one device within a group of devices; determining, by the apparatus, whether the apparatus belongs to a group for which there are no buffered individually addressed frames, based on the indication; and if the apparatus belongs to a group for which there are no buffered individually addressed frames, entering a lower power state without waiting to receive a next signaling element. | 08-29-2013 |
20130223419 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR POWER SAVING ENHANCEMENTS IN WIRELESS COMMUNICATION - Method, apparatus, and computer program product embodiments enable power saving in network environments. An example embodiment comprises: transmitting by a first wireless device to a second wireless device, a first message indicating an awake state with availability to receive wireless messages from the second wireless device, the first message including a threshold value for acceptance by the first device of buffered data in the second device; and receiving by the first wireless device, an immediate acknowledgement message from the second wireless device, if the buffered data in the second device satisfies the threshold value or receiving by the first wireless device, a delayed acknowledgement message from the second wireless device, if the buffered data in the second device does not satisfy the threshold value. | 08-29-2013 |
20130229959 | METHOD AND APPARATUS FOR GROUP SYNCHRONIZED CHANNEL ACCESS WITH TIM SEGMENTATION - A method includes receiving indications of a wake-up interval assigned to a station and a corresponding group to which the station belongs, wherein all stations assigned to the group are assigned the wake-up interval. The method includes waking the station during the wake-up interval and determining, using at least the indication of the group, whether information received by the station during the wake-up interval corresponds to the group. Another method includes assigning stations to one of multiple groups based on wake-up intervals, in which stations assigned to a group all have a same wake-up interval and each group has a different wake-up interval, sending indications of a corresponding wake-up interval and a corresponding group to each of the stations, and during a interval corresponding to the wake-up interval for a selected group, transmitting the indication of the selected group and associated information meant for the group. | 09-05-2013 |
20130229988 | Method and Apparatus for Synchronized Channel Access Among Groups - In the detailed examples an access point AP assigns each of a plurality of stations to a group, in which at least one group has multiple stations assigned. For each group the AP sets a group-specific medium access interval during which stations who are members of the group are allowed to compete for medium access, and sends a message indicating the group-specific medium access intervals for the respective groups. A station receiving the message determines the group to which it belongs and determines that it is allowed to compete for medium access at least during the medium access interval. Various examples provide options for how the grouping might be made and how the intervals might be dynamically adjusted. | 09-05-2013 |
20130294261 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR EFFICIENT TIM COMPRESSION AND DECODING - Method, apparatus, and computer program product embodiments improve power saving in network environments. An example method embodiment comprises: generating in an access point device, a traffic indication map comprising a page bitmap field, a page control field, one or more block bitmap fields, and one or more sub-block bitmaps indicating wireless client devices having buffered data in the access point device available for them; and periodically broadcasting the traffic indication map in a beacon frame to the wireless client devices. | 11-07-2013 |
20130294427 | Method And Apparatus For Signaling Sequence Root - A first access node of a first network utilizes code sequences, assigned to different user devices, to distinguish at least acknowledgements received in parallel or sequentially from those user devices. The first access node determines from received signaling that a root sequence of the code sequences is in use by a second access node of a second network, then changes that root sequence of the code sequences assigned to the different user devices. In certain examples the access nodes are WLAN access points APs and the acknowledgements are received in response to a group probe/poll. In various embodiments the first AP monitors its neighbors' group probes/polls to learn the root sequences/basic service sets in use in those neighbor networks, or the AP's own stations monitor and send the information in neighbor reports. This latter option can be initiated by the stations themselves, or by the AP. | 11-07-2013 |
20130301605 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR RESOURCE ALLOCATION FOR SEQUENTIAL/PARALLEL WIRELESS MESSAGES - Method, apparatus, and computer program product embodiments provide signaling mechanisms for wireless networks composed of a large number of stations. An example method embodiment comprises: receiving by a wireless client device, a first message from an access point device, the first message comprising information related to resource allocation that at least partly indicates a resource allocation in time-frequency space for the wireless client device; decoding by the wireless client device, the information related to resource allocation, using a connection identifier that identifies the wireless client device within a wireless network managed by the access point device, to obtain the resource allocation in time-frequency space; and transmitting by the wireless client device to the access point device, a second message using the resource allocation in time-frequency space. | 11-14-2013 |
20130336234 | Medium Access Control Method - The exemplary embodiments of the invention relate to at least a method including receiving an indication that a first resource allocation to a device to transmit data was insufficient and there is remaining data to transmit by the device, based at least on information associated with the first resource allocation, determining a second resource allocation for the device, and sending the second resource allocation to the device in order to enable the device to transmit the remaining data. Further, there is a method including sending an indication that a first resource allocation to a device to transmit data was insufficient and there is remaining data to transmit, and in response to the sending, receiving a second resource allocation to the device to enable the device to transmit remaining data, wherein the second resource allocation is based at least on information associated with the first resource allocation. | 12-19-2013 |
20140003414 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR RESOLVING HIDDEN NODE IN SYNCHRONIZED DCF BASED CHANNEL ACCESS | 01-02-2014 |
20140071959 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR COEXISTENCE OF WIRELESS NETWORKS - Embodiments of the invention provide signaling mechanisms for wireless networks composed of a large number of stations. An example method embodiment comprises: receiving by a short-range access point in a basic service set, a beacon from a long-range access point in an overlapping basic service set, indicating a beginning and ending of a first quiet interval for short-range stations associated with the short-range access point; and transmitting by the short-range access point, a broadcast control frame, notifying the long-range access point of a second quiet interval for long-range stations associated with the long-range access point, the broadcast control frame further notifying the short-range stations associated with the short-range access point that they may access and transmit data during the second quiet interval. | 03-13-2014 |
Patent application number | Description | Published |
20120101726 | Frequency of Geographic Location Updates for an Electronic Device Based on User Communication - A method, computer program product, and system are provided to update geographic location information for an electronic device. The method can include transmitting the geographic location information for the electronic device to a server device at a first time interval. A determination can be made regarding whether the electronic device is in communication with a third-party device. If the electronic device is in communication with the third-party device, then updated geographic location information for the electronic device is transmitted to the server device at a second time interval, where the second time interval is shorter than the first time interval. | 04-26-2012 |
20120149342 | Priority Inbox Notifications and Synchronization for Mobile Messaging Application - At a client device with a display and in a method for displaying messages at the client device, the client device receives message information from a server system, the message information representing a set of messages. In accordance with a determination that the set of messages include one or more unread priority messages, where priority messages are messages that satisfy predefined message importance criteria, the device presents a new mail notification. In accordance with a determination that the set of messages do not include any unread priority messages, the device foregoes presenting a new mail notification. | 06-14-2012 |
20120316878 | VOICE RECOGNITION GRAMMAR SELECTION BASED ON CONTEXT - The subject matter of this specification can be embodied in, among other things, a method that includes receiving geographical information derived from a non-verbal user action associated with a first computing device. The non-verbal user action implies an interest of a user in a geographic location. The method also includes identifying a grammar associated with the geographic location using the derived geographical information and outputting a grammar indicator for use in selecting the identified grammar for voice recognition processing of vocal input from the user. | 12-13-2012 |
20130031616 | Methods and Systems for Enabling Multiple Accounts Support - Embodiments allow communication for a first and second account on one device to be sent and received over a single socket connection. A unique identifier may be associated with each account on the device. Communications sent from each account on the device may be encapsulated with the unique identifier for the account. Similarly, communications received for each account on the device may be encapsulated with the unique identifier for the account by a mobile endpoint. | 01-31-2013 |
20130041968 | PRIORITY INBOX NOTIFICATIONS AND SYNCHRONIZATION FOR MESSAGING APPLICATION - Systems and methods for priority inbox notifications and synchronization are disclosed. In some embodiments, a method includes, at a computer system, obtaining message information from a server system. The message information represents a set of messages and an importance score associated with each message in the set of messages. The importance score is generated based at least in part on a global importance prediction model and a user importance prediction model. A new mail notification is presented when a determination is made that the set of messages include one or more unread priority messages. The priority messages comprise messages with which the associated importance score satisfy one or more predefined message importance criteria: Optionally, presentation of a new mail notification is foregone when there is a determination that the set of messages do not include any unread priority messages. | 02-14-2013 |
20140195234 | Voice Recognition Grammar Selection Based on Content - The subject matter of this specification can be embodied in, among other things, a method that includes receiving geographical information derived from a non-verbal user action associated with a first computing device. The non-verbal user action implies an interest of a user in a geographic location. The method also includes identifying a grammar associated with the geographic location using the derived geographical information and outputting a grammar indicator for use in selecting the identified grammar for voice recognition processing of vocal input from the user. | 07-10-2014 |
20150039678 | Method for Automatically Storing New Media - Methods and systems for automatically downloading and storing media on a mobile device are provided. A method at a mobile device includes an auto-storing process, which includes receiving, at a first time within a predefined time range, a first set of media items. The first set of media items may be based on a user media preference. Next, at a second time within the predefined time range, it may be determined that at least a portion of the first set of media items has been activated. Based on the activated media items, at least one user media activation characteristic may be determined. In response to determining that at least a portion of the first set of media items has been activated, a second set of media items based on the user media activation characteristic may be received. | 02-05-2015 |
Patent application number | Description | Published |
20090089757 | Configurable Web Services System and a Method to Detect Defects in Software Applications - In accordance with a particular embodiment of the present invention, a method is offered that includes detecting one or more defects in a software application composed of heterogeneous languages using a configurable web services architecture. The detecting step further includes: capturing use cases associated with the software application and checking their validity; providing an automatic invocation of property monitors for model checking; and visualizing one or more defects in the software application for diagnosis. The detecting can further include transforming a heterogeneous software application into a homogeneous application. In more specific embodiments, the detecting further includes providing an automatic test generation for a presentation layer associated with the software application. The configuration associated with the software application can be a simple properties file. The detecting further includes simulating user behavior and generating drivers to test business logic from the use cases or scenarios. | 04-02-2009 |
20090089759 | System and Method for Providing Symbolic Execution Engine for Validating Web Applications - In accordance with a particular embodiment of the present invention, a method is offered that includes generating a symbolic string manipulation class library for one or more web applications. The manipulations are generalized into a string manipulation symbolic algebra. The method also includes performing symbolic execution for one or more web applications. Typically, a Java model checker is augmented to check for certain types of requirements or properties in performing the symbolic execution. If an error scenario exists, a solution to a set of symbolic constraints is obtained, and the solution is mapped back to a source code to obtain an error trace and a test case. In still other specific embodiments, requirements or properties are encoded through templates and checked using public domain decision procedures. The properties or requirements can relate to security validation. The symbolic execution can be customized and tuned for Java-based web applications. | 04-02-2009 |
20100125832 | Using Symbolic Execution to Check Global Temporal Requirements in an Application - In one embodiment, a method include accessing one or more global temporal requirements of an application specified using one or more requirement templates from a library of requirement templates, accessing a model of the application, generating one or more symbolic expressions of one or more of the global temporal requirements of the application, searching a state space of the application model with a model checker, monitoring the search of the state space for events in the state space encompassed by the symbolic expressions and modifying construction of a graph of the state space in response to occurrence of one or more events encompassed by the symbolic expressions, evaluating the symbolic expressions based on the graph of the state space to determine whether one or more of the global temporal requirements are valid, and communicating one or more results of the evaluation of the symbolic expressions for presentation to a user. | 05-20-2010 |
20100223599 | EFFICIENT SYMBOLIC EXECUTION OF SOFTWARE USING STATIC ANALYSIS - In one embodiment, a method includes accessing software comprising one or more inputs, one or more variables, and one or more segments of code that when executed operate on one or more of the inputs or one or more of the variables. The method includes, for every variable, determining whether the variable is relevant or irrelevant to a set of the inputs when expressed symbolically and, if the variable is relevant, instrumenting the variable and every one of the segments of code associated with the variable. A segment of code is associated with the variable if the variable affects the segment of code when executed. The method includes symbolically executing the software with every relevant variable and its associated segments of code as instrumented to test the software. | 09-02-2010 |
20100242029 | Environment Data Refinement Based on Static Analysis and Symbolic Execution - In particular embodiments, an environment for modular software analysis is generated for a software module under analysis. Irrelevancy analysis is performed on the software module to determine that, for each input datum to the software module, whether the input datum is relevant or irrelevant with respect to branch coverage of the module code. A default concrete value is assigned to each irrelevant input datum. A set of concrete values is calculated for each relevant input datum using symbolic execution. The environment is enhanced such that default concrete values are passed to the software module for the irrelevant input data and sets of concrete values generated using symbolic execution are passed to the software module for the relevant input data. The enhanced environment enables module analysis with as much as 100% branch coverage of the module code. | 09-23-2010 |
20110225568 | Providing Software Validation as a Service - In one embodiment, a method includes accessing an event-driven application input by a user, the event-driven application comprising source code, one or more use cases input by the user for the event-driven application, and one or more functional requirements input by the user for the event-driven application; parsing the use cases and the functional requirements according to the predefined syntax to construct one or more validation modules for validating the event-driven application without any modification to the source code of the event-driven application for validation purposes; formally validating the event-driven application using the validation modules without relying on assertions inserted into the source code of the event-driven application for validation purposes; and if the formal validation finds one or more defects in the event-driven application, generating output for communication to the user identifying the defects. | 09-15-2011 |
20110289488 | Generating Test Sets Using Intelligent Variable Selection and Test Set Compaction - In one embodiment, constructing one or more sets of variables corresponding to one or more input variables of a software module respectively; for each one of the sets of variables, computing an average branching depth that is affected by the set of variables; selecting a first one of the sets of variables that has the smallest average branching depth; assigning a first symbolic value to the input variable of the first set of variables; symbolically executing the software module to generate a first set of test cases for the first set of variables; optionally compacting the first set of test cases by removing the redundant tests that do not increase test coverage and selecting a minimal subset of the first set of test cases that cover all the covered conditional branch points; and validating the software module using the first set of test cases. | 11-24-2011 |
20120017117 | Solving Hybrid Constraints to Validate Specification Requirements of a Software Module - In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and validating the software module with respect to one or more requirements associated with the software module by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints, all the first and second string constraints, and all the requirements. | 01-19-2012 |
20120017119 | Solving Hybrid Constraints to Generate Test Cases for Validating a Software Module - In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and testing the software module for one or more possible errors by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints and all the first and second string constraints. | 01-19-2012 |
20120017200 | Solving Hybrid Constraints to Validate a Security Software Module for Detecting Injection Attacks - In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and verifying whether the software module is able to detect one or more forms of injection attacks by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints and all the first and second string constraints. | 01-19-2012 |
20120017201 | System and Method for Comparing Software Frameworks - In one embodiment, a method may include symbolically executing application code on a first framework. The method may also include creating a first model based on the symbolic execution of the first framework. The method may additionally include symbolically executing the application code on a second framework. The method may further include creating a second model based on the symbolic execution of the first framework. The method may also include determining one or more parameters associated with the first framework based on the first model. The method may additionally include determining one or more parameters associated with the second framework based on the second model. The method may also include selecting one of the first framework and the second framework as a desired framework for execution of the application code based on a comparison of the one or more parameters associated with the first framework and the one or more parameters associated with the second framework. | 01-19-2012 |
20120017220 | Systems and Methods for Distributing Validation Computations - In one embodiment, a method includes statically analyzing a validation toolkit environment. The method may also include, identifying a plurality of computational threads that do not share data structures with each other based on analysis of the validation toolkit environment. The method may additionally include calculating computational requirements of the computational threads. The method may further include distributing the threads among a plurality of resources such that the aggregate computational requirements of the computational threads are approximately evenly balanced among the plurality of resources. | 01-19-2012 |
Patent application number | Description | Published |
20120110550 | NODE COMPUTATION INITIALIZATION TECHNIQUE FOR EFFICIENT PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT - A method for verifying software includes determining an initialization path condition of a received software verification job, determining a termination path condition of a computing node, and initializing the execution of the received software verification job on the computing node based on the initialization path condition and the termination path condition. The initialization path condition includes a sequence of program predicates for reaching a starting state of software to be verified. The received software verification job includes an indication of a portion of the software to be verified. The termination path condition includes an indication of the last state reached during the execution of a previous software verification job on the computing node. The computing node is assigned to execute the received software verification job. | 05-03-2012 |
20120110580 | DYNAMIC AND INTELLIGENT PARTIAL COMPUTATION MANAGEMENT FOR EFFICIENT PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT - A method for verifying software includes determining the result of a bounding function, and using the result of the bounding function to apply one or more policies to the execution of the received job. The bounding function evaluates the execution of a received job, the received job indicating a portion of software to be verified. The result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other jobs. | 05-03-2012 |
20120110589 | TECHNIQUE FOR EFFICIENT PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT THROUGH INTELLIGENT DYNAMIC LOAD BALANCING - A method for verifying software includes monitoring a resource queue and a job queue, determining whether the resource queue and the job queue contain entries, and if both the resource queue and the job queue contain entries, then applying a scheduling policy to select a job, selecting a worker node as a best match for the characteristics of the job among the resource queue entries, assigning the job to the worker node, assigning parameters to the worker node for a job creation policy for creating new jobs in the job queue while executing the job, and assigning parameters to the worker node for a termination policy for halting execution of the job. The resource queue indicates worker nodes available to verify a portion of code. The job queue indicates one or more jobs to be executed by a worker node. A job includes a portion of code to be verified. | 05-03-2012 |
20120110590 | EFFICIENT PARTIAL COMPUTATION FOR THE PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT - An electronic device includes a memory, a processor coupled to the memory, and one or more policies stored in the memory. The policies include a resource availability policy determining whether the processor should continue evaluating the software, and a job availability policy determining whether new jobs will be created for unexplored branches. The processor is configured to receive a job to be executed, evaluate the software, select a branch to explore and store an initialization sequence of one or more unexplored branches if a branch in the software is encountered, evaluate the job availability policy, decide whether to create a job for each of the unexplored branches based on the job availability policy, evaluate the resource availability policy, and decide whether to continue evaluating the software at the branch selected to explore based on the resource availability policy. The job indicates of a portion of software to be evaluated. | 05-03-2012 |
20120110591 | SCHEDULING POLICY FOR EFFICIENT PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT - A method for verifying software includes accessing a job queue, accessing a resource queue, and assigning a job from the job queue to a resource from the resource queue if an addition is made to the a job queue or to a resource queue. The job queue includes an indication of one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified. The resource queue includes an indication of a one or more worker nodes available to verify a portion of software. The resource is selected by determining the best match for the characteristics of the selected job among the resources in the resource queue. | 05-03-2012 |
20120192150 | Software Architecture for Validating C++ Programs Using Symbolic Execution - Particular embodiment compile a C++ program having one or more input variables to obtain bytecode of the C++ program; compile a C++ library to obtain bytecode of the C++ library; symbolically execute the bytecode of the C++ program and the bytecode of the C++ library, comprising assign a symbolic input to each input variable of the C++ program; determine one or more execution paths in the C++ program; and for each execution path, construct a symbolic expression that if satisfied, causes the C++ program to proceed down the execution path; and generate one or more test cases for the C++ program by solving the symbolic expressions. | 07-26-2012 |
20120192162 | Optimizing Handlers for Application-Specific Operations for Validating C++ Programs Using Symbolic Execution - Particular embodiments discover a relationship between a plurality of methods of a C++ object; define one or more rules to represent the relationship; verify the rules by symbolically executing the methods; and if the rules are verified, then use the rules when symbolically executing the methods so that bytecode of the methods is not executed. | 07-26-2012 |
20120192169 | Optimizing Libraries for Validating C++ Programs Using Symbolic Execution - Particular embodiments optimize a C++ function comprising one or more loops for symbolic execution, comprising for each loop, if there is a branching condition within the loop, then rewrite the loop to move the branching condition outside the loop. Particular embodiments may further optimize the C++ function through simplified symbolic expressions and adding constructs forcing delayed interpretation of symbolic expressions during the symbolic execution. | 07-26-2012 |
20120204154 | Symbolic Execution and Test Generation for GPU Programs - In particular embodiments, a method includes accessing bytecode generated by a compiler from a software program for execution by a particular processing unit; accessing configuration information describing one or more aspects of the particular processing unit; symbolically executing the bytecode with the configuration information; and, based on the symbolic execution, generating one or more results conveying a functional correctness of the software program with respect to the particular processing unit for communication to a user and generating one or more test cases for the software program for communication to a user. | 08-09-2012 |
20120265357 | Measure Energy Consumption and Determine Energy-Consumption Patterns for Electricity-Consuming Devices - In one embodiment, one or more electronic devices access energy-consumption data at each of a plurality of electricity-consuming devices, the energy-consumption data at each of the electricity-consuming devices indicating for each of a plurality of past pre-determined time periods an aggregate energy usage by the electricity-consuming device over the past pre-determined time period, an energy-measurement unit at the electricity-consuming device having measured and recorded the aggregate energy usage by the electricity-consuming device for each of the past pre-determined time periods for later access, each of the energy-measurement units having a substantially unique identifier (ID), each of the electricity-consuming devices having its own one of the energy-measurement units; and based on the energy-consumption data, determine one or more energy-consumption patterns across the electricity-consuming devices over at least the past pre-determined time periods. | 10-18-2012 |
20120311545 | Lossless Path Reduction for Efficient Symbolic Execution and Automatic Test Generation - In one embodiment, symbolically executing a software module having a number of execution paths; and losslessly reducing the number of execution paths during the symbolic execution of the software module. | 12-06-2012 |
20130318503 | SYMBOLIC EXECUTION AND AUTOMATIC TEST CASE GENERATION FOR JAVASCRIPT PROGRAMS - A method includes, by one or more computing devices, determining JavaScript statements to be evaluated, parsing the JavaScript statements, translating the JavaScript statements into Java bytecodes and JavaScript-specific instructions, executing the Java bytecodes in a Java execution engine, calling a JavaScript run-time engine from the Java execution engine, handling one or more semantic operations associated with the JavaScript-specific instructions through use of the JavaScript run-time engine, and providing return values to the Java execution engine. The statements are configured for execution on a computing device. The set of Java bytecodes and JavaScript-specific instructions is configured to conduct symbolic execution of one or more portions of the JavaScript statements. The symbolic execution is configured to evaluate the JavaScript statements. | 11-28-2013 |
20130326485 | RULE-BASED METHOD FOR PROVING UNSATISFIABLE CONDITIONS IN A MIXED NUMERIC AND STRING SOLVER - A method includes, by computing devices, analyzing numeric and string constraints associated with a software module that includes numeric and string variables and operations applying to specific variables for numeric or string results. The numeric constraints apply to specific numeric variables. The string constraints apply to specific string variables. The method further includes determining an over-approximated constraint from the numeric constraints or operations, representing the over-approximated constraint and string constraints with finite state machines, representing the numeric constraints with an equation, determining whether a solution does not exist for the combination of the variables that satisfies the over-approximated constraint, the numeric constraints, and the string constraints using operations, and terminating attempts to solve for the variables based on the determination whether the solution does not exist. The over-approximated constraint includes a superset of the numeric constraints or operations and applies to specific string variables. | 12-05-2013 |
20140019939 | Iterative Generation of Symbolic Test Drivers for Object-Oriented Languages - A method includes, by one or more computing devices, determining instructions for a computing device to be evaluated, creating a first symbolic test driver including one or more of the instructions to be evaluated and a designation of a symbolic variable corresponding to a portion of the instructions, symbolically executing the instructions with respect to the symbolic variable, determining a test case from the results of the symbolic execution including one or more commands to execute the instructions with a given value for the symbolic variable, determining one or more calls to an object-oriented-programming component in the commands, creating a new symbolic test driver including the calls based on the determined calls, and subsequently symbolically executing the new symbolic test driver. | 01-16-2014 |
20140047217 | SATISFIABILITY CHECKING - A satisfiability checking system may include a single instruction, multiple data (SIMD) machine configured to execute multiple threads in parallel. The multiple threads may be divided among multiple blocks. The SIMD machine may be further configured to perform satisfiability checking of a formula including multiple parts. The satisfiability checking may include assigning one or more of the parts to one or more threads of the multiple threads of a first block of the multiple blocks. The satisfiability checking may further include processing the assigned one or more parts in the first block such that first results are calculated based on a first proposition. The satisfiability checking may further include synchronizing the results among the one or more threads of the first block. | 02-13-2014 |
20140053134 | SOFTWARE REGRESSION TESTING USING SYMBOLIC EXECUTION - A method of testing software may include accessing first software that includes multiple execution paths and concretely executing the first software using a test case associated with second software to traverse at least a first execution path of the execution paths. The method may also include capturing concrete execution results produced from concretely executing the first software to record the first execution path and symbolically executing the first software using a symbolic input based on the recorded first execution path. | 02-20-2014 |
20140082594 | ABSTRACT SYMBOLIC EXECUTION FOR SCALING SYMBOLIC EXECUTION GENERATION AND AUTOMATIC TEST GENERATION - A method includes, by one or more computing devices, determining code-under-test configured for execution on a computing device to be evaluated, creating a plurality of test cases based on the symbolic execution and including a plurality of constraints, selectively conducting abstract interpretation on the constraints, selectively conducting Satisfiability Modulo Theory (“SMT”) solving on the constraints, and validating or invalidating the code-under-test based on at least the SMT solving and the abstract interpretation. The abstract interpretation includes using a plurality of abstract interpretation models based on the constraints of the test case and over-approximating the constraints of the test case. | 03-20-2014 |
20140143604 | MIXED NUMERIC AND STRING CONSTRAINT ANALYSIS - A method of determining whether a set of constraints is satisfiable may include identifying a set of constraints associated with a software module. The method may also include modeling a string associated with a string constraint of the set of constraints as a parameterized array. Further, the method may include determining the satisfiability of the set of constraints based on a representation of the string constraint as a quantified expression. The satisfiability of the set of constraints may also be based on elimination of a quantifier associated with the quantified expression such that the string constraint is represented as a numeric constraint. The representation of the string constraint as a quantified expression may be based on the parameterized array that is associated with the string. | 05-22-2014 |
20140143762 | SYMBOLIC EXECUTION OF DYNAMIC PROGRAMMING LANGUAGES - A method of symbolically executing a dynamic program may include receiving a portion of a dynamic program that includes multiple objects. The method may also include symbolically executing the dynamic program including constraint solving by managing runtime states of the symbolic execution within a native symbolic executor. Managing the runtime states of the symbolic execution may include constructing an object map of two or more of the objects that are interdependent and distinguishing code portions of one of the two or more objects in the object map from data portions of the one of the two or more objects. Managing the runtime states of the symbolic execution may also include performing one or more of state copying, state backtracking, state sharing, and state spawning based on characteristics of the dynamic program using the object map and the distinguished code portions and data portions. | 05-22-2014 |
Patent application number | Description | Published |
20090094354 | TECHNIQUE FOR IMPLEMENTING VIRTUAL FABRIC MEMBERSHIP ASSIGNMENTS FOR DEVICES IN A STORAGE AREA NETWORK - A technique is provided for facilitating fabric membership login for an N_Port of a storage area network. A communication from a network node is received. The communication may include a portion of criteria associated with the N_Port. Using at least a portion of the portion of criteria, a virtual fabric identifier corresponding to a virtual fabric which is associated with the N_Port may be automatically identified. Fabric configuration information, which includes the virtual fabric identifier, may be automatically provided to the network node. A fabric login request from the N_Port to login to the virtual fabric may then be received. According to a specific embodiment, the communication may be transmitted from a network node to an F_Port on a Fibre Channel switch. When the N_Port received the fabric configuration information from the F_Port, the generating, using at least a portion of the received fabric configuration information, a fabric login request message may be generated by the N_Port which includes a fabric login request for the N_Port to login to the virtual fabric corresponding to the virtual fabric identifier. In at least one implementation, the N_Port and/or F_Port may be configured or designed to support trunking functionality. | 04-09-2009 |
20100226281 | TRUNKING WITH PORT AGGREGATION FOR FABRIC PORTS IN A FIBRE CHANNEL FABRIC AND ATTACHED DEVICES - Trunking with port aggregation for fabric ports in a Fibre Channel (FC) fabric and attached devices is described. In some examples, a method of establishing a connection between a node and the FC fabric includes: negotiating a first link between a first trunking node port in the node with a first trunking fabric port in the FC fabric; creating a trunking port channel with the first link as a first member, the trunking port channel supporting a plurality of virtual fabrics; logging in a logical interface for each of the plurality of virtual fabrics to the FC fabric over the trunking port channel; negotiating a second link between a second trunking node port in the node and a second trunking fabric port in the FC fabric; and adding the second link to the trunking port channel as a second member aggregated with the first member. | 09-09-2010 |
20100290472 | ACHIEVING ABOUT AN EQUAL NUMBER OF ACTIVE LINKS ACROSS CHASSIS IN A VIRTUAL PORT-CHANNEL ENVIRONMENT - Two or more network devices can automatically coordinate to aggregate ports into virtual port channels. Ports of the port channel can be automatically assigned priorities to achieve about an equal distribution of active links across the two or more network devices. | 11-18-2010 |
20110310729 | Maintaining balance of active links across network devices in a double-sided virtual port-channel environment - In one embodiment, a method includes configuring a first network device for operation in a first logical group with a second network device, receiving information from other network devices configured for operation in a second logical group, the information uniquely identifying each of the other network devices within the second logical group, and assigning a priority to each link connecting the first network device to the second logical group network devices. A portion of the links are selected as active links based on the link priorities and the link priorities are assigned such that a balance of active links is maintained across the second logical group network devices. An apparatus for maintaining a balance of active links across the network devices is also disclosed. | 12-22-2011 |
20150023361 | TECHNIQUE FOR IMPLEMENTING VIRTUAL FABRIC MEMBERSHIP ASSIGNMENTS FOR DEVICES IN A STORAGE AREA NETWORK - A technique is provided for facilitating fabric membership login for an N_Port of a storage area network. A communication from a network node is received. The communication may include a portion of criteria associated with the N_Port. Using at least a portion of the portion of criteria, a virtual fabric identifier corresponding to a virtual fabric which is associated with the N_Port may be automatically identified. Fabric configuration information, which includes the virtual fabric identifier, may be automatically provided to the network node. A fabric login request from the N_Port to login to the virtual fabric may then be received. According to a specific embodiment, the communication may be transmitted from a network node to an F_Port on a Fibre Channel switch. When the N_Port received the fabric configuration information from the F_Port, the generating, using at least a portion of the received fabric configuration information, a fabric login request message may be generated by the N_Port which includes a fabric login request for the N_Port to login to the virtual fabric corresponding to the virtual fabric identifier. In at least one implementation, the N_Port and/or F_Port may be configured or designed to support trunking functionality. | 01-22-2015 |
Patent application number | Description | Published |
20120287931 | TECHNIQUES FOR SECURING A VIRTUALIZED COMPUTING ENVIRONMENT USING A PHYSICAL NETWORK SWITCH - A technique for securing a virtualized computing environment includes retrieving identification information from a packet received on a physical port of a network switch. Port assignment data (maintained by one of a virtual machine monitor and a virtual machine monitor management station) for a virtual machine identified in the received packet is retrieved. The identification information from the received packet is compared with the port assignment data to determine whether the virtual machine is assigned to the port. In response to determining that the virtual machine is assigned to the port, the packet is forwarded to a destination designated in the packet. In response to determining that the virtual machine is not assigned to the port, the packet is blocked. | 11-15-2012 |
20120291028 | SECURING A VIRTUALIZED COMPUTING ENVIRONMENT USING A PHYSICAL NETWORK SWITCH - A technique for securing a virtualized computing environment includes retrieving identification information from a packet received on a physical port of a network switch. Port assignment data (maintained by one of a virtual machine monitor and a virtual machine monitor management station) for a virtual machine identified in the received packet is retrieved. The identification information from the received packet is compared with the port assignment data to determine whether the virtual machine is assigned to the port. In response to determining that the virtual machine is assigned to the port, the packet is forwarded to a destination designated in the packet. In response to determining that the virtual machine is not assigned to the port, the packet is blocked. | 11-15-2012 |
20120291034 | TECHNIQUES FOR EXECUTING THREADS IN A COMPUTING ENVIRONMENT - A technique for executing normally interruptible threads of a process in a non-preemptive manner includes in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal. In response to receiving the wake-up signal, the first thread waits for a global lock. In response to the first thread receiving the global lock, the first thread retrieves the first message from an associated message queue and processes the retrieved first message. In response to completing the processing of the first message, the first thread transmits a second wake-up signal to a second thread whose associated entry is next in the run queue. Finally, following the transmitting of the second wake-up signal, the first thread releases the global lock. | 11-15-2012 |
20120324460 | Thread Execution in a Computing Environment - A technique for executing normally interruptible threads of a process in a non-preemptive manner includes in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal. In response to receiving the wake-up signal, the first thread waits for a global lock. In response to the first thread receiving the global lock, the first thread retrieves the first message from an associated message queue and processes the retrieved first message. In response to completing the processing of the first message, the first thread transmits a second wake-up signal to a second thread whose associated entry is next in the run queue. Finally, following the transmitting of the second wake-up signal, the first thread releases the global lock. | 12-20-2012 |
20130064066 | UPDATING A SWITCH SOFTWARE IMAGE IN A DISTRIBUTED FABRIC PROTOCOL (DFP) SWITCHING NETWORK - A switching network has a plurality of switches including at least a switch and a managing master switch. At the managing master switch, a first capability vector (CV) is received from the switch. The managing master switch determines whether the first CV is compatible with at least a second CV in a network membership data structure that records CVs of multiple switches in the switching network. In response to detecting an incompatibility, the managing master switch initiates an image update to an image of the switch. In response to a failure of the image update at the switch, the switch boots utilizing a mini-DC module that reestablishes communication between the switch with the managing master switch and retries the image update. | 03-14-2013 |
20130067049 | UPDATING A SWITCH SOFTWARE IMAGE IN A DISTRIBUTED FABRIC PROTOCOL (DFP) SWITCHING NETWORK - A switching network has a plurality of switches including at least a switch and a managing master switch. At the managing master switch, a first capability vector (CV) is received from the switch. The managing master switch determines whether the first CV is compatible with at least a second CV in a network membership data structure that records CVs of multiple switches in the switching network. In response to detecting an incompatibility, the managing master switch initiates an image update to an image of the switch. In response to a failure of the image update at the switch, the switch boots utilizing a mini-DC module that reestablishes communication between the switch with the managing master switch and retries the image update. | 03-14-2013 |
20130201868 | SWITCH DISCOVERY PROTOCOL FOR A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system comprises a plurality of independent network elements interconnected by inter-switch links and assigned to a same group. Each network element includes one or more switching chips, a processor, and memory storing program code that is executed by the processor. The program code of each network element includes a switch discovery protocol (SDP) module. The SDP module of each network element, when executed, periodically multicasts SDP data units (SDPDUs) using one of a plurality of transmission rates. The plurality of transmission rates includes a fast transmission rate and a slow transmission rate. The transmission rate used by the SDP module of each network element is the fast transmission rate until the SDP module of that network element determines a criterion is met, in response to which the transmission rate used by the SDP module of that network element changes to the slow transmission rate. | 08-08-2013 |
20130201873 | DISTRIBUTED FABRIC MANAGEMENT PROTOCOL - A distributed fabric system comprises a plurality of independent network elements interconnected by inter-switch links and assigned to a same group. Each network element includes a switching chip, a processor, and memory storing program code that is executed by the processor. The program code of each network element includes a device configuration (DC) stacking module and a switch discovery protocol (SDP) module. The SDP module of each network element, when executed, discovers each other network element in the group and elects one of the network elements as a master network element. The SDP module of the master network element, when executed, sends messages to the DC-stacking module of the master network element. Each sent message identifies one of the network elements in the group. The DC stacking module of the master network element, when executed, maintains a record of all network elements that are currently members in the group. | 08-08-2013 |
20130201875 | DISTRIBUTED FABRIC MANAGEMENT PROTOCOL - A distributed fabric system comprises a plurality of independent network elements interconnected by inter-switch links and assigned to a same group. Each network element includes a switching chip, a processor, and memory storing program code that is executed by the processor. The program code of each network element includes a device configuration (DC) stacking module and a switch discovery protocol (SDP) module. The SDP module of each network element, when executed, discovers each other network element in the group and elects one of the network elements as a master network element. The SDP module of the master network element, when executed, sends messages to the DC-stacking module of the master network element. Each sent message identifies one of the network elements in the group. The DC stacking module of the master network element, when executed, maintains a record of all network elements that are currently members in the group. | 08-08-2013 |
20130201983 | SWITCH DISCOVERY PROTOCOL FOR A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system comprises a plurality of independent network elements interconnected by inter-switch links and assigned to a same group. Each network element includes one or more switching chips, a processor, and memory storing program code that is executed by the processor. The program code of each network element includes a switch discovery protocol (SDP) module. The SDP module of each network element, when executed, periodically multicasts SDP data units (SDPDUs) using one of a plurality of transmission rates. The plurality of transmission rates includes a fast transmission rate and a slow transmission rate. The transmission rate used by the SDP module of each network element is the fast transmission rate until the SDP module of that network element determines a criterion is met, in response to which the transmission rate used by the SDP module of that network element changes to the slow transmission rate. | 08-08-2013 |
20130235735 | DIAGNOSTICS IN A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system has distributed line card (DLC) chassis and scaled-out fabric coupler (SFC) chassis. Each DLC chassis includes a network processor and fabric ports. Each network processor of each DLC chassis includes a fabric interface in communication with the DLC fabric ports of that DLC chassis. Each SFC chassis includes a fabric element and fabric ports. A communication link connects each SFC fabric port to one DLC fabric port. Each communication link includes cell-carrying lanes. Each fabric element of each SFC chassis collects per-lane statistics for each SFC fabric port of that SFC chassis. Each SFC chassis includes program code that obtains the per-lane statistics collected by the fabric element chip of that SFC chassis. A network element includes program code that gathers the per-lane statistics collected by each fabric element of each SFC chassis and integrates the statistics into a topology of the entire distributed fabric system. | 09-12-2013 |
20130235762 | MANAGEMENT OF A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system has distributed line card (DLC) chassis and scaled-out fabric coupler (SFC) chassis. Each DLC includes a network processor and fabric ports. Each network processor of each DLC includes a fabric interface in communication with the fabric ports of that DLC. Each SFC includes at least one fabric element and SFC fabric ports. A fabric communication link connects each SFC fabric port to one DLC fabric port. Each fabric communication link includes cell-carrying lanes. Each fabric element of each SFC detects connectivity between each SFC fabric port of that SFC and one DLC fabric port over a fabric communication link. Each SFC includes program code that reads connectivity matrix from fabric element chips and sends connection information corresponding to the detected connectivity from that SFC to a central agent. A network element includes the central agent, which, when executed, constructs a topology of the distributed fabric system from the connection information sent from each SFC. | 09-12-2013 |
20130235763 | MANAGEMENT OF A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system has distributed line card (DLC) chassis and scaled-out fabric coupler (SFC) chassis. Each DLC includes a network processor and fabric ports. Each network processor includes a fabric interface in communication with the fabric ports of that DLC. Each SFC includes at least one fabric element and SFC fabric ports. A fabric communication link connects each SFC fabric port to one DLC fabric port. Each fabric communication link includes cell-carrying lanes. Each fabric element detects connectivity between each SFC fabric port of that SFC and one DLC fabric port over a fabric communication link. Each SFC reads a connectivity matrix from fabric element chips and sends connection information corresponding to the detected connectivity from that SFC to a central agent. A network element includes the central agent, which, when executed, constructs a topology of the distributed fabric system from the connection information sent from each SFC. | 09-12-2013 |
20130259038 | COMMUNICATION TRANSPORT PROTOCOL FOR DISTRIBUTED INFORMATION TECHNOLOGY ARCHITECTURES - A communication protocol in a layer two (L2) network switch comprises, in response to a service request by a source node, registering the source node for packet communication service. The protocol further comprises forwarding one or more packets from the registered source node to one or more destination nodes. The protocol further comprises receiving packets from one or more destination nodes and forwarding each received packet to a corresponding registered node. | 10-03-2013 |
20130259040 | COMMUNICATION TRANSPORT PROTOCOL FOR DISTRIBUTED INFORMATION TECHNOLOGY ARCHITECTURES - A communication protocol in a layer two (L2) network switch comprises, in response to a service request by a source node, registering the source node for packet communication service. The protocol further comprises forwarding one or more packets from the registered source node to one or more destination nodes. The protocol further comprises receiving packets from one or more destination nodes and forwarding each received packet to a corresponding registered node. | 10-03-2013 |
20140007232 | METHOD AND APPARATUS TO DETECT AND BLOCK UNAUTHORIZED MAC ADDRESS BY VIRTUAL MACHINE AWARE NETWORK SWITCHES | 01-02-2014 |
20140052771 | REMOTE PROCEDURE CALL FOR A DISTRIBUTED SYSTEM - A distributed system includes first-tier entities, and a master entity in communication with each first-tier entity. The master entity provides a single access point through which an administrator can submit commands to manage all entities. The master entity maintains a table of virtual slots. Each virtual slot points to one of the first-tier entities, and each first-tier entity is pointed to by at least one virtual slot. The processor runs an RPC (remote procedure call) client to submit RPC requests to the first-tier entities, and determines a destination first-tier entity for a given RPC request in response to which virtual slot the administrator submits a command. The distributed system can include second-tier entities, each indirectly communicating with the master entity through a first-tier entity. The table has a virtual slot for each second-tier entity, which points to the first-tier entity acting as proxy for the second-tier entity. | 02-20-2014 |
20140064105 | DIAGNOSTICS IN A DISTRIBUTED FABRIC SYSTEM - A distributed fabric system has distributed line card (DLC) chassis and scaled-out fabric coupler (SFC) chassis. Each DLC chassis includes a network processor and fabric ports. Each network processor of each DLC chassis includes a fabric interface in communication with the DLC fabric ports of that DLC chassis. Each SFC chassis includes a fabric element and fabric ports. A communication link connects each SFC fabric port to one DLC fabric port. Each communication link includes cell-carrying lanes. Each fabric element of each SFC chassis collects per-lane statistics for each SFC fabric port of that SFC chassis. Each SFC chassis includes program code that obtains the per-lane statistics collected by the fabric element chip of that SFC chassis. A network element includes program code that gathers the per-lane statistics collected by each fabric element of each SFC chassis and integrates the statistics into a topology of the entire distributed fabric system. | 03-06-2014 |
20140067924 | REMOTE PROCEDURE CALL FOR A DISTRIBUTED SYSTEM - A distributed system includes first-tier entities, and a master entity in communication with each first-tier entity. The master entity provides a single access point through which an administrator can submit commands to manage all entities. The master entity maintains a table of virtual slots. Each virtual slot points to one of the first-tier entities, and each first-tier entity is pointed to by at least one virtual slot. The processor runs an RPC (remote procedure call) client to submit RPC requests to the first-tier entities, and determines a destination first-tier entity for a given RPC request in response to which virtual slot the administrator submits a command. The distributed system can include second-tier entities, each indirectly communicating with the master entity through a first-tier entity. The table has a virtual slot for each second-tier entity, which points to the first-tier entity acting as proxy for the second-tier entity. | 03-06-2014 |
20140098820 | CENTRALIZED CONTROL AND MANAGEMENT PLANES FOR DIFFERENT INDEPENDENT SWITCHING DOMAINS - A network includes a first switching domain having a distributed fabric comprised of interconnected standalone switches. The standalone switches communicate with each other in accordance with a packet-based distributed fabric protocol. A second switching domain has a plurality of cell-based switches in communication with a cell-based switch fabric. The cell-based switches communicate with each other through the cell-based switch fabric in accordance with a cell-based distributed fabric protocol. One of the cell-based switches is coupled by a communication link to one of the standalone switches of the first switching domain. The second switching domain includes a server device coupled to one of the cell-based switches. The server device is configured with logic to process control packets for the standalone switches in accordance with the packet-based distributed fabric protocol and control packets for the cell-based switches in accordance with a protocol that is different from the packet-based distributed fabric protocol. | 04-10-2014 |
20140254607 | CENTRALIZED CONTROL AND MANAGEMENT PLANES FOR DIFFERENT INDEPENDENT SWITCHING DOMAINS - A network includes a first switching domain having a distributed fabric comprised of interconnected standalone switches. The standalone switches communicate with each other in accordance with a packet-based distributed fabric protocol. A second switching domain has a plurality of cell-based switches in communication with a cell-based switch fabric. The cell-based switches communicate with each other through the cell-based switch fabric in accordance with a cell-based distributed fabric protocol. One of the cell-based switches is coupled by a communication link to one of the standalone switches of the first switching domain. The second switching domain includes a server device coupled to one of the cell-based switches. The server device is configured with logic to process control packets for the standalone switches in accordance with the packet-based distributed fabric protocol and control packets for the cell-based switches in accordance with a protocol that is different from the packet-based distributed fabric protocol. | 09-11-2014 |
Patent application number | Description | Published |
20090006181 | Capturing and utilizing consumer purchase intent information - System and method for capturing and utilizing consumer purchase intent information comprise obtaining item information, from a user, in a plurality of formats from a plurality of sources, extracting keywords from the item information, organizing item information and keywords in a shopping list, and enabling a display of the shopping list to the user. | 01-01-2009 |
20090015374 | USER AUTHENTICATION SYSTEM AND METHOD - A system and method of, and a service that employs, user authentication each employs a bluecard created by the service and stored on a personal trusted device (PTD). The system includes the service and the bluecard. The bluecard includes a unique identifier derived from a hardware address of the PTD. The PTD and the service communicate with one another over a personal area network (PAN) during user authentication. The method includes creating the bluecard and pushing the bluecard onto the PTD using an object exchange (OBEX) protocol of the PAN. The service includes a terminal and the created bluecard. The terminal has the PAN that communicates with the PTD. The bluecard is subsequently sent to the service from the PTD for user authentication via the PAN. | 01-15-2009 |
20100079239 | Repurposing User Identity Tokens - An exemplary method for repurposing user identity tokens comprises receiving identification information from a user, the user having an existing user identity token and seeking to repurpose the token, obtaining a repurpose identifier associated with the user, enabling a configuration of an identification tag based on the repurpose identifier, and associating the identification tag with the identity token. | 04-01-2010 |
20100094701 | Virtual redeemable offers - Systems, methods, and other embodiments associated with tracking in store consumer behavior are described. One example method includes receiving a product tag data (PTD) and a personal data (PD) from a portable digital device (PDD). The PTD is associated with a scan of a product tag of a product. The example method may also include storing the PTD and the PD in a database. The example method may also include creating a virtual redeemable offer (VRO) based, at least in part, on an analysis of the PD, the PTD associated with the scan, and a product information (PI) associated with the product tag. The PI may be stored in the database and describes the product. The example method may also include providing the CRVC to the PDD. | 04-15-2010 |
20100205211 | System and Method for Generating a User Profile - A system and method is disclosed for generating a user profile. The method discloses: receiving a user profile request from a profile requester; identifying profile fragments with a profile mediator, from existing profiles in a profile corpus which are responsive to the user profile request; aggregating the identified profile fragments into the user profile response; and transmitting the user profile response to the profile requestor. The system discloses various means and modules for effecting the method. | 08-12-2010 |
20100281427 | SELECTING ONE OF PLURAL USER PROFILE PERSONAE BASED ON CONTEXT - A context relating to a service accessed in response to a request responsive to user action is determined. Based on the determined context, at least one of plural, different user profile personae is selected. The selected at least one user profile persona contains information useable during access of the service. | 11-04-2010 |
20120095805 | ACQUIRING CUSTOMER INSIGHT IN A RETAIL ENVIRONMENT - The present disclosure provides a computer-implemented method of acquiring customer insight information in a retail environment. The method includes receiving a product interaction from a mobile device, the product interaction comprising a product identifier corresponding to a product located in the retail environment. The method also includes determining a customer location within the retail environment based on a planned location of the product. The method also includes performing a business action based, at least in part, on the product interaction. The method also includes storing customer insight information corresponding to the product interaction to a data structure. | 04-19-2012 |
20120317049 | SELECTING SENTIMENT ATTRIBUTES FOR VISUALIZATION - Data records containing user feedback regarding at least one offering are received. From among candidate attributes in the received data records, a subset of attributes that relate to user sentiment regarding the at least one offering is selected, where the selecting is according to selection criteria including frequency of occurrence of the candidate attributes, relative amounts of negative and positive feedback associated with the candidate attributes, and time density of feedback associated with the candidate attributes. A visualization of at least one sentiment characteristic of the selected subset of attributes that relate to user sentiment is presented for display. | 12-13-2012 |
20130103385 | PERFORMING SENTIMENT ANALYSIS - There is provided a computer-implemented method of performing sentiment analysis. An exemplary method comprises performing a first sentiment analysis on microblogging data based on a method using an opinion lexicon. The method also includes training a classifier using training data from the first sentiment analysis. Additionally, the method includes identifying a new opinion term in the microblogging data by performing a statistical test. The new opinion terms are not in the opinion lexicon. The method also includes identifying new microblogging data based on the new opinion term. Further, the method includes performing a second sentiment analysis on the new microblogging data using the classifier. | 04-25-2013 |
20130103386 | PERFORMING SENTIMENT ANALYSIS - There is provided a computer-implemented method of performing sentiment analysis. An exemplary method comprises identifying one or more sentences in a microblog. The microblog comprises an entity. The method further includes identifying one or more opinion words in the sentences based on an opinion lexicon. Additionally, the method includes determining, for each of the sentences, an opinion value for the entity. The opinion value is determined based on an opinion value for each of the opinion words in an opinion lexicon. | 04-25-2013 |
20130253907 | INTENTION STATEMENT VISUALIZATION - An example system includes an extraction module, an intention processing module, and an intention visualization module. The extraction module is configured to ingest textual data from a text source. The intention processing module is configured to process the textual data and identify one or more intention statements within the textual data. The intention visualization module is configured to provide an interactive interface that facilitates filtering and visualization of aspects of the one or more intention statements. | 09-26-2013 |
20130259362 | ATTRIBUTE CLOUD - An example system includes at least one memory and at least one processing device. The at least one memory comprises instructions that when executed by the at least one processing device cause the system to receive a text corpus, filter the text corpus to obtain a plurality of attributes, determine the semantic cohesion between the plurality of attributes, and create an attribute cloud including the plurality of attributes, where the placement of the plurality of attributes within the attribute cloud is based at least in part on the determined semantic cohesion between the plurality of attributes. | 10-03-2013 |
20130263019 | ANALYZING SOCIAL MEDIA - A system, method and a non-transitory computer readable medium comprising instructions for automated analysis of for analyzing social media, the method comprising a processor to acquire data as a snapshot or a continuous stream from one or more online sites via adapters. Storing data in a database, the database configured for rapid acquisition of data and rapid responses to queries from one or a plurality of users. Analyzing the data using one or a plurality of algorithms, the algorithms configured to distill insight at an attribute level, and presenting one or a plurality of graphical user interfaces on a user-configurable, and temporal-view adjustable dashboard, the dashboard configured to present one or more results of said one or a plurality of algorithms, said one or more results depicted through one or a plurality of paradigms of data visualization. | 10-03-2013 |
20130325440 | GENERATION OF EXPLANATORY SUMMARIES - A method for generating sum maries of text is described. The method includes the step of extracting features from text of text lists from summaries. The explanatoriness of the text is then evaluated, wherein evaluating the explanatoriness of text includes evaluating the features of the text, including at least the step of evaluating the discriminativeness of the features of the text by comparing the text to a first text data set, wherein the first text data set is derived from a topic label. The evaluated text is then ranked based on the explanatoriness evaluation. | 12-05-2013 |
20140039876 | EXTRACTING RELATED CONCEPTS FROM A CONTENT STREAM USING TEMPORAL DISTRIBUTION - A system may include an analysis engine to generate a set of candidate phrases from a content stream based on the temporal resolution, the interestingness, and/or the correlation of the candidate phrases. | 02-06-2014 |
20140108455 | Capturing Intentions Within Online Text - A method of capturing intentions within online text comprises with a data mining device ( | 04-17-2014 |
20140297261 | SYNONYM DETERMINATION AMONG N-GRAMS - A technique includes obtaining a plurality of n-grams from a plurality of messages, determining a temporal histogram for each n-gram, and determining synonyms among the n-grams based on a combination of a correlation of the histograms and a distance measure between n-grams. | 10-02-2014 |
Patent application number | Description | Published |
20110307464 | System And Method For Identifying Trending Targets Based On Citations - A new approach is proposed that contemplates systems and methods to identify trending objects that are targets of citations without actually conducting a search. Under the approach, a score is accumulated for each object as a function of the count of citations and influence of the citing subjects/sources/authors within a given time period starting from the timestamp of the earliest citation of the object. A threshold on the score can be predicted or predetermined, which only a certain number but not all of objects are able to exceed. The objects which scores exceed the said threshold are then identified as trending objects within its relevant categories without actually conducting a search and without having to wait for the given time period to be concluded. Finally, a list of top-ranking objects that have been identified is generated and presented to the user. | 12-15-2011 |
20110307465 | System and method for metadata transfer among search entities - A new approach is proposed that contemplates systems and methods to ascribe or transfer metadata from one search-related entity to another, where each entity can be one of subject or source, citation, and object or target. First, one or more complete or incomplete attributes associated with one or more of entities across source, citation and target are identified with a high degree of probable accuracy, wherein such metadata or attributes include but are not limited to, time, language, and location of the entities. The identified attributes are then ascribed or transferred from one entity where the metadata is available to other search entities. Finally, the transferred attributes can be utilized to facilitate the selection and ranking of the cited targets for the search result. | 12-15-2011 |
20110307466 | System and method for determining quality of cited objects in search results based on the influence of citing subjects - A new approach is proposed that contemplates systems and methods to examine and determine quality of objects cited by citations in a search result based on a citation graph that includes citing subjects, citations, and cited objects. First, influence scores of a plurality of subjects/sources that compose the citations of the objects in the search result are calculated. The quality of the objects cited by the subjects can then be determined by examining the influence scores for the subjects of the citations. Finally, the cited objects selected can be presented to a user or provided to a thirty party for further processing together with the relevant citations and citing subjects. | 12-15-2011 |
20110307469 | System and method for query suggestion based on real-time content stream - A new approach is proposed that contemplates systems and methods to provide query suggestions including real-time suggestion of complete query terms, which can be phrases, to a user by analyzing and indexing the real-time history/stream of content or documents in addition to the stream of queries entered. Since the real-time indexing generates a count of potential results for each term found and/or indexed in the stream, the terms found in that stream can then be used as potential query suggestions, knowing that it will be possible to provide results for those queries. | 12-15-2011 |
20110313986 | System and method for query temporality analysis - A new approach is proposed that contemplates systems and methods to determine temporality of a query in order to generate a search result including a list of objects that are not only based on matching of the objects to the query but also based on temporality analysis of the query. Here, the temporality of the query can be defined as the distribution over time of the objects matching the query, i.e., the chronology histogram of the query. Such distribution can be analyzed to provide a classification of the intent of the query. Classification of the intent of the query can result either in discrete classification of the query into categories, or in continuous classification of the query which may be a scalar or vector value resulting from transformations of the chronology histogram. | 12-22-2011 |
20110313987 | System and method for search of sources and targets based on relative expertise of the sources - A new approach is proposed that contemplates systems and methods to provide a ranking of citied objects and citing subjects identified as results of a search, where the relative expertise of subjects or sources of citations to said targets or objects is considered. The relative expertise is a function of the share of the subject's citations matching the query term or search criteria relative to the share of all subjects' citations matching the query term, weighted by the influence of the subjects. This allows the identification of “experts” on “topics” without any pre-defined categorization of topics or pre-computation of expertise. Under this novel approach, expertise can be determined on any query term in real-time. | 12-22-2011 |
20110313988 | System and method for search of sources and targets based on relative topicality specialization of the targets - A new approach is proposed that contemplates systems and methods to provide a ranking of subjects or objects identified as results of a search, where “topicality specialization” and “relative topicality specialization” of the objects is computed and considered. The relative topicality specialization of an object is a function of the share of citations for the object matching the query term among all citations for all objects matching the query term. The computation of the topicality specialization and the relative topicality specialization for objects allow the identification of “specialized objects” for “topics” without any pre-defined categorization of topics or pre-computation of expertise. | 12-22-2011 |
20110313989 | System and method for customizing search results from user's perspective - A new approach is proposed that contemplates systems and methods to generate customized subjective search results from the perspective of a user who conducts the search or any other subject entity of chosen by the user. A scored subject list is created from the user's network of sources/subjects/contacts, where each element on the list is a subject/source and the score reflects the subject's potential influence or closeness of its connection/relation with the user. Once created, the subject list is then used as a bias filter on the list of citations from search results. With such influence-weighted citation scores, objects and/or subjects from citations of subjects that have big influence on or enjoy high respect from the user will be ranked prominently in the search result presented to the user, thus biasing the search results from the user's perspective. | 12-22-2011 |
20120239637 | System and method for determining quality of cited objects in search results based on the influence of citing subjects - A new approach is proposed that contemplates systems and methods to examine and determine quality of objects cited by citations in a search result based on a citation graph that includes citing subjects, citations, and cited objects. First, influence scores of a plurality of subjects/sources that compose the citations of the objects in the search result are calculated. The quality of the objects cited by the subjects can then be determined by examining the influence scores for the subjects of the citations. Finally, the cited objects selected can be presented to a user or provided to a thirty party for further processing together with the relevant citations and citing subjects. | 09-20-2012 |
20120278298 | System and method for query temporality analysis - A new approach is proposed that contemplates systems and methods to determine temporality of a query in order to generate a search result including a list of objects that are not only based on matching of the objects to the query but also based on temporality analysis of the query. Here, the temporality of the query can be defined as the distribution over time of the objects matching the query, i.e., the chronology histogram of the query. Such distribution can be analyzed to provide a classification of the intent of the query. Classification of the intent of the query can result either in discrete classification of the query into categories, or in continuous classification of the query which may be a scalar or vector value resulting from transformations of the chronology histogram. | 11-01-2012 |
20120284248 | System and method for metadata transfer among search entities - A new approach is proposed that contemplates systems and methods to ascribe or transfer metadata from one search-related entity to another, where each entity can be one of subject or source, citation, and object or target. First, one or more complete or incomplete attributes associated with one or more of entities across source, citation and target are identified with a high degree of probable accuracy, wherein such metadata or attributes include but are not limited to, time, language, and location of the entities. The identified attributes are then ascribed or transferred from one entity where the metadata is available to other search entities. Finally, the transferred attributes can be utilized to facilitate the selection and ranking of the cited targets for the search result. | 11-08-2012 |
20120284253 | System and method for query suggestion based on real-time content stream - A new approach is proposed that contemplates systems and methods to provide query suggestions including real-time suggestion of complete query terms, which can be phrases, to a user by analyzing and indexing the real-time history/stream of content or documents in addition to the stream of queries entered. Since the real-time indexing generates a count of potential results for each term found and/or indexed in the stream, the terms found in that stream can then be used as potential query suggestions, knowing that it will be possible to provide results for those queries. | 11-08-2012 |
20120290551 | System And Method For Identifying Trending Targets Based On Citations - A new approach is proposed that contemplates systems and methods to identify trending objects that are targets of citations without actually conducting a search. Under the approach, a score is accumulated for each object as a function of the count of citations and influence of the citing subjects/sources/authors within a given time period starting from the timestamp of the earliest citation of the object. A threshold on the score can be predicted or predetermined, which only a certain number but not all of objects are able to exceed. The objects which scores exceed the said threshold are then identified as trending objects within its relevant categories without actually conducting a search and without having to wait for the given time period to be concluded. Finally, a list of top-ranking objects that have been identified is generated and presented to the user. | 11-15-2012 |
20120290552 | System and method for search of sources and targets based on relative topicality specialization of the targets - A new approach is proposed that contemplates systems and methods to provide a ranking of subjects or objects identified as results of a search, where “topicality specialization” and “relative topicality specialization” of the objects is computed and considered. The relative topicality specialization of an object is a function of the share of citations for the object matching the query term among all citations for all objects matching the query term. The computation of the topicality specialization and the relative topicality specialization for objects allow the identification of “specialized objects” for “topics” without any pre-defined categorization of topics or pre-computation of expertise. | 11-15-2012 |
20130091087 | Systems and methods for prediction-based crawling of social media network - A new approach is proposed that contemplates systems and methods to support efficient crawling of a social media network based on predicted future activities of each user on the social network. First, data related to a user's past activities on a social network are collected and a pattern of the user's past activities over time on the social network is established. Based on the established pattern on the user's past activities, predictions about the user's future activities on the social network can be established. Such predictions can then be used to determine the collection schedule—timing and frequency—to collect data on the user's activities for future crawling of the social network. | 04-11-2013 |
20130110928 | Systems and methods for sentiment detection, measurement, and normalization over social networks | 05-02-2013 |
20130218862 | System and method for customizing analytics based on users media affiliation status - A new approach is proposed that contemplates systems and methods to generate customized search results as well as metrics, such as aggregated sentiment, counts of targets or sources or citations, or aggregated gross impressions or exposure, of social media content items over a social network while discriminating between the perspectives of individuals from the media and individuals not from the media. This approach can be used to generate search results and/or metrics including only media perspectives, or excluding media perspectives. More specifically, while social media content items are retrieved from corpus based on certain search criteria, for the purpose of providing search results or providing aggregated metrics, the search criteria can include a media or non-media filter, which is applied to the authors posting social media content to exclude or include certain authors meeting media/non-media criteria. For the application of a non-media filter, content from media authors can be excluded, or ranked below content from non-media authors. Similarly, for a media filter, content from non-media authors can be excluded, or ranked below content from media authors. | 08-22-2013 |
20130297581 | Systems and methods for customized filtering and analysis of social media content collected over social networks - A new approach is proposed that contemplates systems and methods to filter and/or rank a plurality of content items retrieved from a social network based on the sentiments expressed by the authors of the content items and/or the influence level of the authors over the social network. First, content items matching a set of keywords submitted by a user are retrieved from the social network. The sentiments and/or the influence levels of the authors of these content items are then identified in real time. Once identified, the sentiments and/or influence levels of the authors are used to filter and/or rank the retrieved content items to generate a search result that matches with the sentiment and/or influence level specified by the user. Finally, the customized search result based on the sentiments and/or the influence levels of the authors is presented to the user. | 11-07-2013 |
20130297694 | Systems and methods for interactive presentation and analysis of social media content collection over social networks - A new approach is proposed that contemplates systems and methods to provide a comprehensive platform that enables a user to interactively measure, display, and analyze various characteristics of the social content items collected over a social media network in real time. The top content items, such as posts, links, photos, and videos that contains a set of query terms and are currently trending (mentioned frequently) or trending over a period of time are identified via various measurements and presented to a user. The user is then enabled to selectively and interactively view and analyze the content items presented based on the various metrics that unique to social media content items, such as the mentions (e.g., retweets) of the content items, the authors of the content items, and the spreading of the content items. | 11-07-2013 |
20130304818 | Systems and methods for discovery of related terms for social media content collection over social networks - A new approach is proposed that contemplates systems and methods to discover one or more terms related to one or more query terms submitted by a user for search over a social media network, wherein the related terms discovered are trending and co-occurring with the submitted query terms over the social media network during a specific period of time. The terms related to the submitted keywords can be discovered based on based on various measurements that measure the trending characteristics of the terms in the social media content items collected over a period of time. Once the terms related to the submitted keywords have been discovered, they can be utilized to search or perform aggregated metrics and analytics on the social network together with the user-submitted query terms for content items containing all or most of the query terms and/or the related terms, wherein such content items obtained are presented as the search result to the user or subject to aggregate metrics and analytics presented to the user. | 11-14-2013 |
20140040371 | Systems and methods for identifying geographic locations of social media content collected over social networks - A new approach is proposed that contemplates systems and methods to identify geographic locations of all social media content items retrieved form a social network in real time, wherein the geographic locations are physical locations from which the social media content items are originated or authored. If the latitude/longitude (geographic) coordinates of the content item are available, the geographic location of the social media content item can be identified using such geographic coordinates. For content items which geographic coordinates are not available, historical archive of content items with high-confidence of geographic locations are utilized to train a location classifier to predict geographic locations of such content items with high accuracy. Finally, the identified locations of the content items are confirmed to be accurate and are presented to a user together with the content items. | 02-06-2014 |
20140250112 | Systems and methods using reputation or influence scores in search queries - One or more processors determine reputation scores for one or more subjects based on connections. One or more processors use a plurality of citations, with each citation representing an expression of opinion or description by a subject on an object. One or more processors select a subset of citations for each object from the citations citing each object. The content of the citations matches one or more search terms for a search query. One or more processors assign citation scores to a subset of a plurality of objects. The citation scores indicate relevance of the objects cited by citations and are determined based at least in part on matching one or more search terms with the content of the citations of the objects by the one or more subjects. The selection scores for an object are determined for each search query based on a subset of subjects citing the object. | 09-04-2014 |
Patent application number | Description | Published |
20100143486 | POLYETHYLENE GLYCOL-COATED SODIUM CARBONATE AS A PHARMACEUTICAL EXCIPIENT AND COMPOSITIONS PRODUCED FROM THE SAME - Non-effervescent pharmaceutical compositions having at least one particle of carbonate coated by a layer of polyethylene glycol that substantially covers the at least one carbonate particle are described. Compositions are also described where the compositions include a weakly basic therapeutic agent, a first pH-modifying agent having at least one particle of carbonate coated by a layer of polyethylene glycol, and a second pH-modifying agent. The weakly basic therapeutic agent could, but is not limited to, be zolpidem or scopolamine. Compositions including zolpidem and scopolamine are used to treat insomnia and depression, respectively. | 06-10-2010 |
20100266682 | POLYETHYLENE GLYCOL-COATED SODIUM CARBONATE AS A PHARMACEUTICAL EXCIPIENT AND COMPOSITIONS PRODUCED FROM THE SAME - Non-effervescent pharmaceutical compositions having at least one particle of carbonate coated by a layer of polyethylene glycol that substantially covers the at least one carbonate particle are described. Compositions are also described where the compositions include a weakly basic therapeutic agent, a first pH-modifying agent having at least one particle of carbonate coated by a layer of polyethylene glycol, and a second pH-modifying agent. The weakly basic therapeutic agent could be, but is not limited to, zolpidem or scopolamine. Compositions including zolpidem and scopolamine are used to treat insomnia and depression, respectively. | 10-21-2010 |
20120128730 | COMPOSITIONS AND METHODS FOR ONCE-DAILY TREATMENT OF OBSESSIVE COMPULSIVE DISORDER WITH ONDANSETRON - Compositions for once-daily administration of ondansetron are described. Compositions include a core, a semi-permeable membrane disposed generally around the core, an orifice in the semi-permeable membrane in fluid communication with the core, and a coating having a first therapeutically effective dose of ondansetron or a pharmaceutically acceptable salt disposed generally around the semi-permeable membrane. The core includes first, second, and third layers. The first layer is in fluid communication with the orifice. The second layer includes a second therapeutically effective dose of ondansetron or a pharmaceutically acceptable salt and is located adjacent to the first layer. The third layer is located adjacent the second layer. Methods for treating obsessive compulsive disorder by administering these compositions are also described. | 05-24-2012 |
20120128778 | COMPOSITIONS AND METHODS FOR ONCE-DAILY ADMINISTRATION OF A TRILAYER OSMOTIC TABLET - A trilayer osmotic tablet is described. The tablet includes a core, a semi-permeable membrane disposed generally around the core, and an orifice in the semi-permeable membrane in fluid communication with the core. The core includes first, second, and third layers. The first layer is in fluid communication with the orifice. The second layer includes a therapeutically effective dose of a drug and is located adjacent to the first layer. The third layer is located adjacent the second layer. The tablet may include a coating having therapeutically effective doses of at least one additional drug disposed in the coating that generally surrounds the semi-permeable membrane. The at least one additional drug in the coating may be the same or different from the drug in the trilayer core. Methods for treating epilepsy, psychiatric disorders, asthma, and peptic ulcer disease by administering these compositions are also described. | 05-24-2012 |
20130122099 | POLYETHYLENE GLYCOL-COATED SODIUM CARBONATE AS A PHARMACEUTICAL EXCIPIENT AND COMPOSITIONS PRODUCED FROM THE SAME - Non-effervescent pharmaceutical compositions having at least one particle of carbonate coated by a layer of polyethylene glycol that substantially covers the at least one carbonate particle are described. Compositions are also described where the compositions include a weakly basic therapeutic agent, a first pH-modifying agent having at least one particle of carbonate coated by a layer of polyethylene glycol, and a second pH-modifying agent. The weakly basic therapeutic agent could be, but is not limited to, zolpidem or scopolamine. Compositions including zolpidem and scopolamine are used to treat insomnia and depression, respectively. | 05-16-2013 |
Patent application number | Description | Published |
20090064993 | SOLAR ENERGY CONCENTRATOR - A solar concentrator having a concentrator element for collecting input light, a reflective component with a plurality of incremental steps for receiving the light and also for redirecting the light, and a waveguide including a plurality of incremental portions enabling collection and concentration of the light. | 03-12-2009 |
20090067784 | COMPACT OPTICS FOR CONCENTRATION, AGGREGATION AND ILLUMINATION OF LIGHT ENERGY - A solar concentrator having a concentrator element for collecting input light, a redirecting component with a plurality of incremental steps for receiving the light and also for redirecting the light, and a waveguide including a plurality of incremental portions enabling collection and concentration of the light onto a receiver. Other systems replace the receiver by a light source so system optics can provide illumination. | 03-12-2009 |
20100142891 | COMPACT OPTICS FOR CONCENTRATION, AGGREGATION AND ILLUMINATION OF LIGHT ENERGY - A solar concentrator having a concentrator element for collecting input light, a redirecting component with a plurality of incremental steps for receiving the light and also for redirecting the light, and a waveguide including a plurality of incremental portions enabling collection and concentration of the light onto a receiver. Other systems replace the receiver by a light source so system optics can provide illumination. | 06-10-2010 |
20110096426 | COMPACT OPTICS FOR CONCENTRATION AND ILLUMINATION SYSTEMS - An optical concentrator having a concentrating element for collecting input light, a redirecting element for receiving the light and also for redirecting the light, and a waveguide including a plurality of incremental portions enabling collection and concentration of the light onto a receiver. Other systems replace the receiver by a light source so the optics can provide illumination. | 04-28-2011 |
20110132432 | SOLAR MODULE CONSTRUCTION - Various embodiments of a solar module design are disclosed. In some embodiments, a solar module comprises an optic having a sloped waveguide profile. The optic of the solar module is directly coupled to a receiver comprising a solar cell. The receiver is also coupled to a backplane of the module. | 06-09-2011 |
20120099325 | REDIRECTING OPTICS FOR CONCENTRATION AND ILLUMINATION SYSTEMS - An optical system having an optical waveguide for collecting light, a receiver for receiving the light, and redirecting optics for transferring the light from the optical waveguide to the receiver. The optical system can be used for concentrating light such as in solar applications. The optical system can also be used for diffusing light in illumination applications by replacing the receiver with a light source such that the light flows in the reverse of the concentration system. | 04-26-2012 |
20140268809 | REDIRECTING OPTICS FOR CONCENTRATION AND ILLUMINATION SYSTEMS - An optical system having an optical waveguide for outputting light, a receiver for receiving the light, and redirecting optics for outputting the light from the optical waveguide. The optical system can be used for light illumination. The optical system can further be used for diffusing light in illumination applications by replacing the receiver with a light source such that the light flows in the reverse of the concentration system. | 09-18-2014 |
Patent application number | Description | Published |
20090303156 | SYSTEM AND METHOD FOR LOW BANDWIDTH DISPLAY INFORMATION TRANSPORT - A digital video transmission system that operates with three different video rendering paths. A first rendering path operates by receiving display requests and rendering bit-mapped graphics in a local screen buffer. The display information in that local screen buffer is then encoded and transmitted to a remote display system that recreates the content of that local screen buffer in a video buffer of remote display system. A second rendering path operates by receiving encoded video stream requests that can be decoded by the remote display system. Such encoded video streams are sent to the remote display system with minimal addition transport encoding. The third rendering path handles encoded video streams that cannot be handled natively by the remote display system. Such video streams may be either transcoded before transmission or decoded and stored within the local screen buffer. | 12-10-2009 |
20100306838 | METHOD AND APPARATUS FOR COPY PROTECTING A DIGITAL ELECTRONIC DEVICE - A device and a method of authenticating an electronic device are described. The method may comprise transmitting a token value and a parameter value to the electronic device and selecting a private key within the electronic device using the parameter value. The token value may be processed with a method selected by the parameter value to generate a processed token. The processed token may be compared with an expected processed token and the electronic device may be authenticated if the processed token compares favorably with said expected processed token. | 12-02-2010 |
20110063315 | OPTIMIZATION OF MEMORY BANDWIDTH IN A MULTI-DISPLAY SYSTEM - Graphics display adapters for driving multiple display monitors have become very popular. Graphics display adapters that drive multiple monitors can be used to provide terminal services to multiple independent terminals or be used to provide multiple displays to a single user. Generating video signals for multiple display systems puts a heavy burden on the video memory system since multiple different video signal generators may read from associated frame buffers in a shared video memory system. In one disclosed embodiment, a plurality of video memory read triggers are provided wherein at least two of which are staggered to reduce the load on the video memory system. In response to each read trigger, display data is read from a frame buffer to an associated video signal generation circuit. Each video signal generation circuit then provides a display signal to an associated display screen in a multi-screen environment. | 03-17-2011 |
20110080519 | SYSTEM AND METHOD FOR EFFICIENTLY PROCESSING DIGITAL VIDEO - In a digital video processing system for processing full-motion video in computer terminal systems, two main rendering paths are created for a computer terminal system: a screen buffer path and a full-motion video path. The screen buffer path renders a desktop display from a screen buffer within the terminal system. The full-motion video path decodes a video stream and then processes the decoded video stream with a video processing pipeline to fit the video frames within a destination video window within the desktop display. The video processing pipeline performs clipping, blending, chroma resampling, resizing, and color converting of the video frames in pipelined stages with minimal memory accesses. A video adapter then combines the desktop display with the processed digital video for a final terminal display. | 04-07-2011 |
20120098864 | SYSTEM AND METHOD FOR DOWNSIZING VIDEO DATA FOR MEMORY BANDWIDTH OPTIMIZATION - The video output system in a computer system reads pixel information from a frame buffer to generate a video output signal. In addition, full-motion video may also be displayed in a window defined in the frame buffer. If the native resolution of the full-motion video is larger than the window defined in said frame buffer then valuable memory space and memory bandwidth is being wasted by writing said larger full-motion video in a memory system (and later reading it back) when some data from the full-motion video will be discarded. Thus, a video pre-processor is disclosed to reduce the size of the full-motion video before that full-motion video is written into a memory system. The video pre-processor will scale the full-motion video down to a size no larger than the window defined in the frame buffer. | 04-26-2012 |
20120120320 | SYSTEM AND METHOD FOR ON-THE-FLY KEY COLOR GENERATION - The video output system in a computer system reads pixel information from a frame buffer to generate a video output signal. In addition, a full-motion video may also be displayed. Reading from both the frame buffer and the full-motion video buffer when displaying the full-motion video window wastes valuable memory bandwidth. Thus, the disclosed system provides a system and methods for identifying where the video output system must read from the frame buffer and where it must read from the full-motion video buffer while minimizing the amount of area it reads from both the frame buffer and the full-motion video buffer. | 05-17-2012 |
20120127185 | SYSTEM AND METHOD FOR AN OPTIMIZED ON-THE-FLY TABLE CREATION ALGORITHM - A video output system in a computer system reads pixel information from a frame buffer to generate a video output signal. In addition, a full-motion video may also be displayed. Reading from both the frame buffer and the full-motion video buffer when displaying the full-motion video window wastes valuable memory bandwidth. Thus, the disclosed system provides a system and methods for identifying where the video output system must read from the frame buffer and where it must read from the full-motion video buffer while minimizing the amount of area it reads from both the frame buffer and the full-motion video buffer. | 05-24-2012 |
20120219070 | SYSTEM AND METHOD FOR A THIN-CLIENT TERMINAL SYSTEM WITH A LOCAL SCREEN BUFFER USING A SERIAL BUS - In a system and method for a thin-client terminal system having a local screen buffer using a serial bus, a serial bus interface device receives encoded data from a thin-client server system. The serial bus interface device decodes the encoded data according to a serial bus data format and provides the decoded data to a thin-client control system. The thin-client control system distributes the decoded data for processing to a video processing system, an audio processing system, and an input/output control system. The thin-client control system also receives input data from input devices connected to the thin-client terminal system. The input data is processed and encoded according to the serial bus data format for transmission to the thin-client server system. | 08-30-2012 |
20120229703 | SYSTEM AND METHOD FOR A THIN-CLIENT TERMINAL SYSTEM SUPPORTING USB DEVICES - Thin-client terminal systems allow computer systems to be shared by multiple computer users. With modern technology, the cost of implementing a thin-client terminal system can be very low. To improve thin-client terminal systems, a thin-client terminal system accepts user input data in a first serial interface format and transcodes the user input data into a second serial interface format for transmission to a server. | 09-13-2012 |
20130016111 | OPTIMIZATION OF MEMORY BANDWIDTH IN A MULTI-DISPLAY SYSTEM - Graphics display adapters for driving multiple display monitors have become very popular. Graphics display adapters that drive multiple monitors can be used to provide terminal services to multiple independent terminals or be used to provide multiple displays to a single user. Generating video signals for multiple display systems puts a heavy burden on the video memory system since multiple different video signal generators may read from associated frame buffers in a shared video memory system. In one disclosed embodiment, a plurality of video memory read triggers are provided wherein at least two of which are staggered to reduce the load on the video memory system. In response to each read trigger, display data is read from a frame buffer to an associated video signal generation circuit. Each video signal generation circuit then provides a display signal to an associated display screen in a multi-screen environment. | 01-17-2013 |
20140139537 | SYSTEM AND METHOD FOR AN EFFICIENT DISPLAY DATA TRANSFER ALGORITHM OVER NETWORK - Systems and methods for an efficient display data transfer algorithm over a network are disclosed. A compressed frame buffer update transmitted from a server via a network is received by a hardware decompression engine. The hardware decompression engine identifies one or more palette entries indicated in the compressed frame buffer update and determines whether the one or more palette entries is stored in a palette cache of the hardware decompression engine. If the one or more palette entries is not stored in the palette cache, the hardware decompression engine writes the one or more palette entries from an external palette memory to the palette cache. Decompressed display data is generated based on the compressed frame buffer update using the palette cache. The decompressed display data is written to an output buffer of the hardware decompression engine. | 05-22-2014 |
20140362097 | SYSTEMS AND METHODS FOR HARDWARE-ACCELERATED KEY COLOR EXTRACTION - Systems and methods for hardware-accelerated key color extraction are disclosed. An update corresponding to a portion of a digital representation of a display screen is received. Key color information for locations within the update is identified. A data structure code associated with the portion of the digital representation of the display screen is determined based on the identification of the key color information. The data structure code is provided to a data structure. During a scan of the frame buffer for display, the frame buffer is capable of being read according to the data structure. | 12-11-2014 |