US Pat. No. 9,483,553

SYSTEM AND METHOD FOR IDENTIFYING RELATED ELEMENTS WITH RESPECT TO A QUERY IN A REPOSITORY

Tata Consultancy Services...

1. A method for identifying a relationship of an unrecognized element with respect to a query in a repository, comprising:
receiving a query comprising at least one unrecognized element in a repository, wherein the unrecognized element comprises
at the least one of: a data definition, a sentence, phrase, a semantic unit, or an electronic document;

mapping, by one or more hardware processors, the query with a plurality of knowledge references in the repository to identify
one or more words comprising one or more elements related to the unrecognized element of the query;

identifying, by the one or more hardware processors, a relationship of the unrecognized element and the words, wherein the
relationship is derived by determining parent and child relationships of one or more siblings in the repository, and wherein
the one or more siblings refer to the one or more elements having possible match to the unrecognized element of the query;

determining, by the one or more hardware processors, a number of occurrences of all parent elements and child elements from
the parent and child relationships related to the unrecognized element in the repository;

assigning, by the one or more hardware processors, a weight to all the parent elements and the child elements based upon the
number of occurrences; and

determining, by the one or more hardware processors, a relevance of the query in the repository using the weight assigned
to the parent elements and child elements.

US Pat. No. 9,590,807

IDENTITY BASED PUBLIC KEY CRYPTOSYSTEM

TATA CONSULTANCY SERVICES...

1. A computer implemented method for generating cryptographic parameters for securing information, the method comprising:
generating a private_IGTABLE based on a Euler totient function of a composite number (?(n)), wherein the private_IGTABLE includes
a plurality of random numbers (x) by a parameter generation module coupled to a processor;

generating a public_IGTABLE based on the private_IGTABLE, the composite number (n), and a group generator element (g), wherein
the public_IGTABLE includes a modular exponentiation corresponding to each of the plurality of random numbers (x) given by
the equation gx(mod n), wherein gx is the modular exponentiation under modulo n, and wherein n is the composite number by
the parameter generation module;

computing a public key of a user based on the public_IGTABLE, an identity number (ID) corresponding to the user, and the composite
number (n) by a key generation module;

generating a secret key of the user based on the ID, a master private key, the private_IGTABLE and the Euler totient function
of the composite number (?(n)) by the key generation module;

providing the cryptographic parameters to the user for performing encryption and decryption, wherein the cryptographic parameters
include at least one of the ID, the public key, and the secret key by the key generation module;

encrypting the cryptographic parameters to obtain a cipher text using a public key of a user, wherein a signature is used
for authenticating at least one of a first user and a second user by the key generation module; and

requesting a Public Key Infrastructure (PKI) for a plurality of cryptographic parameters and subsequently encrypting the information
using the cryptographic parameters to obtain the ciphertext by the key generation module.

US Pat. No. 9,065,913

SYSTEM AND METHOD PROVIDING MULTI-MODALITY INTERACTION OVER VOICE CHANNEL BETWEEN COMMUNICATION DEVICES

TATA CONSULTANCY SERVICES...

1. A multi-modality interactive system, comprising:
a processor; and
a memory storing processor-executable instructions comprising instructions to:
obtain a request to initiate an interactive session with a communication device over a voice communication path;
obtain an interactive session data for communication to the communication device wherein the interactive session data is obtained
using an initial modality;

change the initial modality for the interactive session data, by analyzing one or more parameters associated with the interactive
session data and the communication device;

convert a format of the interactive session data according to a changed modality; and
transmit the interactive session data in a converted format to the communication device via the interactive session over the
same voice communication path.

US Pat. No. 9,144,022

SYSTEM AND METHOD FOR CALL ROUTING FOR EFFICIENT USE OF TELECOMMUNICATION SPECTRUM

TATA CONSULTANCY SERVICES...

1. A system for reducing energy and spectrum consumption by switching data from one or more radio frequency (RF) communication
channels to one or more wired communication channels, the system comprising:
a delinking router communicatively coupled to the one or more RF communication channels and the one or more wired communication
channels, the delinking router further comprising a processor and a memory coupled to the processor, wherein the processor
executes programmed instructions stored in the memory for:

detecting a RF communication channel, of the one or more RF communication channels, in a predetermined range of the delinking
router;

receiving authentication information from the RF communication device;
authenticating the RF communication channel by
comparing the authentication information with predetermined information, stored in a computer readable medium of the delinking
router, in order to verify the RF communication channel, and

transmitting the authentication information along with a request to a Base Station Controller (BSC), via an interface present
in a Base Transmitting Station (BTS), based on the verification, wherein the request indicates switching of the voice and
data, intended for the RF communication channel, to a wired communication channel of the one or more wired communication channels;
and

receiving a message from the BTS, wherein the message indicates that the request is accepted or rejected for switching the
data to the wired communication channel based on the authentication of the RF communication channel, and

enabling the BTS to modify configuration based on the acceptance of the request, wherein the configuration is modified by
changing network settings of the BTS in order to route the data to the wired communication channel.

US Pat. No. 9,324,192

REAL-TIME MONITORING OF VEHICLE

Tata Consultancy Services...

1. A system for real-time monitoring of a vehicle, the system comprising:
an On-Board Diagnostic (OBD);
a three-axis accelerometer coupled to the OBD; and
a monitoring unit comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises a plurality of modules capable of being executed by the processor,
and wherein the plurality of modules comprises:

a receiving module configured to receive data from the OBD, wherein the data is associated with a plurality of jerks detected
by the three-axis accelerometer coupled to the OBD; and

an analytics module configured to:
compare an intensity of each jerk of the plurality of jerks to a predefined jerk threshold;
capture at least one high intensity jerk of the plurality of jerks, wherein the at least one high intensity jerk has an intensity
of at least the predefined jerk threshold;

determine an elapsed time for each of the at least one high intensity jerk, wherein the elapsed time is indicative of a time
between an observation of the at least one high intensity jerk and a feedback sent to a user;

compare the elapsed time for each of the at least one high intensity jerk to a predefined time threshold; and
determine whether an analysis on the at least one high intensity jerk, based on the comparison of the elapsed time to the
predefined time threshold, should be performed at the vehicle or at a server located remotely from the vehicle.

US Pat. No. 9,317,706

MULTI-TENANT SYSTEM

TATA CONSULTANCY SERVICES...

1. A method comprising:
receiving a request for access to a multi-tenant application from a tenant;
configuring application attributes of the multi-tenant application for the tenant, wherein each of the application attributes
determines an application behavior of the multi-tenant application, wherein the configuring comprises, for each application
attribute:

determining whether an application attribute is a reference attribute of the multi-tenant application, wherein the reference
attribute corresponds to a common code of a varying application attribute that varies between tenants, the common code being
external to a source code of the multi-tenant application, wherein the reference attribute is mapped to at least one differential
attribute of the multi-tenant application in a metadata repository, wherein the at least one differential attribute is a variation
of the application attribute over the reference attribute;

ascertaining, based on the determining, whether a configuration template is defined for the tenant, wherein the configuration
template comprises the at least one differential attribute for a tenant group of which the tenant is a member; and

identifying the application behavior of the application attribute based on the ascertaining, wherein the application behavior
is identified based at least on the reference attribute and the at least one differential attribute; and

providing the identified application behavior for each of the application attributes to the multi-tenant application such
that the multi-tenant application exhibits the identified application behavior for the tenant.

US Pat. No. 9,112,260

MICROSTRIP ANTENNA

Tata Consultancy Services...

1. A microstrip antenna comprising:
a dielectric substrate;
a first metallic layer on a first side of the dielectric substrate, wherein the first metallic layer comprises one or more
end-to-end slots to divide the first metallic layer into a plurality of microstrip patches;

a second metallic layer on a second side, opposite to the first side, of the dielectric substrate, wherein the second metallic
layer comprises two end-to-end slots and wherein the two end-to-end slots are of predefined widths based on a radiation pattern;
and

a feed circuit electromagnetically coupled to the plurality of microstrip patches and the second metallic layer.

US Pat. No. 9,063,745

COMPUTING REUSABILITY INDEX OF SOFTWARE ASSETS

Tata Consultancy Services...

1. A method of computing a reusability index of a software asset, the method comprising:
receiving a characteristic score for each of a plurality of predefined characteristics associated with the software asset
from a repository;

determining, by a processor, a dimension score for each of a plurality of predefined dimensions comprising a usage dimension
and a reputation dimension, wherein:

the dimension score for the usage dimension is determined based on a weighted average of the characteristic score received
for an evaluations characteristic and for at least three of a violations characteristic, a downloads characteristic, a recency
rank characteristic, a queries rank characteristic, and a comments rank characteristic, from among the plurality of predefined
characteristics, wherein:

the evaluations characteristic is indicative of number of times reusers have evaluated the software asset in past, the violations
characteristic is indicative of potential violations of intellectual property rights on reuse of the software asset, the downloads
characteristic is indicative of number of times the software asset is downloaded in past, the recency rank characteristic
is indicative of number of times the software asset is downloaded in recent months, the queries rank characteristic is indicative
of number of queries on the software asset asked by reusers, and the comments rank characteristic is indicative of number
of comments made by users on the software asset; and

the dimension score for the reputation dimension is determined based on a weighted average of the characteristic score received
for a bookmarks rank characteristic and for at least two of a referrals rank characteristic, a rating before use characteristic,
a ratings after use characteristic, an asset age characteristic, an answered queries characteristic, a quality for creator
characteristic, and a usage for creator characteristic, from among the plurality of predefined characteristics, wherein:

the bookmarks rank characteristic is indicative of percentile number of users who have bookmarked the software asset, the
referrals rank characteristic is indicative of number of times users have referred the software asset to other users, the
rating before use characteristic is indicative of rating given by users without testing the software asset, the ratings after
use characteristic is indicative of rating given by users after testing of the software asset, the asset age characteristic
is indicative of age of current version of the software asset, the answered queries characteristic is indicative of percentage
of user queries that have been resolved, the quality for creator characteristic is indicative of average asset quality of
other software assets created by a creator of the software asset, and the usage for creator characteristic is indicative of
average asset usage for other software assets created by a creator of the software asset; and

computing, by the processor, the reusability index of the software asset based on the dimension score for the plurality of
predefined dimensions weighted according to a dimension weighing criterion, wherein the reusability index indicates reusability
of the software asset.

US Pat. No. 9,158,663

EVALUATING PERFORMANCE MATURITY LEVEL OF AN APPLICATION

TATA CONSULTANCY SERVICES...

1. A computer implemented method for evaluating a performance maturity level of a software application, the method comprising:
obtaining at least one assessment parameter and at least one sub-parameter of the at least one assessment parameter, based
on at least one of a key performance area and a key competency area, wherein the key performance area is at least one of workload
characterization, performance oriented architecture and design, code optimization, database tuning, and performance benchmarking,
wherein the at least one assessment parameter comprises performance requirements, architecture and design review, coding,
database review, testing, gathered performance characteristics, and performance benchmarking, and wherein the at least one
sub-parameter is at least one of a code profiling check, code tuning check, a workload characterization check, a performance
requirements gathered completely check, a SQL code being tuned check;

assigning a weightage to the at least one sub-parameter, the weightage being based on significance of the at least one sub-parameter
to the assessment parameter;

configuring a performance questionnaire, based on the at least one assessment parameter and the at least one sub-parameter;
and

determining a maturity score for the software application, in response to inputs received to the performance questionnaire,
wherein the determining is based on the weightage assigned to the at least one sub-parameter of the at least one assessment
parameter, the maturity score being indicative of the performance maturity level of the software application;

comparing the performance maturity level of the software application to a target performance maturity level; and
providing suggestions for improving the performance maturity level of the software application, based on the comparison.

US Pat. No. 9,064,291

KNOWLEDGE SYSTEM DISSEMINATING A MEDIUM TO USERS AND MODIFYING IT BASED ON USER FEEDBACK

Tata Consultancy Services...

1. A computer implemented method for disseminating knowledge, the method comprising:
obtaining information associated with at least one participating user;
determining a theme for the at least one participating user from the obtained information, wherein the theme is at least one
of collaborative, competitive, training, entertainment, and general assessment, and wherein the theme is indicative of one
of obtaining awareness for the at least one participating user and assessing performance of the at least one participating
user;

generating at least one medium for disseminating knowledge related to an organizational process for the at least one participating
user based at least in part on the obtained information and the determined theme, wherein the at least one medium is one or
more of tutorials, quizzes, technical manuals, articles and presentations;

categorizing the at least one participating user in a proficiency category based at least in part on interaction of the at
least one participating user with the at least one medium, wherein the categorization indicates a level of proficiency of
the at least one participating user based on comparing a proficiency score generated for the interaction to a predetermined
threshold value;

ranking, within the proficiency category, the at least one participating user with respect to other participating users by
comparing the proficiency score of the at least one user with proficiency scores of the other participating users, wherein
based on the ranking, high ranking users are rewarded for one or more practices including one or more of hosting quizzes,
recommending quizzes, providing feedback, promoting quizzes, and moderating discussions;

receiving feedback from the at least one participating user based on their interaction with the at least one medium, wherein
the feedback comprises a preference for a particular medium, referrals to other participating users, and user comments on
the content;

analyzing the received feedback based on the interaction of the at least one participating user with the at least one medium,
wherein the analyzing includes parsing the received feedback and providing suggestions to the at least one participating user,
and wherein the suggestions includes one or more additional quizzes, training materials, recommending experts, or recommending
groups; and

providing modification to modifying the content of the at least one medium based at least on the received feedback analyzing
and based on the categorization of the at least one participating user, wherein the modifying comprises changing difficulty
level of the at least one medium and changing scope of topic covered by the at least one medium.

US Pat. No. 9,232,251

PERSONALIZED CONTENT RECOMMENDATION

Tata Consultancy Services...

1. A method for generating personalized content recommendation and content availability to a user, the method comprising:
gathering, dynamically, by a processor, content metadata from a plurality of sources based on user specific parameters, wherein
the content metadata is associated with a content;

classifying, by the processor, each activity of the user as one of a casual activity of a plurality of casual activities and
a genuine activity of a plurality of genuine activities, wherein the casual activity is considerably less significant for
gathering a primary content metadata, and wherein the genuine activity is considerably significant for gathering the primary
content metadata;

determining, by the processor, from amongst the gathered content metadata, the primary content metadata associated with the
genuine activities and casual activities, wherein the genuine activities are indicative of interest and affinity the user
has for the content;

rating, by the processor, the primary content metadata based on content rating parameters to generate a secondary content
metadata, wherein the content rating parameters comprise ratings provided to the content by third party sources, ratings provided
to the content by user's friends, implicit user preferences, and a score dynamically assigned to each activity of the user;

determining, by the processor, the secondary content metadata based on the rated primary content metadata, wherein the secondary
content metadata comprises highest rated primary content metadata;

ascertaining, by the processor, content availability information for content associated with the secondary content metadata,
wherein the content availability information comprises details related to when and where the content is available; and

providing, by the processor, the secondary content metadata with the content availability information to the user on a user
device.

US Pat. No. 9,311,211

APPLICATION PERFORMANCE MEASUREMENT AND REPORTING

Tata Consultancy Services...

1. A computer implemented method for application performance measurement and reporting, the method comprising a processor
executing instructions stored in a memory to perform:
generating, in a first profiling session, a first parameter dataset related to performance of an application, wherein generating
the first parameter dataset comprises executing the segments in the first profiling session and measuring performance parameters
to obtain the first parameter dataset, wherein the performance parameters comprise at least one of processor utilization,
memory utilization, network utilization, input-output utilization, database queries statistics, response time related statistics,
session related statistics, throughput statistics, process thread statistics, and queue related statistics;

creating a session report based on the first parameter dataset;
receiving comments for one or more of the segments of the application, based in part on the session report;
providing a consolidated report based on the first parameter dataset and the comments;
receiving a second parameter dataset corresponding to a second application profiled in a second profiling session;
identifying common segments between a first application and a second application; and
generating a comparison report for at least one of the common segments, based on the first parameter dataset and the second
parameter dataset, wherein the comments relate to at least one of a hardware setup, runtime conditions, a part of the first
application, a session timing and a duration of the session.

US Pat. No. 9,235,866

ANALYZING SOCIAL NETWORK

Tata Consultancy Services...

1. A method for analyzing a social network, the method comprising:
segregating, by a processor, the social network into a plurality of groups of users, wherein each of the plurality of groups
of users has a unique identity in the social network;

mining data, by the processor, from at least one group of users of the plurality of groups of users;
identifying a plurality of social variables from the data, wherein the plurality of social variables comprises at least one
of: a number of users, connections of the users, interactions of the users, affinity of the users, and posts by the users;

equating at least one social variable of the plurality of social variables with at least one thermodynamic variable of a plurality
of thermodynamic variables, wherein the plurality of thermodynamic variables comprises at least one of: molecules, volume,
internal energy, pressure, temperature, entropy, mass, viscosity, density, work, and bonding between molecules;

determining quantitative values of the plurality of thermodynamic variables based upon the plurality of social variables,
wherein the quantitative values are determined by controlling at least one thermal state; and

generating a virtual thermodynamics system based upon the quantitative values for analyzing the social network, wherein the
virtual thermodynamics system is analogous to the social network.

US Pat. No. 9,152,414

SYSTEM AND METHOD TO SELECT COMPATIBLE OPEN-SOURCE SOFTWARE AND COMPONENTS FOR DEVELOPED OR CONCEPTUALIZED SOLUTION

Tata Consultancy Services...

1. A computer-implemented method for verifying compatibility among a plurality of software components used in a software solution,
the method comprising steps of:
receiving the plurality of software components along with licensing information corresponding to the plurality of software
components, wherein the licensing information comprises one or more licensing categories and one or more license types, and
wherein the one or more licensing categories are selected from a group comprising of a strong copyleft license, a weak copyleft
license, and a permissive license, and wherein the one or more license types comprises a GNU General Public License (GPL),
a GNU Lesser General Public License (LGPL), and a Berkeley Software Distribution License (BSD);

categorizing the plurality of software components based on the licensing information;
mapping the licensing information of the plurality of software components with previously stored licensing information stored
in a database;

displaying a set of pre-defined queries, corresponding to the plurality of software components, to the user based upon the
mapping of the licensing information;

receiving a user response corresponding to each pre-defined query of the set of pre-defined queries to verify the compatibility
amongst the plurality of software components, wherein the database is regularly updated based upon the user response; and

generating a report, based on the user response, comprising verification details indicating the compatibility corresponding
to each of the plurality of software components used in the software solution.

US Pat. No. 9,317,330

SYSTEM AND METHOD FACILITATING PERFORMANCE PREDICTION OF MULTI-THREADED APPLICATION IN PRESENCE OF RESOURCE BOTTLENECKS

Tata Consultancy Services...

1. A system for predicting performance of a multi-threaded software application in the presence of resource bottlenecks, the
system comprising:
one or more processors; and
a memory staring processor-executable instructions comprising instructions that, when executed by the one or more processors,
configure the one or more processors to:

represent one or more queuing networks corresponding to resources, the resources being employed to run the multi-threaded
software application, wherein the resources comprise hardware resources and software resources, wherein the one or more queuing
networks represent contention for resources, and wherein the one or more queuing networks correspond to at least one of a
hardware queuing network of a software queuing network;

identify a relationship between the software queuing network and the hardware queuing network based on at least one of a predetermined
service demand, the software queuing network, and the hardware queuing being associated with the represented one or more queuing
networks, wherein the relationship comprises at least one of utilization and sharing of the software resources with respect
to the hardware resources and with respect to a predetermined value of the predetermined service demand, wherein the instructions
to identify the relationship between the software queuing network and the hardware queuing network based on the predetermined
service demand further comprises instructions to:

obtain one or more blocked threads associated with a critical section based on the predetermined service demand, the blocked
threads being retained to provide comparison with iterative blocked threads, wherein the number of blocked threads at the
critical section is the number of threads awaiting to enter the critical section;

obtain a residence time at each of the hardware resources based on the predetermined service demand;
update based on the residence time, a critical section service demand to reflect a waiting time for the hardware resources;
and
compare the one or more blocked threads with the iterative blocked threads and the residence time;
detect, based on the one or more queuing networks, a concurrency level associated with encountering of a first resource bottleneck,
wherein the concurrency level is detected by checking a number of threads accessing the multi-threaded software application;

determine, based on the concurrency level, a plurality of performance metrics associated with the multi-threaded software
application; and

predict the performance of the multi-threaded software application based on the plurality of performance metrics.

US Pat. No. 9,116,709

COMPUTATIONALLY EFFICIENT SYSTEM FOR DEVELOPING CONFIGURABLE, EXTENSIBLE GUI FOR DATABASE CENTRIC ENTERPRISE BUSINESS APPLICATIONS

Tata Consultancy Services...

1. A system for developing a graphical user interface (GUI) for an enterprise business application using a model driven technique,
the system comprising:
a repository to store common structural elements, variable structural elements, variation points, behavioral variants and
situation specific structural variants; and

a processor coupled to the repository, wherein the processor executes program instructions to:
model one or more screens on a presentation layer of the enterprise business application for facilitating user interaction,
wherein the one or more screens are connected to one another by navigation links and are modeled according to a plurality
of metamodels defined according to the enterprise business application, wherein the navigation links facilitate a user to
navigate from an existing screen to a new screen of the one or more screens, wherein the existing screen comprises common
structural elements and variable structural elements, and wherein the existing screen is modeled by specifying behavioral
specification for the existing screen, wherein behavioral specification are defined by existing event handlers, wherein the
existing event handlers execute events, wherein the new screen is modeled using the existing screen by:

defining variation points on the existing screen, wherein the variation points are indicative of a position on the existing
screen to define the behavioral variants or the situation specific structural variants, and wherein the variation points are
defined by introducing a variable field widget, wherein the variable field widget is configured to indicate a place-holder
in the existing screen for accommodating the behavioral variants or the situation specific structural variants;

defining behavioral variants for the variation points on the existing screen, wherein the behavioral variants are defined
by adding new event handlers or by overriding the existing event handlers, wherein the behavioral variants depend upon a metamodel
of the plurality of metamodels for specifying behavioral variations of the new screen, wherein the metamodel is defined for
the new screen, wherein event handlers are configured to invoke services, trigger navigations or execute code specified by
the user;

defining situation specific structural variants at the variation points on the existing screen to specify structural extensions
to the existing screen, wherein the situation specific structural variation correspond to structural variations for the new
screen depending upon the metamodel defined for the new screen, wherein the situation specific structural variants are defined
by introducing new structural elements onto the existing screen or by overriding the variable structural elements, wherein
the situation specific structural variants correspond to a new widget to be added to the existing screen, or a changing the
type of an existing widgets associated with the existing screen; and

deriving specifications of the GUI of the new screen using the behavioral variants and the situation specific structural variants.

US Pat. No. 9,310,865

METHOD AND SYSTEM FOR OPTIMIZING A COMPOSITE LOAD DISAGGREGATION

Tata Consultancy Services...

1. A computer implemented method for optimizing a composite load disaggregation in an electrical environment, the method comprising:
performing a factor-graph analysis on one or more input variables to generate confidence measures for one or more appliances
in the electrical environment, wherein the confidence measures indicate at least one appliance from the one or more appliances
being switched on at an instance, wherein the factor-graph analysis is implemented based on matrix formulation of blind source
separation or based on load block diagram;

retrieving contextual information impacting the usage of the one or more appliances from a contextual information database;
and

optimizing the composite load disaggregation, by applying one or more rules to the confidence measures and to the contextual
information for identifying at least one appliance from the one or more appliances, and wherein conflicts in decision of identifying
least one appliance from the one or more appliances is resolved based on the optimized composite load disaggregation through
the factor-graph analysis.

US Pat. No. 9,148,708

AUTOMATED STATUTORY WARNING SYSTEM TO DISPLAY DISCLAIMERS

TATA CONSULTANCY SERVICES...

1. A method for appending, in real time, at least one electronic message in at least one video stream characterized in that,
the method comprising:
identifying, by a processor, at least one channel broadcasting the at least one video stream, wherein the at least one video
stream comprises at least one video frame with at least one content in context of which the at least one electronic message
is to be appended, wherein the at least one channel, broadcasting the at least one video stream, is identified by matching
a logo of the at least one channel with a plurality of logos of a plurality of channels programmed to broadcast the at least
one content using a logo matching algorithm, wherein the logo matching algorithm compares one or more features extracted from
the plurality of logos of the plurality of channels with one or more features extracted from the logo of the at least one
channel, and wherein the one or more features, extracted from the plurality of logos and the logo, comprise scale invariant
feature transform (SIFT) points, Harris points, Haralick features or combinations thereof;

performing, by the processor, a signal processing analysis on the at least one video frame of the at least one channel to
detect a plurality of objects associated with the at least one content;

contextually correlating, by the processor, a first object, a second object and optionally at least one other object from
the plurality of the objects to validate the presence of the at least one content; and

appending in the real time, by the processor, the at least one electronic message in the at least one video frame of the at
least one video stream when the presence of the at least one content is validated.

US Pat. No. 9,152,795

SECURITY VULNERABILITY CORRECTION

Tata Consultancy Services...

1. A computer-implementable method for addressing security vulnerabilities in a source code using a computing system having
a processor, the method comprising:
detecting a security vulnerability, by a static analysis tool coupled to the processor, in the source code by assessing the
source code against a specification repository, wherein the specification repository comprises a specification for said security
vulnerability;

presenting, by a vulnerability parser the detected security vulnerability to a user in an Integrated Development Environment
(IDE);

identifying, by a composer coupled to the processor, a set of security solutions specified within the specification repository,
wherein the specification repository comprises at least one security solution associated with the detected security vulnerability;

presenting, by the processor, the set of security solutions to a programmer in an Integrated Development Environment (IDE),
wherein a security solution of the set of security solutions is selected based on a relevance parameter, wherein the relevance
parameter is based at least on number of times a security solution has been used, wherein the programmer selects a security
solution from the set of security solutions;

removing a source code portion, by a refactoring engine coupled to the processor, associated with the detected security vulnerability
and replacing the source code portion with the selected security solution in the Integrated Development Environment (IDE),
wherein replacing the source code portion with the security solution comprises:

generating a code portion in conformance with the security solution selected by the programmer from the set of security solutions;
and

inserting the generated code portion in place of the removed source code portion; and
editing of the specification repository upon detection of a new vulnerability, wherein the editing comprises:
modifying, using a specification editor coupled to the processor, the vulnerability specifications by adding the new vulnerability
specification for the detected security vulnerability of the source code, wherein the new vulnerability specification is associated
with the detected security vulnerability; and

modifying, using a specification editor coupled to the processor, the solution specifications by adding a new solution specification
for the detected security vulnerability of the source code, wherein the new solution specification specifies at least one
new security solution for addressing the detected security vulnerability.

US Pat. No. 9,144,389

SYSTEM FOR VEHICLE SECURITY, PERSONALIZATION AND CARDIAC ACTIVITY MONITORING OF A DRIVER

TATA CONSULTANCY SERVICES...

1. A system for identification, personalization, and monitoring cardiac activity of a driver in a vehicle, based on ECG data,
the system comprising:
ECG trace probing means for acquiring in real-time one or more electric signals generated by cardiac muscles of the driver,
wherein the one or more electric signals are filtered to eliminate noise, and wherein the one or more electrical signals are
representative of raw ECG data of the driver;

means for extracting ECG features from the raw ECG data and converting each ECG feature into a binary code sequence using
a binary sequence code book generation algorithm in a binary code book, wherein the binary code sequence of each ECG feature
comprises a minimum value and a maximum value, indicating a variance in the ECG feature of the driver;

a memory storage comprising a plurality of binary code books wherein each binary code book is designated to store the binary
code sequences for the extracted ECG features of an identified driver as a profile of the identified driver;

means for identifying the driver by matching real time extracted ECG features from real time raw ECG data converted to a real
time binary code sequence with one of the profiles in the memory storage, wherein the real time binary code sequence of the
real time extracted ECG features are matched with the binary code sequence of the raw ECG using a nearest neighbor classifier
algorithm; and

means for storing preferences of the driver for personalization in the vehicle, wherein the preferences are triggered in the
vehicle after the binary code sequence and the enrolled binary code book sequence are matched.

US Pat. No. 9,152,662

DATA QUALITY ANALYSIS

TATA CONSULTANCY SERVICES...

1. A computer implemented method of determining quality of data stored in a data repository comprising:
identifying a plurality of tables storing data important for determining quality of data stored therein, wherein the identifying
the plurality of tables is based on schema of the data repository;

further determining critical tables from amongst the plurality of identified tables by analyzing the plurality of tables,
based on the analysis rules;

identifying at least one critical column of data, form amongst the critical tables, stored in a data repository, based on
one of an importance index associated with the at least one critical column and based on predefined rules, wherein the importance
index is indicative of the sensitivity of the data stored in the at least one critical column, and wherein the at least one
critical column stores data important for determining a data quality score;

retrieving from a rules repository, at least one data quality analysis rule based on a category of data stored in the at least
one critical column;

assigning a rule weightage parameter to each of the at least one data quality analysis rule retrieved from the rules repository;
assigning a column weightage parameter to each of the identified critical column;
analyzing the data stored in the at least one identified column based on the at least one data quality analysis rule retrieved
from the rules repository; and

computing a data quality score, indicative of the quality of data stored in the data repository, based in part on the analyzing,
the rule weightage parameter and the column weightage parameter, wherein the data quality score is at least one of a rule
level data quality score, a column level data quality score, a table level data quality score, and a schema level data quality
score.

US Pat. No. 9,138,704

SUSPENSION OF NANOPARTICLES

TATA CONSULTANCY SERVICES...

1. A method for preparing a suspension of metal oxide nanoparticles with an average size of less than 100 nm, the method comprising:
mixing a dispersing medium with a dispersant and a metal oxide powder with a particle size of about 0.1 to 100 microns to
form a primary mixture, wherein the primary mixture includes about 10-40 wt % of the metal oxide powder, wherein the dispersant
is sodium citrate or citric acid, and wherein the dispersing medium is water;

dispersing the primary mixture to form a slurry of the primary mixture;
grinding the slurry of the primary mixture at 234 revolutions per minute (rpm) or at about 420 rpm to obtain a suspension,
wherein during the grinding, a further amount of the dispersant and the dispersing medium are added to the slurry of primary
mixture at predetermined time intervals;

adding a further amount of the dispersant and the dispersing medium to the suspension to obtain a diluted suspension; and
dispersing the diluted suspension to obtain dispersed diluted suspension.

US Pat. No. 9,131,281

METHOD FOR EMBEDDING AND MULTIPLEXING AUDIO METADATA IN A BROADCASTED ANALOG VIDEO STREAM

TATA CONSULTANCY SERVICES...

1. A method for multiplexing and broadcasting a plurality of video streams by embedding one or more digital audio parts in
at least one video stream of the plurality of video streams, the method comprising:
receiving a plurality of sets of spatially multiplexed video streams, wherein a frame rate of each video stream of the plurality
of sets of spatially multiplexed video streams is reduced to half of an original frame rate;

generating an audio data bit and an audio pilot bit using metadata associated with one or more digital audio parts;
converting the audio data bit into an audio data symbol and the audio pilot bit into an audio pilot symbol;
embedding the audio data symbol and the audio pilot symbol into a video frame of a video stream of the plurality of sets of
spatially multiplexed video streams;

embedding each digital audio part into respective video streams of the plurality of sets of spatially multiplexed video streams,
wherein each digital audio part, corresponding to a respective video stream, is to be retrieved at a receiving device using
the audio data symbol and the audio pilot symbol;

multiplexing, in a temporal domain, the plurality of sets of spatially multiplexed video streams comprising the one or more
digital audio parts, the audio data symbol and the audio pilot symbol, so embedded, to generate an elementary video stream
thereby achieving the original frame rate; and

broadcasting the elementary video stream via a single video channel.

US Pat. No. 9,141,511

METHOD AND SYSTEM FOR VERIFYING SLEEP WAKEUP PROTOCOL BY COMPUTING STATE TRANSITION PATHS

TATA CONSULTANCY SERVICES...

1. A method for facilitating verification of a program code implementing a Sleep Wakeup protocol for a micro-controller, the
method performed by at least one processor and comprising:
receiving metadata from a user, wherein the metadata is required for verification of the program code, and wherein the metadata
comprises:

a location of a plurality of program points in the program code, each program point of the plurality of program points corresponding
to at least one of a start of a Background job, a Sleep operation, and a Wakeup operation in the program code;

an initial interrupt protection status (IPS) at the start of the program code;
interrupt functions for at least one of enabling and disabling the interrupts; and
task functions for at least one of enabling and disabling task switching;
computing for each program point:
an actual IPS based on the initial IPS and calls to the interrupt functions;
a task lock status (TLS) based on calls to the task functions;
path entities comprising at least one of a conditional statement and a function call point; and
shared variables;
determining transition paths between the plurality of program points in terms of the path entities;
computing review information for each set of path entities based on the actual IPS, the TLS, and the shared variables; and
generating a report for the user in a pre-defined format, wherein the report comprises information relating to the transition
paths and the review information, and wherein the report facilitates the user to verify the program code.

US Pat. No. 9,295,183

METHOD AND SYSTEM FOR REAL TIME MONITORING, PREDICTION, ANALYSIS AND DISPLAY OF TEMPERATURES FOR EFFECTIVE THERMAL MANAGEMENT IN A DATA CENTER

TATA CONSULTANCY SERVICES...

1. A method for facilitating thermal management of a data center, the method comprising:
monitoring temperatures and power consumption using sensors positioned at a first location of a data center;
predicting, by a processor, temperatures at a second location, of the data center, using a thermal model, the temperatures
monitored, and the power consumption at the first location, wherein the thermal model uses a) Computational Fluid Dynamics
(CFD) to calculate influence indices related to a pair of components of the data center to optimize a numbers of sensors in
the data center and b) conservation equations corresponding to the temperatures monitored, and wherein the influence indices
are non-dimensional numbers indicative of a ratio of heat conditions of target components placed at the first location, and
wherein the influence indices are calculated using at least one of air tracer method, heat tracer method, and massless particles
method based on air flow, temperatures, and heat information related to the source components and the target components;

defining, by the processor, a threshold temperature for the first location and the second location; and
generating an indication, by the processor, when the temperatures monitored at the first location and the temperatures predicted
at the second location exceeds the threshold temperature, thereby facilitating thermal management of the data center.

US Pat. No. 9,213,384

GENERATION OF ENERGY CONSUMPTION PROFILES

Tata Consultancy Services...

1. A profile generation system comprising:
a processor; and
a memory coupled to the processor, the memory comprising,
a normalization module configured to:
identify a normalization factor corresponding to each of a plurality of computing systems, wherein the normalization factor
indicates configuration of a processor of a computing system with respect to a reference processor;

normalize a processor utilization parameter of each of the plurality of computing systems, based on the normalization factor,
wherein the processor utilization parameter is indicative of a percentage of time for which the processor of the computing
system is being used for processing instructions; and

fractionally normalize the normalized processor utilization parameter of each of the plurality of computing systems to obtain
a corresponding fractional processor utilization parameter, wherein the fractional processor utilization parameter of the
computing system is a ratio of the normalized processor utilization parameter to a data-center consumption parameter corresponding
to processor utilization, the data-center consumption parameter being indicative of cumulative sum of normalized processor
utilizations of the plurality of computing systems; and

an analysis module configured to generate an energy consumption profile for the plurality of computing systems based on the
fractional processor utilization parameter of the plurality of computing systems, wherein the energy consumption profile is
indicative of an association between the processor utilization and energy consumption of the plurality of computing systems.

US Pat. No. 9,201,765

SYSTEM AND METHOD TO FACILITATE A USER INTERFACE ENABLED REVIEW OF STATIC ANALYSIS WARNINGS

TATA CONSULTANCY SERVICES...

1. A method for facilitating verification of a software code, the method comprising:
providing a processor and a non-transitory memory coupled to the processor, wherein the processor executes a plurality of
modules stored in the memory, and wherein the plurality of modules include a selecting module, a determining module, and a
user-interface module;

selecting, via the selecting module, a first program point indicating a warning generated for a software code to be verified,
wherein the first program point has a programming expression comprising a set of variables associated with a set of modification
points, and wherein the warning is generated when a value of at least one variable of the set of variables is not statically
determined;

determining, via the determining module, a review-assisting information to determine whether the value associated with the
at least one variable leads the first program point to a safe condition or to an unsafe condition, wherein determining the
review-assisting information comprises locating at least one of:

the set of modification points, from the software code, assigning the value to the at least one variable, and
a controlling condition, from the source code, comprising a second program point having a programming expression associated
with the at least one variable, from amongst the set of variables, and

a display of a path amongst the set of modification points, the controlling condition, and the first program point; and
presenting, via the user-interface module, the review-assisting information to the user by:
filtering out non-useful modification points from the set of modification points, based on the values assigned by the modification
points and identifying one or more relevant modification points, and

systematically displaying the one or more relevant modification points or the controlling condition and the path amongst the
set of modification points to the warning generated for the source code, wherein the one or more relevant modification points
or the controlling condition indicates a root cause for the warning generated, thereby facilitating verification of the software
code.

US Pat. No. 9,178,569

SYSTEM AND METHOD FOR SIMULTANEOUS WIRELESS CHARGING, TRACKING AND MONITORING OF EQUIPMENTS

Tata Consultancy Services...

1. A system for simultaneous wireless charging, tracking and monitoring of at least one equipment, the system comprising:
a management server, a coordinator and at least one receiver wherein
said management server is communicatively coupled with said coordinator and actuates said coordinator to transmit Ultra High
Frequency (UHF) radio waves;

said coordinator is communicatively coupled with the at least one receiver; and
the at least one receiver is electrically and communicatively coupled with and enclosed inside said at least one equipment,
wherein the at least one receiver receives the UHF radio waves transmitted by said coordinator, and wherein the at least one
receiver further comprises:

a UHF receiver antenna to receive and transmit the UHF radio waves;
a power divider to divide the UHF radio waves and transmit a first part of the UHF radio waves to a wireless charging subsystem
and a second part of the UHF radio waves to a monitoring and tracking subsystem, the wireless charging subsystem further comprising
a wireless charging circuit, a buffer, a controller circuit and a battery pack;

wherein the wireless charging circuit converts the first part of the UHF radio waves to Direct Current (DC) power and transmit
the DC power to the buffer and the controller circuit, and wherein said buffer and said controller circuit transmits the DC
power for charging the battery pack and activates a Radio Frequency Identification (RFID) tag; and

and wherein the monitoring and tracking subsystem comprises a programmable delay unit, the RFID tag and one or more sensors,
wherein the programmable delay unit provides a time delay to the second part of the UHF radio waves and transmits the UHF
radio waves to the RFID tag, and wherein the RFID tag is communicatively coupled with one or more sensors to receive one or
more operational parameters related to said equipment by employing said one or more sensors and transmits the one or more
operational parameters via the UHF receiver antenna.

US Pat. No. 9,076,071

LOGO RECOGNITION

TATA CONSULTANCY SERVICES...

1. A computerized method for recognizing a logo, the method comprising:
obtaining a plurality of feed frames from a display, wherein each feed frame from the plurality of feed frames has the logo
embedded therein;

comparing at least one region-of-interest (ROI) in a feed frame from the plurality of feed frames to each template from a
plurality of templates;

computing a correlation parameter for each template based on the comparing;
identifying one or more candidate match template based on the correlation parameter;
determining a logo score based on comparison of each of the one or more candidate match templates against a predetermined
number of feed frames from the plurality of feed frames; and

recognizing the logo based on the logo score.

US Pat. No. 9,311,357

GENERATING REPORTS BASED ON MATERIALIZED VIEW

TATA CONSULTANCY SERVICES...

1. A computer implemented method for generating a report for a resource, the report being generated from databases comprising
data sets related to a plurality of resources, the method comprising:
dynamically generating, by a processor, a first query upon selection of at least one attribute by a user from a plurality
of attributes, wherein the first query comprises instructions for being performed on the data set, wherein the plurality of
attributes correspond to a particular instance of the resource, wherein the plurality of attributes of a plurality of resources
is stored in a source data set;

determining, by the processor, whether the first query is stored in a table schema, wherein the table schema is associated
with a first trigger;

invoking, by the processor, the first trigger when the first query is stored in the table schema, wherein the first trigger
is configured to execute the first query to generate a materialized view upon execution of the first query, wherein the materialized
view is a database object that contains results of the first query;

generating, by the processor, a second query on the materialized view, based on user selection of the result of the first
query rendered in the materialized view;

dynamically generating, by the processor, the report by executing the second query on the materialized view, wherein the second
query is generated based on materialized view data, and wherein the report comprises relevant data and corresponding updated
data from the source data set, and wherein the source data set is associated with a second trigger to dynamically update the
materialized view data when a change is recorded in the source data set; and

generating a snapshot table based on the execution of the first query when the first query is not stored in the table schema
in order to generate the report, wherein the snapshot table is configured to store the output of the first query.

US Pat. No. 9,158,506

LOOP ABSTRACTION FOR MODEL CHECKING

Tata Consultancy Services...

1. A system for loop abstraction in a source code, for model checking of the source code, the system comprising:
a context expansion module coupled to the processor to,
receive the source code for abstraction;
determine an original loop within the source code, wherein the original loop includes a control statement and a loop body,
wherein the original loop causes the loop body to be repeatedly executed based on the control statement; and

identify output variables in the original loop and a number of blocks associated with the original loop, wherein the output
variables includes input-output variables and pure output variables, wherein the input-output variables are indicative of
variables read and modified in the original loop, and wherein the number of blocks is indicative of a count of unconditionally
executed statement sets in which at least one output variable is computed; and

a loop abstraction module coupled to the processor to generate an abstract loop corresponding to the original loop, wherein
to generate the abstract loop the loop abstraction module is further configured to:

add a modified expression for accelerated assignment of each output variable in a first subset of the output variables, wherein
the modified expression is added before the loop body; and

replace the control statement with a bounded control statement, wherein the bounded control statement includes an upper bound
based on the number of blocks and count of a second subset of the output variable; and

replace the original loop with the abstract loop to generate an abstract source code for the model checking.

US Pat. No. 9,082,271

CUSTOMIZED AUDIO ALERTS

TATA CONSULTANCY SERVICES...

1. A method for generating customized audio alerts on a communication device, the method comprising:
identifying receiving of an email on the communication device, wherein the email is associated with at least one attribute;
when an email application state in the communication device is active,
generating a visual notification on the communication device, wherein the visual notification includes a text depicting email
information;

comparing the at least one attribute associated with the email with user-defined attributes; and
generating a customized audio alert on the communication device based on the comparing, and
when the email application state in the communication device is inactive,
comparing the at least one attribute associated with the email with the user-defined attributes; and
generating the customized audio alert on the communication device based on the comparing.

US Pat. No. 9,262,914

ROGUE VEHICLE DETECTION

TATA CONSULTANCY SERVICES...

1. A method for rogue vehicle detection, the method comprising:
receiving at least one violation report for a vehicle from at least one mobile communication device, wherein the at least
one violation report is indicative of a traffic violation made by one or more vehicles, and wherein the at least one violation
report includes data elements of the vehicle;

extracting the data elements from the at least one violation report for the vehicle;
authenticating the at least one violation report based on an authenticity metric, wherein a value of the authenticity metric
is computed by comparing the extracted data elements with reference authenticity measurement data, the reference authenticity
measurement data indicates conditions pertaining to a location from which violation by the vehicle is reported;

determining trustworthiness of the at least one violation report using a trustworthiness metric, wherein the trustworthiness
metric is based on the authenticity metric and trustworthiness parameters;

categorizing the vehicle as a rogue vehicle, based on the authenticating and the determining trustworthiness; and
compiling a traffic observation record of the rogue vehicle based on at least one of the at least one violation report, the
authenticity metric, and the trustworthiness metric.

US Pat. No. 9,171,182

DYNAMIC DATA MASKING

TATA CONSULTANCY SERVICES...

1. A method for dynamic data masking of sensitive data, the method comprising:
receiving, by a processor that is a hardware processor, a response output comprising sensitive data, from an application,
based on a query from a client to the application;

identifying, by the processor, a main masking specification, based on the response output, for masking of the sensitive data
in the response output;

checking, by the processor, a status of a corrupt flag associated with the main masking specification to ascertain whether
the main masking specification is corrupted or tampered;

selecting, by the processor, a master masking specification as the main masking specification when the status of the corrupt
flag is corrupted or tampered

parsing, by the processor, the response output for creating a Document Object Model (DOM) tree for the response output;
checking, by the processor, a status of a masking approach indication field of the main masking specification when the status
of the corrupt flag is not corrupt or tampered, the main masking approach indication field being indicative of whether the
main masking specification has information about location identification paths of nodes comprising the sensitive data in the
DOM tree;

performing, by the processor, masking on the nodes in the DOM tree, wherein the performing of masking is based on the status
of the masking approach indication field of the main masking specification;

wherein, on the masking approach indication field being indicative of a first status, the method comprises:
traversing all the nodes in the DOM tree;
creating an intermediate-node for each of the nodes in the DOM tree to form an intermediate tree representation corresponding
to the DOM tree;

annotating each intermediate-node with a plurality of attributes associated with the corresponding node in the DOM tree, wherein
the plurality of attributes comprises:

a type of node, one from a text node and an HTML element;
a sensitivity index of node based on the type of node and based on the main masking specification; and
a masking rule based on the sensitivity index of node and based on the main masking specification;
masking the nodes in the DOM tree based on the sensitivity index of node and the masking rule in the intermediate-nodes associated
with the nodes, by:

identifying, by the processor, sensitive-intermediate-nodes in the intermediate tree representation as intermediate-nodes
annotated with the sensitivity index as one of label-value sensitive, label sensitive, and value sensitive; and

maintaining, by the processor, the sensitive-intermediate-nodes with the plurality of attributes in a masking nodes list,
for masking the nodes in the DOM tree,

wherein the masking of the nodes in the DOM tree comprises:
for each sensitive-intermediate-node, from the masking nodes list, fetching the masking rule associated with the sensitive-intermediate-node;
identifying, by the processor, from the masking rule, a direction of search for searching of the sensitive-intermediate-nodes
which are value sensitive; and

masking values of the nodes in the DOM tree, corresponding to the sensitive-intermediate-nodes which are value sensitive.

US Pat. No. 9,154,580

CONNECTION MANAGEMENT IN A COMPUTER NETWORKING ENVIRONMENT

Tata Consultancy Services...

1. A method for managing a connection between at least one client and at least one application within a server in a network,
the method comprising:
receiving a connection request from the at least one client;
identifying a least loaded worker thread by a main thread, wherein the least loaded worker thread is selected from a plurality
of worker threads based on a number of clients associated with each worker thread within the plurality of worker threads;

associating a unique identifier (UID), generated by the main thread, with the least loaded worker thread by utilizing a hash
table, wherein the UID uniquely identifies the received connection request;

communicating a message to the at least one application by the least loaded worker thread, wherein the message includes client
data associated with the connection request;

obtaining, by a reverse worker thread, corresponding to the least loaded worker thread, a reply message from the at least
one application, wherein the reply message is associated with the UID, wherein the least loaded worker thread is uniquely
associated with the reverse worker thread; and

communicating, by the reverse worker thread, the reply message to the at least one client, wherein the reply message communication
is based upon at least an event registration.

US Pat. No. 9,100,811

SYSTEM AND METHOD FACILITATING COMMUNICATION IN AN ADAPTIVE VIRTUAL ENVIRONMENT

TATA CONSULTANCY SERVICES...

1. A system for facilitating communication in an adaptive virtual environment, the system comprising:
a processor; and
a memory storing processor-executable instructions comprising instructions for:
creating a virtual image of a communication device running services rendered by one or more telecom service providers;
emulating hardware and software configuration of the communication device in the virtual image, wherein the virtual image
is stored in a cloud server;

synchronizing the cloud server post storing the hardware and software configuration in the virtual image, with a device memory
of a user device at pre-determined intervals of time;

remotely installing the hardware and software configuration in the user device upon executing the virtual image thereby creating
a virtual environment in the user device;

generating a unique number for the user corresponding to the virtual image;
switching between the one or more telecom service providers for communication based upon the unique number;
enabling call routing feature by using the virtual image; and
generating a bill for the communication device with respect to a service provided by the one or more telecom service providers.

US Pat. No. 9,717,100

DETECTING PHYSICAL RANDOM ACCESS CHANNEL PREAMBLES IN A LONG TERM EVOLUTION COMMUNICATION SYSTEM

TATA CONSULTANCY SERVICES...

7. A base station for generating Physical Random Access Channel (PRACH) reference segments in a Long Term Evolution (LTE)
communication system, the base station comprises:
a processor;
a memory coupled to the processor, wherein the processor is connected to a plurality of units configured to perform a function,
and wherein the plurality of units comprise:

a preamble sequence generation unit to generate a plurality of preamble sequences using a CAZAC sequence, wherein each preamble
sequence has length of a valid CAZAC sequence;

a first Discrete Fourier Transform (DFT) unit to transform the plurality of preamble sequences into a plurality of frequency
domain signals by performing a DFT on the plurality of preamble sequences;

a subcarrier mapping unit to generate a plurality of subcarrier mapped signals by performing subcarrier mapping of the plurality
of frequency domain signals, wherein the subcarrier mapping is performed based on a subcarrier spacing associated with a Physical
Random Access Channel (PRACH) in a Long Term Evolution (LTE) communication system;

an Inverse DFT (IDFT) unit to transform the plurality of subcarrier mapped signals into a plurality of time domain signals
by performing an IDFT, wherein the plurality of time domain signals are sampled at a sampling rate suitable to a receiver
system and a suitable IDFT length is selected based on the sampling rate, in order to perform transformations; a CP-insertion
unit to generate to a plurality of standard PRACH preamble signals by adding a Cyclic Prefix (CP) to each time domain signal
of the plurality of time domain signals, wherein the CP is a copy of an end-segment of the time domain signal;

a segmenting unit to segment each standard PRACH preamble signal from the plurality of standard PRACH preamble signals to
generate a plurality of segments of uniform size, wherein the segments are either contiguous or non-contiguous, wherein the
non-contiguous segments are separated by a time gap accommodated in between each segment of the non-contiguous segments;

a second DFT unit to generate a plurality of frequency domain segments by performing a half-subcarrier shift and a DFT on
the plurality of segments, wherein the frequency domain segments comprise sub-carriers spaced in accordance with a Single
Carrier Frequency Division Multiple Access (SC-FDMA) signal; and

a first subcarrier de-mapping unit to generate a plurality of PRACH reference segments by selecting frequency locations from
the plurality of frequency domain segments, wherein the frequency locations correspond to PRACH frequency locations.

US Pat. No. 9,269,001

ILLUMINATION INVARIANT AND ROBUST APPARATUS AND METHOD FOR DETECTING AND RECOGNIZING VARIOUS TRAFFIC SIGNS

Tata Consultancy Services...

1. A method for detecting and recognizing traffic signs using images captured by a digital color and night vision camera,
the said method characterized in being illumination invariant comprising:
transforming, by a processor, RGB image into HSV color model and subsequently extracting desired color components by using
color quantization;

filtering, by the processor, noise components in the HSV color model in order to obtain a filtered image, wherein the filtered
image is obtained by,

computing a centroid of each Region of Interest (ROI) in the HSV color model,
calculating a left distance indicating a distance from the centroid to a plurality of left side elements present in the HSV
color model,

calculating a right distance indicating a distance from the centroid to a plurality of right side elements present in the
HSV color model,

filtering the noise components based on the left distance, the right distance, a count of the plurality of left side elements,
and a count of the plurality of right side elements;

detecting, by the processor, edges of objects in the filtered image and subsequently detecting distinct objects in the filtered
image;

classifying, by the processor, shapes of traffic signs based on shape of the distinct objects; and
recognizing, by the processor, the shapes of the traffic signs by template matching.

US Pat. No. 9,135,673

DIGITAL WATERMARKING

Tata Consultancy Services...

1. A method for embedding a watermark in a digital media, the method comprising:
generating a plurality of random patterns, wherein the plurality of random patterns include at least a primary random pattern
and at least a secondary random pattern, and wherein the plurality of random patterns is indicative of watermark to be embedded
in the digital media;

converting at least the primary random pattern and at least the secondary random pattern to a bipolar form, wherein the primary
random pattern and the secondary random pattern are converted to a primary bipolar random pattern and a secondary bipolar
random pattern respectively; and

embedding at least one of the primary bipolar random pattern and the secondary bipolar random pattern in the digital media
as the watermark, wherein the watermark is based on a watermark ID, and wherein the watermark ID is a random pattern.

US Pat. No. 9,262,126

RECOMMENDATION SYSTEM FOR AGILE SOFTWARE DEVELOPMENT

Tata Consultancy Services...

1. A system for generating requirements specification to develop functionalities of a software, the system comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises,
a mapping module configured to map knowledge elements of at least one ontology instance for a domain, selected from among
a plurality of ontology instances in a knowledge base, with another ontology instance, selected from among the plurality of
ontology instances based on an input received from a user and wherein the ontology instance defines a common vocabulary, in
a machine-readable and processable format, for users who share information within the domain associated with the software
being developed, for which the requirements specification is being generated, wherein the mapping module includes a plurality
of bridge classes to specify semantic mappings of conclusions drawn from at least one said plurality of ontology instances;
and

an agile recommendation module configured to,
generate a knowledge corpus from the knowledge base based on the mapped knowledge elements and one or more environmental parameters
selected by the user, wherein:

the one or more environmental parameters are selected to define requirements for developing functionalities of the software;
the one or more environmental parameters include a geographic region; and
the knowledge corpus includes features and associated knowledge elements based on the selected one or more environmental parameters;
receive at least one modification in the knowledge corpus based on a selection of one or more of the features and the associated
knowledge elements in the knowledge corpus by the user, wherein the selection includes one of a modification and enhancement
of the features and the associated knowledge elements;

generate recommendations specific to the domain from the knowledge base based on the received at least one modification, said
generation facilitated by using a plurality of lexical decomposition techniques to resolve a plurality of requirement descriptions;
and

generate the requirements specification for the domain by incorporating the user's response to the recommendations, wherein
the requirements specification indicates prioritization of a plurality of iterations, the plurality of iterations being indicative
of logical and coherent units of functionalities of the software to be developed; and

an extraction module configured to,
apply at least one inference rule on the plurality of ontology instances in the knowledge base to identify an ontology instance
from among the plurality of ontology instances based on the selected one or more environmental parameters; and

extract semantic inferences from the identified ontology instance by matching the selected one or more environmental parameters
and the mapped knowledge elements to provide the knowledge corpus.

US Pat. No. 9,248,837

METHOD AND SYSTEM FOR CONTROLLING A SPEED OF A VEHICLE

TATA CONSULTANCY SERVICES...

1. A method for controlling a speed of a vehicle on a road, the method comprising:
dividing a road into a plurality of segments;
providing a vehicle having a controller including a processor and a non-transitory memory;
capturing, in real time, acceleration data of the vehicle on the road for a segment of the plurality of segments, wherein
the acceleration data includes acceleration samples captured on the segment of the plurality of segments;

computing jerk energy values associated with the vehicle on the segment based upon the acceleration samples;
determining a median jerk energy of the vehicle on the segment based upon the jerk energy values;
computing a predictive median jerk energy of the vehicle on the segment using a statistical equation;
calculating a score associated with the segment based upon the median jerk energy, the predictive median jerk energy, and
a standard deviation;

classifying the segment into one of a first set of categories or a second set of categories based upon the score; and
transmitting a feedback signal to the controller of the vehicle, wherein the feedback signal is indicative of one of reducing,
increasing, or retaining the speed of the vehicle on the segment of the road based upon a classification of the segment into
the first or the second set of categories, and wherein the capturing, the computing the jerk energy values, the determining
the median jerk energy, the computing the predictive median jerk energy, the calculating the score, the classifying, and the
transmitting are performed by the processor using a set of instructions stored in the memory.

US Pat. No. 9,135,671

SECURED COMPUTER BASED ASSESSMENT

TATA CONSULTANCY SERVICES...

1. A method for conducting a secured computer based assessment by a secured assessment system, the method comprising:
receiving a question paper from an assessment conduction center machine by the secured assessment system, wherein the question
paper contains a dummy content having a structure similar to an actual content of the question paper;

creating a question paper metadata template containing metadata of the actual content by the secured assessment system, wherein
the metadata of the actual content is based on a structure of the dummy content;

providing the question paper metadata template by the secured assessment system to the assessment conduction center machine
for loading the actual content of the question paper in the question paper metadata template, without modifying the metadata
contained therein, to generate an examination paper for distribution to machines at one or more exam centers;

obtaining a response of each of a plurality of aspirants corresponding to the examination paper from the machines at the one
or more exam centers by the secured assessment system; and

evaluating the response of each of the plurality of aspirants based on the metadata of the actual content by the secured assessment
system, to generate a result for each of the plurality of aspirants.

US Pat. No. 9,275,307

METHOD AND SYSTEM FOR AUTOMATIC SELECTION OF ONE OR MORE IMAGE PROCESSING ALGORITHM

TATA CONSULTANCY SERVICES...

1. A computer implemented method for automatically selecting one or more algorithms in an image processing environment, the
method comprising:
receiving at least one image;
segmenting each image received into a plurality of image segments;
performing one or more pre-stored algorithms from a plurality of image processing algorithms upon each of the image segments
to obtain a plurality of image processing algorithm outputs;

comparing each of the image processing algorithm outputs against a predetermined threshold image processing output score;
for each of the image processing algorithm outputs exceeding the predetermined threshold image processing output score, recording
the image processing algorithm along with corresponding one or more image segments and associated feature vectors as a training
pair;

receiving one or more incoming pre-processed test images; and
selecting one or more potentially matching image processing algorithms from the training pair for each incoming pre-processed
test image, wherein the potentially matching image processing algorithm is selected by matching a test segment of the incoming
test image and a feature vector associated with the test segment with the one or more segments recorded and feature vectors
associated with the one or more segments recorded.

US Pat. No. 9,128,640

SOFTWARE PRODUCT CONSISTENCY ASSESSMENT

Tata Consultancy Services...

1. A method, executed by a processor, for assessment of consistency of a software product, the method comprising:
obtaining a plurality of element categories and a plurality of configuration elements associated with the software product
being developed, wherein each of the plurality of configuration elements influences software product development, and wherein
each of the plurality of configuration elements pertains to one of the plurality of element categories influencing software
product development;

generating a configuration structure by identifying an association of at least one configuration element of an element category
from among the plurality of element categories with at least one other configuration element of at least one other element
category from among the plurality of element categories, based on one or more identifiers, wherein the at least one configuration
element is associated with the at least one configuration element belonging to same element category or with the at least
one configuration element belonging to different element category;

obtaining a requirement inconsistency matrix (RIM) and a consistency value for each of the plurality of configuration elements
by analyzing the configuration structure, wherein the RIM is indicative of inconsistencies in the configuration structure;
and

determining a requirement consistency index (RCI) based on the RIM and the consistency value for each of the plurality of
configuration elements for assessment of consistency of the software product, the RCI being indicative of an overall consistency
of the software product.

US Pat. No. 9,117,027

METHOD AND SYSTEM FOR COMPLIANCE TESTING IN A CLOUD STORAGE ENVIRONMENT

Tata Consultancy Services...

1. A method of compliance testing system in a cloud storage environment, the method comprising:
Retrieving, by a processor, a definition information asserting competency of a plurality of cloud providers by performing
a capability check and setting a http request message to a server using authentication parameters, wherein the http request
message refers to GET/PUT/POST/DELETE requests, wherein the GET/PUT/POST/DELETE requests are sent for CDMI objects on the
server for performing a functionality and setting a request header for an operation, and wherein the authentication parameters
include login credentials;

identifying, by the processor, a plurality of requisite test cases within a test script, including optionally created data
objects from the data files, conforming to said competency for execution;

executing, by the processor, the http request message on the identified test script;
verifying, by the processor, a http status code and response parameters upon receiving an output response from the server;
and

validating, by the processor, if a requested functionality is executable on the server.

US Pat. No. 9,269,056

METHOD AND SYSTEM FOR ADAPTIVE FORECAST OF WIND RESOURCES

TATA CONSULTANCY SERVICES...

1. A method for determining at least one combined forecast value of non-conventional energy resources for enabling adaptive
forecasting of the non-conventional energy resources, the method comprising:
selecting a historical dataset comprising a first set of forecast values received from one or more predictive forecast models
and a first set of actual values received from one or more measurements of the non-conventional energy resources;

generating one or more variants of machine learning models to model performance of the one or more predictive forecast models
by training the one or more variants of the machine learning models on the historical dataset;

receiving a current dataset comprising a second set of forecast values derived from the one or more predictive forecast models
and a second set of actual values derived from the one or more measurements of the non-conventional energy resources;

correlating the current dataset with the historical dataset to adaptively obtain a filtered historical dataset;
selecting the one or more variants of the machine learning models trained on the historical dataset and evaluating them on
the filtered historical dataset to assign weights to each of the one or more variants of the machine learning models and their
outputs; and

deriving a statistical model in the form of an optimal combination function to determine at least one combined forecast value
by combining weights assigned to the each of the one or more variants of the machine learning models trained based on the
evaluating of the one or more variants of the machine learning models on the filtered historical dataset and the outputs of
the each of the one or more variants of machine learning models trained on the historical dataset,

wherein the selecting, the generating, the receiving, the correlating, the evaluating and the deriving are performed by a
processor using computer-readable instructions stored in the memory.

US Pat. No. 9,299,108

INSURANCE CLAIMS PROCESSING

Tata Consultancy Services...

1. A system for identifying insurance claims fraud and subrogation potential claims, the system comprising:
a processor;
a memory coupled to the processor, wherein the processor executes a plurality of modules stored in the memory, and wherein
the plurality of modules comprising a data acquisition module configured to,

extract claims data from one or more data source, wherein the claims data includes structured data and unstructured data,
and wherein the unstructured data includes imaged content and speech data;

convert the imaged content and the speech data to a textual format, wherein the imaged content includes photos and scanned
copies of claim related information;

combine the claims data, having the textual format of the imaged content and the speech data, to obtain a consolidated claims
record having text data, wherein data, from the claims data, in a language different from a language used in most of the claims
data is translated to the language used in most of the claims data; and

remove noise from the text data of the consolidated claims records to obtain a claim dataset, wherein the claim dataset includes
a plurality of claims;

an analysis module configured to ascertain one or more suspicion indicators in the plurality of claims based on concepts obtained
from a fraud dictionary using one or more analytical technique, wherein the concepts are at least one of words, phrases, and
entities that indicate suspicious claims; and

a scoring module configured to,
assign a score to each of the plurality of claims based on at least one scoring rule comprising one or more scoring parameters,
wherein the score is indicative of a level of suspicion of a claim; and

identify at least one of insurance claims fraud and subrogation potential claims based on the score assigned to each of the
plurality of claims.

US Pat. No. 9,269,070

EPHEMERAL COMMUNICATION

Tata Consultancy Services...

1. A method comprising:
determining, by a processor, one or more request keywords and a location associated with a request received from a requesting
terminal, wherein the request is intended for initiating a real-time ephemeral communication and wherein the determination
is based on parsing the request received from the requesting terminal;

identifying, by the processor, a plurality of target terminals in proximity to the requesting terminal based on the one or
more request keywords, the location associated with the request received from the requesting terminal, and based on at least
one subscription keyword associated with each of the plurality of target terminals, wherein the at least one subscription
keyword corresponds to one of, at least one keyword from the one or more request keywords, and at least one keyword semantically
associated with the one or more request keywords, and wherein the plurality of target terminals are unknown to the requesting
terminal;

transmitting, by the processor, based on the one or more request keywords and the location associated with the request received
from the requesting terminal, a notification to each of a plurality of target terminals, over a communication network, for
joining an ephemeral communication group;

receiving an acceptance notification from at least one target terminal to join the ephemeral communication group;
ranking each member of the ephemeral communication group chronologically based on time at which the acceptance notification
is received from the at least one target terminal, number of strings of the at least one subscription keyword matching with
the one or more request keywords and proximity of the at least one target terminal with the requesting terminal upon receiving
the acceptance notification from the at least one target terminal, wherein the member of the ephemeral communication group
comprises the requesting terminal and the at least one target terminal;

initiating, by the processor, the real-time ephemeral communication between the requesting terminal and the at least one target
terminal from the plurality of target terminals, wherein the real-time ephemeral communication is initiated upon ranking each
member of the ephemeral communication group chronologically; and

terminating, by the processor, the ephemeral communication group when last member leaves the ephemeral communication group,
wherein the member includes at least one of the requesting terminal and the at least one target terminal.

US Pat. No. 9,185,462

METHOD AND SYSTEM FOR IMPLEMENTATION OF AN INTERACTIVE TELEVISION APPLICATION

TATA CONSULTANCY SERVICES...

1. An interactive television application method, comprising:
scanning a video frame of a broadcast content via a communication device;
detecting presence of a quick response image in the video frame, wherein the quick response image is embedded by a broadcaster
in the video frame and the quick response image comprises a time stamp, a universal resource locator (URL) and a content identifier,
and wherein the quick response image is updated by the broadcaster over a period of time by updating the time stamp, the URL
and the content identifier;

decoding, via the communication device, the quick response image to obtain the universal resource locator for facilitating
synchronous interactivity with a content server to access an information content;

receiving the information content associated with the quick response image using the universal resource locator; and
synchronizing the information content interactively with the broadcast content based upon the time stamp and the content identifier,
and wherein the time stamp is updated at a time interval and the content identifier corresponds to currently transmitted information
content in order to maintain synchronous interactivity between the broadcast content and the information content.

US Pat. No. 9,152,534

SYSTEM AND METHOD FOR VALIDATING CONFIGURATION SETTINGS

TATA CONSULTANCY SERVICES...

1. An processor-implemented method for validating configuration settings across different levels of computing devices for
an enterprise application, the method comprising:
setting parameters of a configuration file for a computing environment, wherein the computing environment includes server
setup documents and end-users computer setup documents;

generating a graphical user interface (GUI);
prompting a user to select an option and one or more corresponding parameters through the GUI to execute a validation process;
performing the validation process, after obtaining the option and the one or more corresponding parameters selected by the
user, the validation process being performed by at least one of:

verifying existing configuration settings of computing devices associated with the computing environment and their interactions
in relation to preset parameters for complying with the enterprise application; and

applying required configuration settings based on preset parameters across the computing devices, if the existing configuration
settings of the computing devices are not compliant with optimal configuration settings, wherein the required configuration
settings are stored in a xml or a config file;

generating a compliance report upon performing the validation process; and
notifying the compliance report generated to an intended person or a group via an electronic communication.

US Pat. No. 9,154,904

METHOD AND SYSTEM FOR ACCURATE STRAIGHT LINE DISTANCE ESTIMATION BETWEEN TWO COMMUNICATION DEVICES

Tata Consultancy Services...

1. A method for estimating proximity between a reference communication device (202) and a target communication device (204) for deriving accurate straight line distance between the reference communication device (202) and the target communication device (204), the method comprising:
representing a channel associated with the reference communication device (202) and the target communication device (204) in a form of a statistical model, wherein the channel is represented in an environment, and wherein the statistical model
is based upon an equation, Ld=L0+(c1(|sin(2 ?d/?+?)|2+c2) log (d), wherein, Ld is indicative of received signal strength indicator (RSSI) value at a distance ‘d’, and wherein L0 is indicative of RSSI value at a unit distance, and wherein c1 and c2 are constants indicating properties of the environment and units of distance measurement, wherein ? is indicative of spatial
wavelength of the channel, and wherein ? is measure of multipath phase effects indicating a relative angle of orientation
between the reference communication device and the target communication device;

calculating values of the constants c1 and c2 using the equation, wherein the values of the constants c1 and c2 are calculated by a constant value calculation module (210), and wherein the values of the constants c1 and c2 are calculated corresponding to RSSI values captured for known distances;

capturing a received signal strength indicator (RSSI) value from the target communication device (204) by the reference communication device (202) using a RSSI capturing module (208); and

deriving an accurate straight line distance between the reference communication device (202) and the target communication device (204) by using a straight line distance derivation module (212), wherein the straight line distance is derived by, substituting in the equation, the values of the constants c1 and c2 calculated, the received signal strength indicator (RSSI) value, the RSSI value at the unit distance, the spatial wavelength
of the channel and the relative angle of orientation between the reference communication device (202) and the target communication device (204).

US Pat. No. 9,264,584

VIDEO SYNCHRONIZATION

TATA CONSULTANCY SERVICES...

1. A method for synchronizing a first video file and a second video file, the method comprising:
detecting at least one shot boundary in each of the first video file and the second video file;
selecting a shot boundary, from the at least one detected shot boundary in the first video file, as a first reference point;
selecting a shot boundary, from the at least one detected shot boundary in the second video file, as a second reference point;
transforming images depicting the first reference point and the second reference point into a log-polar domain;
extracting a plurality of features associated with the first reference point and the second reference point;
comparing each of the plurality of features extracted from the first reference point to the corresponding each of the plurality
of features extracted from the second reference point in the log-polar domain based in part on normalized cross correlation;

computing a matching index, indicative of the extent of match between the extracted features of the first reference point
and the second reference point, based on the comparison; and

generating a notification indicating the synchronization of the first video file and the second video file if the matching
index is determined to be greater than a pre-defined matching threshold, wherein the pre-defined matching threshold is an
adaptive threshold based in part on the number of extracted features.

US Pat. No. 9,223,685

VALIDATING A SPECIFICATION ASSOCIATED WITH A SOFTWARE APPLICATION AND/OR A HARDWARE

Tata Consultancy Services...

1. A method for validating a specification associated with a software application and/or a hardware, the method comprising:
receiving, by a processor, the specification comprising expected behaviour requirements specified in a specification language
and semantics in a tabular notation, wherein the expected behaviour requirements indicate a behaviour expected from the software
application and/or the hardware;

identifying, by the processor, a string comprising one or more characters from the specification, wherein the string indicates
the one or more characters conforming to the specification language;

generating, by the processor, a token using the string, wherein the token is a binary representation of the string;
arranging, by the processor, the token into a data structure, wherein the data structure is indicative of an actual behaviour
of the software application and/or the hardware; and

checking, by the processor, the specification conforming to the specification language, wherein the specification is checked
in order to generate a validated specification.

US Pat. No. 9,146,945

AUTOMATED SYSTEM AND METHOD OF DATA SCRUBBING

TATA CONSULTANCY SERVICES...

1. A method for performing data scrubbing at attribute level, comprising:
receiving, by a processor, data containing at least one significant attribute or at least one non-significant attribute and
associated values from distributed data sources, the data sources being assigned weight against each value of the at least
one significant attribute or the at least one non-significant attribute; and

applying, by the processor, a ranking matrix process to the received data, the ranking matrix process comprising:
for sources referring to different values for a significant attribute or a non-significant attribute, computing a combined
weight therefrom;

in response to the combined weight of the significant attribute exceeding a predetermined promotion threshold value, determining
if the combined weight exceeds a predetermined confirmation threshold value;

in response to the combined weight of the non-significant attribute and the significant attribute exceeding the predetermined
promotion threshold value and the predetermined confirmation threshold value respectively, promoting values associated with
the non-significant attribute and the significant attribute to a final templated copy;

in response to the combined weight of the significant attribute or the non-significant attribute being less than the predetermined
promotion threshold value, computing a total weight of all values for the significant attribute or the non-significant attribute
from all sources; and

in response to the total weight exceeding a predetermined task threshold, raising a work item for a user to create a manual
source and reapplying the ranking matrix process.

US Pat. No. 9,183,050

SYSTEM AND METHOD FOR DETERMINING TOTAL PROCESSING TIME FOR EXECUTING A PLURALITY OF JOBS

Tata Consultancy Services...

1. A method for determining a total processing time (T) required for executing a plurality of jobs (n) on a plurality of computing
resources, the method comprising:
receiving the plurality of jobs (n), a mean processing time (?), and a queue length (k), wherein the mean processing time
(?) is indicative of average time required for executing each job of the plurality of jobs (n), and wherein the queue length
(k) indicates a maximum number of jobs capable of being executed by a single computing resource in a predefined time period;

distributing preliminary jobs (p) of the plurality of jobs (n) for execution across the plurality of computing resources based
upon the queue length (k);

determining a first processing time (TF) required for the execution of the preliminary jobs (p), wherein the first processing time (TF) is determined using a residual time function [H(t)] the queue length (k), wherein H(t)=1/??0t(1?F(t)dt, and wherein F(t) is indicative of a cumulative distribution function of a set of random variables (x1, x2 . . . . xp);

distributing remaining jobs (n?p) of the plurality of jobs (n) for execution across the plurality of computing resources based
upon the queue length (k);

computing a second processing time (Ts) required for the executing of the remaining jobs (n?p), wherein the second processing time (Ts) is computed based upon the first processing time (TF) and the queue length (k); and

summing the first processing time (TF) and the second processing time (Ts) in order to determine the total processing time (T), wherein the receiving, the distributing
the preliminary jobs (p), the determining, the distributing the remaining jobs (n?p), the computing, and the summing are performed
by a processor using a set of instructions stored in a memory.

US Pat. No. 9,201,686

TASK EXECUTION BY IDLE RESOURCES IN GRID COMPUTING SYSTEM

Tata Consultancy Services...

1. A method for execution of a task in a grid computing system, the method comprising:
identifying free time-slots and estimating durations of the free time-slots, by an edge device, for execution of a sub-task,
wherein the free time-slots are indicative of an idle state of the edge device;

determining, by the edge device, at least one computation capability parameter of the edge device for execution of a sub-task
during the free time-slots;

creating, by the edge device, an advertisement profile comprising at least one free time-slot, from amongst the free time-slots,
and comprising the duration and the at least one computation capability parameter associated with the at least one free time-slot;
and

providing, by the edge device, the advertisement profile to grid servers in the grid computing system for partitioning a main
task to create a sub-task executable by the edge device.

US Pat. No. 9,135,562

METHOD FOR GENDER VERIFICATION OF INDIVIDUALS BASED ON MULTIMODAL DATA ANALYSIS UTILIZING AN INDIVIDUAL'S EXPRESSION PROMPTED BY A GREETING

TATA CONSULTANCY SERVICES...

1. A method for verifying a gender of an individual and notifying an error based on the verification, the method comprising:
receiving gender identification from the individual, wherein the gender identification information comprises biometric based
gender information, demographic information of the individual, and an expression of the individual;

assigning, by a processor, a gender to the individual by analyzing a modality of the gender identification information, wherein
the modality of the gender identification information is analyzed by employing biometric matching and anthroponomastic analysis;

assigning a confidence fuzzy score to the analyzed modality, wherein the confidence fuzzy score indicates correctness of the
gender assigned to the individual;

verifying, by the processor, the correctness of the gender assigned to-the individual by checking the expression of the individual
by presenting a greeting in a language identifiable by the individual and comparing the confidence fuzzy score with a threshold
qualifying score, wherein the expression of the individual is checked using the modality for capturing images or gestures
in response to the greeting; and

notifying, by the processor, an error based on the verification for modifying the assigned gender.

US Pat. No. 9,974,094

METHOD AND SYSTEM FOR SCHEDULING INTERFERENCE AWARE OPTIMAL UPLINK FOR DEVICE TO-DEVICE COMMUNICATION UNDERLYING LTE NETWORKS

TATA CONSULTANCY SERVICES...

1. A method for an interference aware optimal device-to-device (D2D) communication and uplink scheduling underlying a Long Term Evolution (LTE) network, said method comprising:registering a plurality of users equipment (UEs) with a single cell with one Evolved Node B (eNB) over the Long Term Evolution (LTE) network wherein each of the plurality of users equipment (UEs) is capable of transmitting at least one data packet of multiple flows through the Evolved Node B (eNB);
initiating connection by the plurality of users equipment (UEs) with the Evolved Node B (eNB) by starting random access procedure;
discovering device-to-device (D2D) communication between actively connected plurality of users equipment (UEs) by collecting location and channel information of the actively connected plurality of users equipment (UEs) by the Evolved Node B (eNB) through SRS packets;
segregating and classifying the actively connected plurality of users equipment (UEs) in device-to-device and cellular users by the Evolved Node B (eNB) by utilizing collected location and channel information of the actively connected plurality of users equipment (UEs); and
scheduling two-phase interference aware optimal uplink for the device-to-device communication for the actively connected device-to-device (D2d) users and cellular users segregated out of the plurality of users equipment (UEs) by the Evolved Node B (eNB), underlying the Long Term Evolution (LTE) network, wherein scheduling the two-phase interference aware optimal uplink for the device-to-device communication further comprises:
scheduling cellular users for plurality of Resource Blocks (RBs) set in a Long Term Evolution (LTE) frame, and
scheduling valid and non-interfering device-to-device (D2D) users along with the already scheduled cellular users for the plurality of Resource Blocks (RBs) with no or minimal total interference, wherein interference by an uplink cellular user at a device-to-device (D2D) receiver and interference at the Evolved Node B (eNB) by a device-to-device (D2D) transmitter are below maximum Signal-to-Interference and Noise Ratio (SINRlb).

US Pat. No. 9,277,422

DYNAMIC SELF CONFIGURATION ENGINE FOR COGNITIVE NETWORKS AND NETWORKED DEVICES

Tata Consultancy Services...

1. A system for providing an online optimization for a cognitive wireless network using a qualitative model, the system comprising:
a processor;
a memory coupled to the processor, wherein the processor executes programmed instructions stored in the memory for:
capturing network state information comprising a plurality of state variables, driven by the qualitative model;
identifying, from the plurality of state variables, a goal variable, a plurality of intermediate variables, and a plurality
of control variables;

forming a monotonic signed directional acyclic graph (MSDAG), in form of hierarchy of nodes, comprising the goal variable,
the plurality of intermediate variables, and the plurality of control variables represented in form of a plurality of pair
of nodes, wherein each pair of nodes is connected via an edge having a monotonic information indicated in form of a +ve sign
or a ?ve sign;

simplifying the MSDAG in order to generate a simplified MSDAG, wherein the simplified MSDAG is generated by
a) removing superfluous nodes corresponding to one or more intermediate variables that does not include a predefined constraint,
and

b) replacing a path associated with the superfluous nodes with an edge having an effective path influence, wherein the effective
path influence is a product of the monotonic information of edges forming the path;

identifying one or more control variables from the plurality of control variables, present in the simplified MSDAG, as conflicting
variables and non-conflicting variables, wherein the conflicting variable indicates a control variable having multiple paths
to the goal variable;

assigning an active constraint, to a conflicting control variable having a non-conflicting path with the goal variable, for
guiding movement of the conflicting control variable in said path, wherein the active constraint corresponds to a value within
an operating range of the network; and

optimizing the cognitive wireless network by applying a Monotonic Signed Directional Acyclic-Graph based sequential algorithm
(MSDAG-SOPT) on the simplified MSDAG, wherein the MSDAG-SOPT comprises

a) selecting a path, of the multiple paths, for the conflicting variables, wherein the path comprises multiple intermediate
variables having predefined constraints,

b) identifying an intermediate variable, having the active constraint, amongst the multiple intermediate variables, nearest
to the control variable in the hierarchy of nodes, wherein the intermediate variable is a conflicting control variable from
among the conflicting control variables, and

c) updating the one or more control variables based on the monotonic information associated with the path, wherein at least
one conflicting control variable identified as conflicting is updated until the predefined constraint associated with the
intermediate variable is satisfied.

US Pat. No. 9,355,409

INTELLIGENT COMMUNICATION AND ADVERTISING MECHANISM

Tata Consultancy Services...

1. A method for dynamically synchronizing information to be published on a plurality of broadcasting devices with the information
stored on a server in an intermittent network connectivity by relaying the information through one or more intermediate smart
communication devices in a non-intrusive manner, the method comprising:
detecting, by a first processor, at least one smart communication device from a first set of smart communication devices within
a vicinity of at least one broadcasting device from a first set of broadcasting devices;

establishing, by the first processor, a handshake communication channel between the at least one smart communication device
and the at least one broadcasting device, wherein the at least one smart communication device is authorized using at least
one of an authentication technique, an authorization technique, and a cryptographic technique before establishing the handshake
communication channel;

receiving, by a second processor, a quantity of information to be published on the at least one broadcasting device from the
smart communication device through the established handshake communication channel;

relaying, by the second processor, at least a portion of the quantity of information received from the smart communication
device to at least one smart communication device from a second set of smart communication devices;

establishing, by the second processor, the handshake communication channel between the at least one smart communication device
from the first set of communication devices and at least one broadcasting device from a second set of broadcasting devices;
and

synchronizing, by the second processor, the quantity of information to be published by the at least one broadcasting device
from the second set of broadcasting devices with at least a portion of the quantity of the information received by the at
least one smart communication device from the first set of communication devices and the quantity of information relayed to
the at least one smart communication device from the second set of smart communication devices;

wherein the second set of broadcasting devices is intermittently connected with the server due to the intermittent network
connectivity.

US Pat. No. 9,189,356

DATA AUDIT MODULE FOR APPLICATION SOFTWARE

Tata Consultancy Services...

1. A method for auditing transaction data of an application software by an audit module coupled to a processor, the method
comprising:
extracting, by the audit module, metadata of the application software and associated transaction database based on at least
one audit parameter, wherein the extracting comprises extracting structures of the transaction database without extracting
actual content of the transaction database, wherein the metadata and the associated transaction database correspond to one
or more transaction modules, and wherein the audit module is independent of the application software, and wherein the audit
module is updated when one or more transaction modules configured to process transactions of the application software are
updated;

routing the metadata to a corresponding storage location in an audit metadata database, wherein the audit metadata database
includes metadata records of at least one of elements, attribute, or steps associated with transaction processes, and metadata
details of the relationships between the transactions

creating, by the audit module, at least one audit table script in an audit database of the audit module based on the extracted
metadata and the at least one audit parameter, wherein the at least one audit table script stores data changes of transactions
of the application software in at least one audit table in the audit database;

generating, by the audit module, at least one trigger, wherein the trigger captures data changes from the application software,
based on the at least one audit parameter;

configuring, by the audit module, at least one transaction of the application software whose data changes are to be captured
based on the at least one trigger, wherein the at least one transaction includes associated data and associated relationships;

generating, by the audit module, a transaction specific audit report template based on the extracted metadata and the at least
one trigger; and

capturing, by the audit module, actual data changes from the application software based on the configured at least one transaction,
wherein the captured actual data is filled in the transaction specific audit report template for providing an audit data report.

US Pat. No. 9,213,700

DATA ARCHIVING AND DE-ARCHIVING IN A BUSINESS ENVIRONMENT

Tata Consultancy Services...

1. A computer implemented method for data archiving and de-archiving in a business environment, the method comprising:
obtaining metadata configuration associated with a source database storing transaction information, the transaction information
being related to a business transaction;

generating an archive specification based on the metadata configuration, wherein the archive specification comprises archive-specific
metadata comprising details of data to be archived, details of location where the data is to be archived, and archiving rules,
and wherein the archiving rules are based on at least one of archiving policies, archiving requirements and archiving preferences;

configuring an archive mapping based on the archive specification and the metadata configuration associated with the source
database, wherein the archive mapping is configured in form of an executable entity; and

synchronizing the archive mapping with an update in one of the metadata configuration, wherein the archive mapping is implemented
for archiving the transaction information.

US Pat. No. 9,165,325

SYSTEM AND METHOD FOR DETECTING ANOMALY ASSOCIATED WITH DRIVING OF A VEHICLE

TATA CONSULTANCY SERVICES...

1. A system for detecting an anomaly associated with driving of a vehicle for a plurality of trips, the system comprising:
a processor; and
a memory coupled to the processor, wherein the memory has a plurality of modules stored therein that are executable by the
processor, the plurality of modules comprising:

a receiving module configured to receive jerk energies for a trip of the plurality of trips from a device computing the jerk
energies;

a statistical analysis module coupled to the receiving module to receive the jerk energies therefrom, wherein the statistical
analysis module performs a statistical analysis of the jerk energies and determines a hazard rate for the trip based upon
the statistical analysis;

a trend analysis module coupled to the statistical analysis module to receive the hazard rate for the trip, wherein the trend
analysis module performs a trend analysis of the hazard rate of each trip of the plurality of trips; and

an anomaly detection module coupled to the trend analysis module to receive the trend analysis, wherein the anomaly detection
module detects any anomaly associated with the driving of the vehicle based on the trend analysis.

US Pat. No. 9,483,695

COST EFFECTIVE AND ROBUST SYSTEM AND METHOD FOR EYE TRACKING AND DRIVER DROWSINESS IDENTIFICATION

Tata Consultancy Services...

1. A computer implemented method for determining in real time a drowsiness state of a driver while driving by using images
captured by a near infrared (IR) camera disposed on a vehicle, the method comprising:
determining a face bounding box by determining face coordinates using a segmentation process by collecting one or more features
of a face and by determining a face height based on a difference between at least one of a nose tip position, an eye brow
position, and co-ordinates of the eye brow position;

real time tracking of the face by collecting grey values of features of the face greater than threshold values of said features,
obtained from the segmentation process;

tracking the eyes by computing a centroid of the eye, and calculating a target model histogram and a target candidate model
histogram based on a range of intensity of a histogram equalized image and a morphology transformed image;

real time tracking of the eyes within a face bounding box and collecting a histogram equalization and a morphology transformation
in the face bounding box;

calculating the distance between the target model histogram and the target candidate model histogram and calculating a displacement
of the target centre; and

detecting a drowsiness state of a driver from the eyes by using at least one of histogram equalization, morphological operations
and texture based parameters by using histogram and grey level co-occurrence matrices.

US Pat. No. 9,384,017

SYSTEM AND METHOD TO PROVIDE GROUPING OF WARNINGS GENERATED DURING STATIC ANALYSIS

Tata Consultancy Services...

1. A method for grouping a plurality of warnings generated based on a static analysis of an application program, the method
comprising:
analyzing, by one or more processors executing programmed instructions stored in a memory, the application program to generate
the plurality of warnings;

identifying, by the one or more processors, one or more similar warnings based on the plurality of warnings, the one or more
similar warnings having structurally and semantically similar expressions of interest (EOIs);

generating, by the one or more processors, one or more groups of warnings based on the plurality of warnings, the one or more
groups of warnings including one or more of corresponding identified similar warnings; and

grouping said plurality of warnings, wherein at least one review of the warning in at least one group indicates a review of
one or more similar warnings, wherein the one or more similar warnings is different from a warning reviewed earlier, and wherein
grouping of the one or more similar warnings are generated by the static analysis comprising of:

computing a plurality of must reaching expressions (MREs) in a forward-flow-of-information computation, and
computing a plurality of must live expressions (MLEs) in a backward-flow-of-information computation.

US Pat. No. 9,201,692

SYSTEM AND METHOD FOR GENERATING A PLAN TO COMPLETE A TASK IN COMPUTING ENVIRONMENT

TATA CONSULTANCY SERVICES...

1. A method for optimal representation of a plan state while generating a plan to complete a task in a computing environment,
wherein the optimal representation of the plan state improves efficiency of the computing environment through improved utilization
of memory and reduction of overhead from data retrieval, the method comprising:
providing a processor and a non-transitory memory coupled to said processor, wherein the non-transitory memory comprises programmed
instructions;

representing a plan state including one or more tasks, via the processor and the non-transitory memory, the plan state comprising
a first dataset and a second dataset, wherein the second dataset is received from one or more heterogeneous data sources,
and wherein the first dataset comprises logical atoms represented in a predicate-based schema, and the second dataset comprises
database atoms represented in a non-predicate-based schema, wherein the logical atoms indicate dynamically-varying data to
be accessed frequently, and wherein the database atoms indicate static data, and wherein a database atom of the second dataset
is represented with a path, wherein the path facilitates selective access of the database atoms from the one or more heterogeneous
data sources;

iteratively selecting, via the processor, one or more task methods from a set of predefined task methods and one or more task
operators from a set of predefined task operators, based on the one or more tasks to be completed, to define one or more selected
task methods and one or more selected task operators;

successively executing, via the processor, the selected task methods and the selected task operators in order to complete
the task, wherein the execution of each of the selected task methods and each of the selected task operators includes:

validating a first precondition associated with the selected task method and a second precondition associated with the selected
task operator, by matching a first set of variables associated with the selected task method and a second set of variables
associated with the selected task operator, with at least one of the logical atoms and the database atoms, and wherein matching
of the database atoms is facilitated using the path,

assigning:
if the first precondition is valid, the first set of variables with a first set of values, and
if the second precondition is valid, the second set of variables with a second set of values,
wherein the first set of values and the second set of values are obtained from one or more logical atoms of the first dataset
and one or more database atoms of the second dataset, so matched with the first set of variables and the second set of variables
respectively,

executing:
the selected task method using the first set of values, and
the selected task operator using the second set of values; and
generating, via the processor, a plan based upon the execution of the selected task methods and the selected task operators;
wherein at least one of a logical atom and a database atom is added to the logical atoms and the database atoms respectively,
based on the execution of the selected task operator.

US Pat. No. 9,430,701

OBJECT DETECTION SYSTEM AND METHOD

Tata Consultancy Services...

1. A method for detecting a human in at least one image, the method comprising:
capturing at least one image using a motion sensing device, wherein the at least one image comprises a plurality of pixels
having gray scale information and a depth information, and wherein the gray scale information comprises intensity of each
pixel corresponding to a plurality of objects in the at least one image, and wherein the depth information comprises a distance
information between each object and the motion sensing device;

segmenting, by a processor, the at least one image into a plurality of segments based on the depth information of the plurality
of objects, wherein each segment of the plurality of segments comprises a subset of the plurality of pixels, and each segment
corresponds to one or more objects in the at least one image;

performing a connected component analysis on a segment of the plurality of segments to obtain one or more noisy objects and
one or more candidate objects;

eliminating the one or more noisy objects from the segment using a vertical pixel projection technique;
extracting a plurality of features from the one or more candidate objects present in the segment, wherein the plurality of
features are extracted by,

applying a windowing technique on the segment in order to divide the segment into one or more blocks, wherein each block of
the one or more blocks comprises one or more sub-blocks,

calculating a local gradient histogram (LGH) corresponding to each sub-block of the one or more sub-blocks, and
generating a vector comprising the plurality of features by concatenating the LGH of each sub-block; and
detecting a human or a non-human from the one or more candidate objects based on the plurality of features.

US Pat. No. 9,413,676

SYSTEM AND METHOD FOR REDUCING THE DATA PACKET LOSS EMPLOYING ADAPTIVE TRANSMIT QUEUE LENGTH

Tata Consultancy Services...

1. A computer implemented method for reducing data packet loss in a communication network having multiple interfaces, the
method comprising the steps of:
capturing, a plurality of characteristic features associated with virtual physical interfaces and corresponding user inputs,
wherein each virtual physical interfaces comprises at least one active interface;

determining, a previous bandwidth and a current bandwidth of a communication channel associated with each active interface
based on a predefined configurable time interval;

aggregating bandwidths of multiple active interfaces via a network driver module residing in a memory, wherein the at least
one network driver module has a bandwidth aggregator, a bandwidth estimator and a transmit queue adaptor and estimating an
effective bandwidth ratio based on the determined previous and current bandwidth;

determining, a current transmission queue length based on at least one adaptive transmission queue assigned to each active
interface, wherein the at least one adaptive transmission queue has a default transmission queue length;

estimating, an effective transmission queue length ratio, wherein the effective transmission queue length ratio is a ratio
of the default and the current transmission queue lengths of each of the active interface such that the ratio of default transmission
queue length and the current transmission queue length is proportional with the determined bandwidth ratio based on the predefined
configurable time; and

modifying, via at least two physical interfaces of the multiple active interfaces, transmission queue length of the multiple
active interfaces according to availability of bandwidth associated with the multiple active interfaces, wherein, based on
the modified transmission queue length, data packets having an altered data rate are transmitted to the active interfaces.

US Pat. No. 9,378,120

AUTOMATED TEST EXECUTION PLAN DERIVATION SYSTEM AND METHOD

Tata Consultancy Services...

1. A method implemented in a computer infrastructure having computer executable code embodied on a non-transitory computer
readable storage medium for automatically deriving a test execution plan facilitating concurrent execution of test cases in
a dynamic environment, comprising:
receiving of a plurality of a user specified test cases and corresponding user-configured specification;
extracting associated dependence and a directed dependence graph dynamically across the plurality of test cases for creating
one or more scheduled or non scheduled disconnected components;

creating partitions across the created disconnected components wherein all the test cases across the said components in a
partition are balanced based on corresponding component weights for the non scheduled disconnected components and all the
test cases within the component are balanced based on corresponding component's effective weight for the scheduled disconnected
components; and

automatically deriving the test execution plan from the balanced partition components, wherein the storage medium is a non-transitory
computer readable storage medium,

wherein the associated dependencies are derived from persistent data accesses, wherein the data accesses are of a functional
sequence type, a data reuse type, a shared data type or a user interface structure type or a combination thereof.

US Pat. No. 9,104,966

SELF CONFIGURING KNOWLEDGE BASE REPRESENTATION

Tata Consultancy Services...

4. A system for retrieving a response to a query using a knowledge base representation, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing program instructions stored in the memory
in order to

configure a knowledge base representation comprising a plurality of nodes and a plurality of edges, wherein a node of the
plurality of nodes denotes a knowledge state, and wherein an edge of the plurality of edges denotes a path between two nodes;

receive a query from a user;
extract metadata from the query, wherein the metadata comprises content of the query, origin of the query, time of the query
and personal information of the user;

re-configure the knowledge base representation by
designating at least one node, present in the knowledge base representation, either as an active node or an inactive node,
wherein the at least one node is designated based upon the metadata,

assigning a weight corresponding to at least one edge based upon conditional probabilities associated with the at least one
edge, wherein the conditional probabilities indicates measure of connectivity between nodes connected via the at least one
node, and wherein the conditional probabilities are measured based upon the metadata and

obtaining a reconfigured knowledge base representation based upon the designation of the at least one node and the weight
corresponding to the at least one edge;

obtaining a reconfigured knowledge base representation based upon the designation of the at least one node and the weight
corresponding to the at least one edge; and

retrieve a response specific to the user by using the reconfigured knowledge base representation.

US Pat. No. 9,594,816

SYSTEM AND METHOD TO PROVIDE ANALYTICAL PROCESSING OF DATA IN A DISTRIBUTED DATA STORAGE SYSTEMS

Tata Consultancy Services...

1. A system for analytical processing of data in a distributed data storage system, the system comprising a processor and
a memory storing instructions, the instructions comprising:
a data extraction module configured to perform one or more elementary analytical operations while extracting data from one
or more source databases in one or more data formats, the one or more source databases having one or more types of constraints
and structures wherein the one or more elementary analytical operations facilitates condition checking; and

a validation module configured to perform a repetitive data sorting operation in one or more stages wherein the repetitive
data sorting operation identifies and categorizes the extracted data as a valid data and an invalid data, and stores the valid
data and the invalid data in one or more corresponding databases;

a processing engine configured to perform one or more data refinement operations while the data is being extracted wherein
the processing engine performs one or more data refinement operations in parallel to the one or more elementary analytical
operations performed by the data extraction module, the processing engine comprising:

a mapping module configured to perform one or more types of mapping operations of the categorized data based on one or more
mapping rules wherein the one or more types of mapping operations include data mapping from one table to another table, from
two or more data paths and splitting of data into multiple output paths in a single step; and

a transformation module configured to perform a secondary analytical transforming operation, based on one or more business
rules, of the mapped categorized data to obtain a transformed categorized data, wherein the transformed categorized data is
stored in a target area in the distributed data storage system.

US Pat. No. 9,424,743

REAL-TIME TRAFFIC DETECTION

TATA CONSULTANCY SERVICES...

1. A method for real-time traffic detection, wherein the method comprising:
capturing ambient sounds as an audio sample in a user device;
segmenting the audio sample into a plurality of audio frames;
identifying periodic frames amongst the plurality of audio frames, wherein the identifying comprises separating the plurality
of audio frames into the periodic frames, non-periodic frames, and silenced frames based on a short term energy level (En)
and a Power Spectral Density (PSD) of the plurality of audio frames; and

extracting spectral features of the periodic frames for real-time traffic detection.

US Pat. No. 9,391,851

SYSTEM AND METHOD FOR DETERMINING TOTAL PROCESSING TIME FOR EXECUTING A PLURALITY OF JOBS

Tata Consultancy Services...

1. A method for determining a total processing time (T) for executing a plurality of jobs (n) comprising a set of jobs (z)
and a set of priority jobs (x), the method comprising:
receiving the set of jobs (z), a mean processing time (?), and a queue length (k), wherein the mean processing time (?) is
indicative of average time required for executing a job of the plurality of jobs (n), and wherein the queue length (k) is
indicative of a maximum number of jobs capable of being executed by a single computing resource in a predefined time period;

distributing the set of jobs (z) for execution across a plurality of computing resources (p) based upon the queue length (k);
receiving the set of priority jobs (x) when a subset of jobs (z?y) from the set of jobs (z) has been executed in a first processing
time (TF);

deferring an execution of a set of remaining jobs (y) from the set of jobs (z) on receipt of the set of priority jobs (x);
distributing the set of priority jobs (x) for execution based on a probability distribution function [Q(t)]x, wherein the probability distribution function [Q(t)]x is indicative of distribution of time for the execution of the priority jobs (x);

computing, via a processor, a second processing time (TS) required for the execution of the priority jobs (x), and wherein the second processing time (TS)=?x (?e??x/x!)[Q(t)]x; and

determining, via the processor, a third processing time (TT) required for the execution of the remaining jobs (y) based upon the first processing time (TF); and

summing the first processing time (TF), the second processing time (TS), and the third processing time (TT) in order to determine the total processing time (T).

US Pat. No. 9,341,481

METHOD AND SYSTEM FOR PROVIDING TOURIST ASSISTANCE AND GUIDED NAVIGATION BY METADATA TRANSMISSION

Tata Consultancy Services...

1. A computer-implemented method for providing tourist assistance and guided navigation of a tourist spot, via a metadata
transmission across a communication network using beyond audible frequency signal and processing thereof, the method comprising:
emitting an encoded metadata over the beyond audible frequency signal using a beyond audible frequency signal emitter;
receiving the said emitted beyond audible frequency signal along with the said encoded metadata on a tourist communication
device using a beyond audible frequency signal receiver;

parsing the said received encoded metadata using metadata parser;
extracting at least one barcode received along with encoded metadata using at least one barcode extractor and decoding the
extracted barcode received along with encoded metadata using barcode decoder;

retrieving the tourist information from the received metadata and barcode information, wherein the tourist information comprises
of likes and dislikes of the tourist regarding an area of interest, cuisines and personal choices retrieved from social network
of the tourist;

retrieving the additional detailed tourist spot related information by accessing at least one web link received along with
encoded metadata for plurality of web based services using at least one information retrieval system by accessing at least
one cloud hosting social network through at least one web server;

mashing up the retrieved tourist information with decoded barcode related information and the additional detailed tourist
spot information using at least one information mash up system;

rendering the mashed up information using at least one page formatter; and
displaying the mashed up information on the tourist communication device using at least one tourist's communication device.

US Pat. No. 9,596,562

PORTABLE ELECTRONIC DEVICE AND METHOD OF RECORDING MOBILITY OF THE PORTABLE ELECTRONIC DEVICE

Tata Consultancy Services...

1. A method for recording a mobility of a portable electronic device, comprising:
detecting, by one or more hardware processors executing programmed instructions stored in a memory of the portable electronic
device, a movement of the portable electronic device using a first sensor;

determining velocity, a position coordinate, and a time coordinate of the portable electronic device using a second sensor
and modifying polling interval or sensing region of at least one of the first sensor and the second sensor, based on the movement
exceeding a threshold level, wherein the threshold level indicates a speed and a time period associated with the movement
and wherein the threshold level is dynamically changed based on the detected movement from the first sensor and the determined
velocity, position coordinate, and time coordinate from the second sensor in a pre-determined duration; and

recording one or more values corresponding to the determined velocity, the position coordinate, and the time coordinate, the
one or more values representing mobility of the portable electronic device.

US Pat. No. 9,489,382

DIGITAL PUBLISHING PLATFORM

TATA Consultancy Services...

1. A method comprising:
receiving, via a network, an electronic data item including at least one content item;
based on a type of the electronic data item, identifying in a configuration setting repository, a normalized data type for
which the electronic data item is to be stored in;

processing, through execution of instructions on at least one computer processor, the electronic data item to transform the
electronic data item to the normalized data type so identified;

extracting content items from the electronic data item;
performing a semantic analysis on each extracted content item to generate metadata descriptive of each respective content
item;

storing each extracted content item in a content repository;
storing, in a metadata repository, the metadata generated for each respective content item with an association to the respective
content item;

receiving, via the network, a textual content query from a requesting computing device, and submitting the textual content
query to the metadata repository;

receiving the metadata in response to the textual content query, and identifying a plurality of content items based on the
metadata;

receiving an aggregation of the metadata by submitting the metadata to an aggregation component of a digital publishing platform;
submitting the aggregation of the metadata to a rendering component of the digital publishing platform to generate a content
rendering including each content item referenced in the aggregation of the metadata;

receiving the content rendering in the form of an electronic document from the rending component; and
transmitting the electronic document file to the requesting computing device via the network.

US Pat. No. 9,111,545

HAND-HELD COMMUNICATION AID FOR INDIVIDUALS WITH AUDITORY, SPEECH AND VISUAL IMPAIRMENTS

TATA CONSULTANCY SERVICES...

1. A method for communication between a plurality of users, the method comprising:
receiving a message from a first user over a first handheld communication device, wherein the message comprises at least one
of an image message, a video message, a sign message, a text message, an audio message, and a Braille code, wherein the first
user has one or more impairments comprising a visual impairment, a speech impairment, and an auditory impairment;

extracting discrete data from the message by applying at least one of a feature extraction or an action extraction on the
message, wherein the discrete data comprises at least one of facial expressions, emotions, video data, sign data, text data,
and audio data;

generating meaningful data from the discrete data by comparing discrete data with at least one of a) pre-stored parameters
or b) a first pre-defined library, wherein the pre-stored parameters are indicative of at least one of a tone of the audio
of the first user and an accent of the audio of the first user, and wherein the first pre-defined library comprises images,
texts, Braille codes, videos, and signs;

transmitting the meaningful data to a second user, wherein the second user has none or one or more impairments comprising
a visual impairment, a speech impairment, and an auditory impairment;

receiving the meaningful data by the second user over a second handheld communication device;
converting at the second handheld communication device the meaningful data into a output data according to a profile of the
second user by selecting images, texts, Braille codes, videos, audios and signs stored in a second predefined library, wherein
the meaningful data is converted into output data based on the pre-trained data stored in a database associated with the second
handheld communication device, wherein the pre-trained data stores training samples gathered from the first user; and

providing a user interface for facilitating the second user to access the output data.

US Pat. No. 9,461,978

SYSTEM AND METHOD FOR MANAGING ROLE BASED ACCESS CONTROLS OF USERS

Tata Consultancy Services...

1. A method for role based access control for a plurality of users in a heterogeneous enterprise environment, the method comprising:
creating, by a processor, a plurality of provisioning units, wherein each provisioning unit represents one or more functional
roles with respect to an organizational context;

establishing, by the processor, a functional relationship between each of the plurality of provisioning units and one or more
applications of a plurality of applications by mapping each of the one or more applications with each of the plurality of
provisioning units;

mapping, by the processor, a user of a plurality of users with a provisioning unit of the plurality of provisioning units
having at least one functional role of the one or more functional roles associated with the user;

creating, by the processor, a role-context for the user by mapping 1) the at least one functional role of the one or more
functional roles associated with the user, 2) the provisioning unit mapped with the user, 3) an application context of each
the one or more applications associated with the mapped provisioning unit, represented by an identity of one or more IT resources,
and 4) a business function context represented by categorization of access rights as defined in the one or more IT resources
as mentioned in the application context in order to get access to the one or more applications;

register, by the processor, one or more services to initialize the at least one functional role of the user to receive the
access right with the one or more applications based on the role-context of the user to enable the role-context based access
control for the user; and

receiving, from a computer of the user, an access permission to the one or more applications, based on the role context of
the user, wherein the access permission is received from the processor.

US Pat. No. 9,384,729

METHOD AND SYSTEM FOR DETECTING BOUNDARY OF COARTICULATED UNITS FROM ISOLATED SPEECH

Tata Consultancy Services...

6. A system for detecting boundary of at least two coarticulated units from at least one isolated speech segment, comprising:
a processor; and
a memory storing processor-executable instructions to:
store at least one speech signal in at least one vector;
define at least one time window and one or more recurrence plot parameters for the stored vector;
calculate at least one recurrence matrix for the defined time window;
shift the time window for scanning the stored vector;
find at least one similarity between successive recurrence matrixes based on a suitable distance measure;
generate at least one similarity score for similarity between the successive recurrence matrixes; and
flag at least one similarity score with at least one type of coarticulated boundary.

US Pat. No. 9,111,160

COMPUTER IMPLEMENTED NON-INTRUSIVE REMOTE MONITORING AND CAPTURING SYSTEM AND A METHOD THEREOF

TATA CONSULTANCY SERVICES...

1. A computer implemented non-intrusive remote monitoring and capturing system for remotely monitoring operations on a plurality
of workstations from an administrator, said system comprising a first application installed in each of the workstations and
a second application installed in said administrator, said first application and said second application being accessible
to each other via a network, said system comprising:
first receivers configured in each of said workstations, said first receivers adapted to activate or deactivate said first
application, a first extractor in said first receiver adapted to extract a first operation command from a signal embedded
in a format selected from the group consisting of an email format, a short message service (SMS) format, a missed call format,
a voice command format and a combination thereof; said first extractor of said first receiver further adapted to extract a
second operation command from said signal for the purpose of transferring digital footages;

audio-video capturing devices associated with the workstations, said audio-video capturing device in communication with said
first receiver, said audio-video capturing device having a set of digital footage acquiring rules stored in a first repository,
said audio-video capturing device comprising:

a second receiver adapted to receive the first operation command from the first receiver to activate or deactivate said audio-video
capturing device;

an acquiring module in communication with said second receiver, said acquiring module configured to acquire digital footages
corresponding to the workstation associated with said audio-video capturing device;

first transmitters configured in each of said workstations, said first transmitter in communication with said audio-video
capturing device, said first transmitter in communication with the first receiver to receive the extracted second operation
command, said first transmitter adapted to transmit the acquired digital footage signals along with a uniquely coded pilot
signal to identify each of said workstations;

a third receiver configured in said administrator, said third receiver adapted to receive the digital footage signal along
with the pilot signal from said workstation, said third receiver adapted to decode the pilot signal to identify said corresponding
workstation, further said third receiver adapted to push the digital footage signal into an appropriate memory segment corresponding
to said workstation;

an analytical engine configured in a processor of said administrator by means of the second application, said analytical engine
having a third repository for storing analyzing rules, said analytical engine configured to access said memory segments storing
the digital footage signals and further adapted to extract the digital footages from the signals, said analytical engine adapted
to generate analytical reports related to the acquired digital footages corresponding to each of said workstations, said analytical
engine further configured to store the analytical reports corresponding to each of said workstations into said memory segments;
and

an editor configured in said processor of said administrator by means of the second application, said editor having a plurality
of editing-tools and corresponding editing rules stored in a fourth repository, said editor configured to access said memory
segments storing the digital footage signals and further adapted to extract the digital footages from the signals, said editor
adapted to facilitate utilization of the editing-tools for the purpose of editing the acquired digital footages using the
editing-tools, further said editor configured to store the edited digital footage related to the originally acquired digital
footage corresponding to each of said workstations into said memory segments.

US Pat. No. 9,509,788

SOCIAL NETWORK GRAPH BASED SENSOR DATA ANALYTICS

Tata Consultancy Services...

1. A system for sensor data accumulation and analysis, the system comprising:
a plurality of sensors adapted to generate sensor information, wherein each sensor is associated with one or more users related
to each other;

a sensor social network connecting the plurality of sensors, and storing a plurality of user profiles and the sensor information;
an aggregator to formalize the sensor information by applying social networking graph as a rule based filtering on the sensor
information and stream the formalized sensor information to corresponding sensor data fields stored on the sensor social network;

an identity associator, deployed on the sensor social network, adapted to derive at least one association among the formalized
sensor information based on at least one parameter related to at least one of the user profiles, user's interest or user's
objective to determine related sensors from the plurality of sensors; and

an analytical engine configured to analyze the sensor information of the related sensors and share the analyzed sensor information,
among the related sensors, to achieve a common objective of the one or more users.

US Pat. No. 9,381,928

SYSTEM AND METHOD FOR GENERATING VEHICLE MOVEMENT PLANS IN A LARGE RAILWAY NETWORK

TATA CONSULTANCY SERVICES...

1. A method for re-generating reactive on-line train schedules for trains running in the railway network, wherein the railway
network is a country wide railway network, the method comprises
interactively partitioning the railway network, and
continuously executing sense and respond cycles, and
wherein the partitioning of the railway network comprise:
partitioning the railway network into first type sub-networks and second type sub-networks,
wherein the first type sub-networks and the second type sub-networks are user configurable,
and wherein the first type sub-networks comprise one or more trunk line sub-networks and one or more feeder line sub-networks,
and wherein the one or more feeder line sub-networks are grouped based on a user configuration into one or more feeder line
sub-network groups,

and wherein the second type sub-networks comprise one or more supervisory dispatch control territories;
and wherein executing each sense and respond cycle comprises:
receiving static data updates from a user, and dynamic data corresponding to trains from field;
analyzing, by a set of processors, the dynamic data associated with the trains to compute a degree of deviation of an actual
status of the trains with respect to an incumbent train schedule for each trunk line sub-network of the one or more trunk
line sub-networks and each feeder line sub-network of the one or more feeder line sub-networks, wherein the incumbent train
schedule is computed in one or more preceding sense and respond cycles or copied from timetable data;

selecting, one or more first level train scheduling methods from first level train scheduling methods relevant to the one
or more trunk line sub-networks and the one or more feeder line sub-networks, based on a degree of deviation and congestion;

computing a number of computing processors required for executing selected one or more first level train scheduling methods
for each trunk line sub-network and each feeder line sub-network;

communicating a request for requirement of the number of computing processors to a controller method;
receiving identities of dynamically allocated computing processors from the controller method;
executing, in parallel, the one or more first level train scheduling methods so selected, for each trunk line sub-network
and each feeder line sub-network group, and in sequence for each feeder line sub-network in each feeder line sub-network group,
on the dynamically allocated computing processors by using at least one of updated static data, the dynamic data, and advisory
information as relevant to each trunk line sub-network and each feeder line sub-networks, to generate a first level train
schedule for each trunk line sub-network and each feeder line sub-network, wherein the advisory information is received from
the one or more preceding sense and respond cycles;

generating, in parallel, by the processor, a second level train schedule for each of the one or more supervisory dispatch
control territories by executing a second level train scheduling method using the first level train schedule of each trunk
line sub-network and each feeder line sub-network, in parallel, to

identify and resolve one or more conflicts among the first level train schedules of the one or more trunk line sub-networks
and the one or more feeder line sub-networks, and

compute the advisory information based on resolutions of the one or more conflicts, and wherein the one or more conflicts
occur at junction points of the one or more trunk line sub-networks and the one or more feeder line sub- networks;

collating, by the processor, the second level train schedule for each of the one or more supervisory dispatch control territories
to generate a reactive on-line train schedule for the railway network; and

displaying the reactive online train schedule on a user interface.

US Pat. No. 9,355,258

SYSTEM AND METHOD FOR DATABASE PRIVACY PROTECTION

Tata Consultancy Services...

1. A database privacy protection method comprising:
determining, via one or more processors, a distribution pattern of one or more database attributes by applying Kurtosis measurement
of data corresponding to the attributes to ascertain whether the distribution pattern is leptokurtic;

determining, via the one or more processors, an adversary information gain for a k-anonymity data sanitization model and adversary
information gain for a k-anonymity l-diversity data sanitization model, wherein the adversary information gain is the difference
between entropy of S and a conditional entropy H(S|Q), and wherein S corresponds to a set of the attributes;

comparing, via the one or more processors, the adversary information gain of the k-anonymity data sanitization model with
the adversary information gain of the k-anonymity l-diversity data sanitization model repeatedly until the adversary information
gain of the k-anonymity data sanitization model equals the adversary information gain of the k-anonymity l-diversity data
sanitization model;

determining, via the one or more processors, an optimal value of l for performing l-diversity based data sanitization on database
records related to the attributes and an optimal value of k for performing k-anonymity based data sanitization on the attributes;
and

performing, via the one or more processors, privacy preservation of the attributes by only k-anonymity data sanitization model
when k is greater than l and the distribution pattern is leptokurtic.

US Pat. No. 9,350,637

SYSTEMS AND METHODS FOR GENERATING AND IMPLEMENTING MONITORING SOLUTIONS FOR A COMPUTING-BASED INFRASTRUCTURE

Tata Consultancy Services...

1. A system for generating monitoring solutions for a computing-based infrastructure, the system comprising:
a processor device;
a monitoring plan generator coupled to the processor device, wherein the monitoring plan generator is configured to, receive
a plurality of monitoring objectives, wherein the monitoring objectives are based at least on one of infrastructure information
and service related requirements associated with one or more computing system systems within the computing-based infrastructure;

receive a plurality of monitoring elements, wherein the monitoring elements include attributes associated with functional
status of the one or more systems; and

assess values of each of the attributes of the monitoring elements with a predefined threshold value to determine whether
the one or more systems are operating in an expected manner; and

generate a monitoring plan based on the plurality of monitoring objectives and the plurality of monitoring elements and based
on the assessment of values of each of the attributes, wherein the generated monitoring plan is in the form of monitoring
specification specifying a plurality of tags populated based on the plurality of monitoring objectives and the plurality of
monitoring elements; and

a monitoring solution generator coupled to the processor, the monitoring solution generator configured to generate a monitoring
solution based on the monitoring plan, and generate configurable settings for configuring at least one monitoring tool as
specified by the monitoring solution.

US Pat. No. 9,116,839

PREDICTION OF HORIZONTALLY TRANSFERRED GENE

Tata Consultancy Services...

1. A computerized method for identifying a horizontally transferred gene, the method comprising:
sequencing genetic material obtained from a plurality of organisms to obtain a plurality of sequenced microbial genomes;
computing pairwise dot products between unit cluster vectors determined from a plurality of reference genomes;
selecting three most orthogonal cluster vectors as a set of reference points, based on the computed pairwise dot products,
wherein the three selected cluster vectors have least pairwise dot product amongst their respective unit cluster vectors;

transforming genomic fragments, from the plurality of sequenced microbial genomes, into fragment points based on the set of
reference points;

defining a cuboid in a three dimensional space, wherein the cuboid encompasses the fragment points corresponding to the genomic
fragments from the plurality of sequenced microbial genomes;

dividing the cuboid iteratively into a plurality of grids, wherein a number of fragment points corresponding to the genomic
fragments in each grid is less than a predefined percentage of total number of genomic fragments;

selecting one or more grids corresponding to a selected genome from the plurality of grids;
classifying each of the selected grids as one of majority, minority, and mixed grids, based on a threshold defining a minimum
number of fragment points corresponding to the selected genome in a grid, for the grid to be classified as a majority grid
for the selected genome, and another threshold defining a maximum number of fragment points corresponding to the selected
genome in the grids, for the grid to be classified as a minority grid; and

identifying, from the minority and the mixed grids, at least one compositionally distinct genomic fragment corresponding to
the horizontally transferred gene as a horizontally transferred gene fragment based on a distance ratio assessment.

US Pat. No. 9,116,827

SYSTEM AND METHOD FOR OPTIMIZING LUBY TRANSFORM (LT) CODES TO FACILITATE DATA TRANSMISSION OVER COMMUNICATION NETWORK

Tata Consultancy Services...

1. A method for optimizing Luby Transform (LT) codes to facilitate data transmission over a communication network, the method
comprising:
receiving demands for data from a plurality of sinks, wherein the data is collected from one or more sources, and wherein
the sources are employed with the LT codes to encode the data;

calculating a demand vector for each sink of the plurality of sinks based upon the demands;
generating a generalized LT code for an objective function determined for a given demand vector irrespective of the LT codes
employed at the sources, wherein the generalized LT code is generated based upon a size of the data, and wherein the generalized
LT code is generated for a set of sinks of the plurality of sinks;

designing morphing rules by optimizing a degree distribution of the LT code and mapping the LT code employed at the source
to the generalized LT code;

optimizing the generalized LT (GLT) code for the objective function by using a linear transformation to obtain optimal morphing
rules, wherein the linear transformation is parameterized in terms of one or morphing rules;

re-targeting the LT code employed at the source by re-encoding a LT encoded data in accordance with the optimal morphing rules
to produce a LT re-encoded data; and

transmitting the LT re-encoded data with respect to the demands of the one or more sinks;
wherein the receiving, the calculating, the generating, the designing, the optimizing, and the re-targeting, and the transmitting
are performed by a processor.

US Pat. No. 9,519,494

OPTIMIZING APPLICATION RESOURCES

Tata Consultancy Services...

1. A method for optimizing application resources utilized for rendering graphical user interfaces (GUIs) of an application
running on a computing device, the method comprising:
receiving a current GUI of the application, wherein the current GUI is a graphical interface view currently being displayed
to a user on a display screen of the computing device;

ascertaining whether the current GUI is present in a current view sequence, wherein the current view sequence comprises one
or more GUIs, from amongst a plurality of GUIs of the application, previously viewed by the user;

selecting, for the current GUI being present in the current view sequence, a previous view sequence, wherein a last GUI of
the previous view sequence matches the current GUI;

updating, for the current GUI, a back view probability, wherein the back view probability indicates a probability of the user
to navigate to the current GUI from a last GUI of the current view sequence;

determining at least one probable GUI based on the selection; and
obtaining application resources pertaining to the at least one probable GUI for instant rendering of the at least one probable
GUI to the user, wherein the at least one probable GUI is a GUI to which the user may navigate from the current GUI.

US Pat. No. 9,473,493

SECURE DATA COMMUNICATION

Tata Consultancy Services...

1. A method for secure data communication over a network, the method comprising:
generating, from an authentication server, a visual flashing code containing encrypted data, wherein the visual flashing code
is transmitted to a user on a user device;

obtaining real time biometric data of the user from at least one biometric device connected to the user device;
authenticating the user based on the real time biometric data; and
allowing, based upon the user biometric authentication by the server, the user device to decrypt the encrypted data contained
in the visual flashing code based on Electroencephalogram (EEG) data comprising brain signals indicative of brain activity
of the user corresponding to the visual flashing code.

US Pat. No. 9,436,486

SYSTEM AND METHOD FOR CONFIGURING AND EXECUTING SERVICES

Tata Consultancy Services...

1. A method for configuring and executing services, the method comprising:
configuring a plurality of operational services and a plurality of technology services based on information stored in a knowledge
repository, wherein the plurality of operational services and the plurality of technology services correspond to a plurality
of messages, and wherein at least one operational service is configured for at least one technology service, wherein the configuration
comprises:

transformation, validation and operation data associated with each operational service, a service adapter and a tool associated
with each operational service; and

a plurality of operations to be performed by the each operational service by invoking the tool corresponding to each operational
service;

receiving, by a processor, a first message;
identifying, by the processor, a first operational service among the plurality of operational services, associated with the
technology service among the plurality of operational services, and a first operation to be performed by the first operational
service based on the configuration;

routing, by the processor, the first message to the first operational service identified;
executing, by the processor, the first operation to be performed by the first operational service, wherein the first operation
is executed by invoking a first tool, wherein the first tool is invoked based on the configuration;

receiving, by the processor, a second message from the first operational service based on execution;
identifying, by the processor, a second operational service among the plurality of operational services, and a second operation
to be performed by the second operational service corresponding to the second message based on the configuration;

routing, by the processor, the second message to the second operational service; and
executing, by the processor, the second operation to be performed by the second operational service, wherein the second operation
is executed by invoking a second tool, wherein the second tool is invoked based on the configuration.

US Pat. No. 9,437,115

METHOD AND SYSTEM FOR DISTANCE EDUCATION BASED ON ASYNCHRONOUS INTERACTION

Tata Consultancy Services...

1. A method for enabling asynchronous interaction between a first station and a second station, the method comprising:
receiving, at the second station, a multimedia-based message via a first network having a first bandwidth, the second station
being geographically separated from the first station, wherein the multimedia-based message comprises embedded metadata, wherein
the metadata comprises a media time point during a duration of the display of the multimedia-based message for at least one
rhetoric question hierarchy (RQH);

obtaining, based on the embedded metadata, via a second network having a second bandwidth, at least one RQH associated with
the multimedia-based message from a content repository, wherein the first bandwidth is larger than the second bandwidth;

displaying the multimedia-based message and the information request at the media time point included in the metadata;
receiving a first response to a first question in the at least one RQH; and
evaluating the first response.

US Pat. No. 9,418,073

SYSTEM AND METHOD FOR CONVERTING FORMAT OF JOBS ASSOCIATED WITH A JOB STREAM

Tata Consultancy Services...

1. A system for converting a format of jobs associated with a software job stream, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored in the memory,
and wherein the plurality of modules comprise:

a receiving module configured to receive a file in an original format, wherein the file is associated with the software job
stream, wherein the file comprises at least one syntax defining the jobs and a plurality of schedules;

an identification module configured to identify at least one keyword associated with the jobs and the plurality of schedules
along with a definition format of the jobs and the plurality of schedules; and

a converting module configured to:
check at least one of a mandatory parameter and an optional parameter associated with the at least one keyword of the original
format to apply at least one logic rule, wherein the at least one logic rule defines a mapping condition with respect to an
attribute of at least one of the mandatory parameter and the optional parameter;

map the at least one keyword and the definition format with a set of predefined keywords and a pre-defined definition format
by using the at least one logic rule in order to obtain at least one mapped keyword and at least one mapped definition format;
and

generate a desired syntax in a desired format by using the at least one mapped keyword and the at least one mapped definition
format, thereby facilitating conversion of the format of the jobs.

US Pat. No. 9,411,426

EVALUATING ONSCREEN KEYBOARD

Tata Consultancy Services...

1. A method for evaluating onscreen keyboards, the method comprising:
receiving, by one or more processors, a first set of parameters from a user using a first onscreen keyboard,
and a second set of parameters from the user using a second onscreen keyboard, wherein the first set of parameters is indicative
of a usability of the first onscreen keyboard and the second set of parameters is indicative of a usability of the second
onscreen keyboard;

determining, by the one or more processors, a first cognitive score for the first onscreen keyboard using the first set of
parameters and a second cognitive score associated with the second onscreen keyboard using the second set of parameters;

determining, by the one or more processors, a first validation score associated with the first onscreen keyboard by capturing
the EEG signal while the user is using the first onscreen keyboard, and determining a second validation score associated with
the second onscreen keyboard by capturing the EEG signal while the user is using the second onscreen keyboard, wherein determining
the first validation score and the second validation score comprises:

applying, by the one or more processors, a Common Spatial Pattern (CSP) filter to the EEG signal to obtain a filtered EEG
signal;

extracting, by the one or more processors, EEG features from the filtered EEG signal using a sliding window approach, wherein
the EEG features comprise at least one of a log variance, HJORTH parameters, frequency band powers, and spectral distributions;

classifying, by the one or more processors, the EEG features using a linear Support Vector Machine (SVM); and
determining, by the one or more processors, the first validation score and the second validation score based upon the classification
respectively;

comparing, by the one or more processors, the first validation score with the first cognitive score to validate the first
cognitive score; and

comparing, by the one or more processors, the second validation score with the second cognitive score to validate the second
cognitive score.

US Pat. No. 9,565,559

METHOD AND SYSTEM FOR PRESERVING PRIVACY DURING DATA AGGREGATION IN A WIRELESS SENSOR NETWORK

Tata Consultancy Services...

1. A method for securely aggregating data in a non-hierarchical wireless network by robust twin-key management scheme, the
method comprising processor implemented steps of:
grouping a first set of active nodes to form one or more clusters wherein the one or more clusters form a second set of active
nodes comprising four or more active nodes of the first set of nodes;

dividing the second set of active nodes to form two or more friend pairs, each friend pair comprising two or more nodes of
the second set of active nodes;

maintaining a pool of K number of keys and dividing the pool of K number of keys into k number of keys and (K-k) number of
keys;

randomly distributing the (K-k) number of keys to the first set of active nodes in the network;
sharing the (K-k) number of keys with a server node for enabling secure communication between each individual node of the
first set of active nodes in the network with the server node wherein pattern of sharing of the (K-k) number of keys are stored
at the server node for each active node of the first set of active nodes;

randomly distributing k number of keys to the first set of active nodes;
sharing the k number of keys with the server node for enabling secure communication between each individual node of the first
set of active nodes via the server node wherein the k number of keys are stored at the first set of active nodes;

establishing communication between at least one node from the first set of active nodes and the server node based on one or
more first shared keys randomly selected from the (K-k) number of keys; and

establishing communication between two or more nodes of the first set of active nodes via the server node based on one or
more second shared keys randomly selected from the k number of keys;

encrypting the data with the one or more first shared keys, to be sent to the server node by the at least one node from the
first set of active nodes;

encrypting the data with one or more second shared keys, to be sent between the two or more nodes via the server node; and
aggregating securely the data in a non-hierarchical wireless network.

US Pat. No. 9,436,756

MEDIA SYSTEM FOR GENERATING PLAYLIST OF MULTIMEDIA FILES

TATA CONSULTANCY SERVICES...

1. A system comprising:
a processor; and
a memory coupled to the processor for executing a plurality of modules present in the memory, the plurality of modules comprising:
a mood detection module configured to
mine records associated with a user from one or more sources comprising at least one of social media, a personal information
database, and a stream database associated with the user, wherein the records comprises user activity information on the social
media, health parameters of the user and personal information of the user and wherein the stream database comprises information
pertaining to the health parameters of the user, and wherein the health parameters are fetched from at least one biological
sensor attached to the user for monitoring health of the user;

compare each word of the records with each keyword present in predefined lists of keywords, wherein each predefined list of
keywords is indicative of an emotion;

allocate one or more emotion tags to the records mined from the one or more sources based on the comparison; and
determine a mood of the user based upon the one or more emotion tags allocated to the records; and
a tag allocation module configured to associate at least one multimedia file with a vector;
compare each word of a content of the at least one multimedia file with each keyword present in the predefined lists of keywords,
wherein each predefined list of keywords is indicative of the emotion, and wherein the vector is indicative of a relationship
of each word of the at least one multimedia file with the each emotion;

allocate one or more emotion tags to the at least one multimedia file based upon the comparison;
assign weights to each of the one or more emotion tags allocated to the at least one multimedia file, wherein the weights
are assigned based upon a relevance of the content of the at least one multimedia file to the one or more emotion tags; and

categorize the at least one multimedia file under one or more emotion tags based upon the weights assigned to the one or more
emotion tags; and

a playlist generation module configured to
dynamically generate a playlist of multimedia files based upon the mood of the user and the categorization of the at least
one multimedia file under the one or more emotion tags.

US Pat. No. 9,378,478

SYSTEM AND METHOD FOR FACILITATING QUALITY ASSURANCE OF A SOFTWARE APPLICATION

TATA CONSULTANCY SERVICES...

1. A method for facilitating quality assurance of a software application, the method comprising:
receiving, by a processor, project requirements associated with the software application;
assigning, by the processor, one or more quality control managers from a plurality of quality control managers responsible
for performing quality control activities, and each of the plurality of quality control managers has a profile information,
and wherein the one or more quality control managers are assigned by:

mapping the project requirements with the profile information, and
selecting, based on the mapping, the one or more quality control managers for performing the quality control activities;
enabling, by the processor, the one or more quality control managers to select one or more review cycles associated with the
quality control activities to be performed corresponding to the software application, and one or more phases of a plurality
of phases corresponding to each review cycle of the one or more review cycles, wherein each phase is associated with software
development life cycle (SDLC) of the software application;

extracting, by the processor, one or more parameters corresponding to each phase from a master parameter list stored in a
database, wherein the one or more parameters facilitates the one or more quality control managers to perform the quality control
activities based on said selected one or more review cycles and phases; and

enabling, by the processor, the one or more quality control managers to update status of each quality control activity performed,
in the database, thereby facilitating the quality assurance of the software application.

US Pat. No. 9,367,432

TESTING SYSTEM

Tata Consultancy Services...

1. A method for generating test data, the method comprising:
obtaining, by a processor, at least one rule based on a requirement specification, wherein the requirement specification is
obtained from a user and is based on business and functional requirements, and wherein the at least one rule indicates a format
of at least one of valid test data and invalid test data for testing of at least one parameter of a program code, and wherein
the at least one rule is obtained independent of analyzing the program code;

determining, by the processor, at least one relational expression corresponding to the at least one parameter of the program
code based on the at least one rule;

tokenizing, by the processor, the at least one relational expression into a plurality of tokens, and parsing the plurality
of tokens to identify and then assign one or more valid upper and lower boundary values and one or more invalid upper and
lower boundary values for each token, of the at least one parameter of the program code;

generating, by the processor, one or more valid test data based on the assigned one or more valid upper and lower boundary
values for each token of the at least one parameter of the program code, wherein the generating one or more valid test data
comprises solving the at least one relational expression based on the one or more valid upper and lower boundary values;

generating, by the processor, one or more invalid test data based on the assigned one or more invalid upper and lower boundary
values for each token of the plurality of tokens of the at least one parameter of the program code, wherein the generating
one or more invalid test data comprises solving the at least one relational expression based on the one or more invalid upper
and lower boundary values; and

wherein the one or more valid test data is a first range of values limited by the one or more valid upper and lower boundary
values and the one or more invalid test data is a second range of values lying outside the first range of values and limited
by the one or more invalid upper and lower boundary values.

US Pat. No. 9,117,132

SYSTEM AND METHOD FACILITATING DESIGNING OF CLASSIFIER WHILE RECOGNIZING CHARACTERS IN A VIDEO

TATA CONSULTANCY SERVICES...

1. A method for facilitating design of a hierarchy of features while recognizing one or more characters in a video, the method
being performed by a processor using programmed instructions stored in a memory, the method comprising:
collecting one or more features from each of the segments in a video frame, the video frame having been extracted from the
video and divided into multiple segments;

preparing, using the one or more features, multi-dimensional feature vectors to classify the one or more characters;
calculating a minimum distance between the multi-dimensional features vectors of a test character and the multi-dimensional
feature vectors of a pre-stored character template, wherein the test character is the character to be classified and is present
in the video frame, and wherein the minimum distance is a distance representing a closeness between the characters;

selecting, with respect to a decreasing order of the minimum distance, the multi-dimensional feature vectors to design a hierarchy
of the multi-dimensional feature vectors; and

classifying the one or more characters based on the hierarchy of the multi-dimensional feature vectors.

US Pat. No. 9,589,203

ACTION BASED ACTIVITY DETERMINATION SYSTEM AND METHOD

TATA Consultancy Services...

1. A method for identification of an activity performed by a subject, the method comprising:
capturing movements of the subject in real-time using a sensing device, wherein the movements comprises n skeleton frames
of the subject, and wherein each of the n skeleton frames represents data of N skeleton joints of the subject;

ascertaining, by a processor, at least one action associated with the subject from a predefined set of actions, a plurality
of actions from the predefined set of actions collectively forming at least one activity, wherein the ascertaining is based
on captured movements of the subject and at least one predefined action rule, the at least one predefined action rule being
based on context-free grammar (CFG) and being indicative of a sequence of actions for occurrence of the at least one activity;

determining, dynamically, by the processor, a current activity performed by the subject, based on the at least one action
and an immediately preceding activity, using a non-deterministic push-down automata (NPDA) state machine, and

wherein ascertaining, by the processor, the at least one action comprises:
computing, by the processor, a covariance matrix of a feature matrix for the at least one action, wherein the feature matrix
is based on joint coordinates of the N skeleton joints from each of the n skeleton frames for the action;

identifying, by the processor, an error covariance matrix for the at least one action based on value of n, value of N, and
value of variance of the joint coordinates of one of the N skeleton joints, wherein the error covariance matrix relates to
noise present in the joint coordinates of the N skeleton joints of the subject;

evaluating, by the processor, a noise-free covariance matrix for the at least one action based on the covariance matrix and
the error covariance matrix;

determining, by the processor, an active joint matrix for the at least one action based on an active joint threshold and the
noise-free covariance matrix, wherein the active joint matrix represents a plurality of most active joint coordinates that
uniquely identifies the at least one action; and

identifying, by the processor, the at least one action, from amongst the plurality of known actions, based on the active joint
matrix.

US Pat. No. 9,444,619

GENERATION OF RANDOMIZED MESSAGES FOR CRYPTOGRAPHIC HASH FUNCTIONS

Tata Consultancy Services...

1. A randomized message generation system comprising:
at least one hardware processor;
a primary randomization hardware module coupled to the hardware processor, the primary randomization module:
generates a randomized message for an input message and divides the input message into a predetermined number of data blocks
based on a block length of a compression function, wherein a bit size of each of the predetermined number of data blocks is
equivalent to the block length of the compression function, wherein the compression function is a component of the cryptographic
hash function used for processing each message block iteratively until the whole input message is processed; and

obtains a random value based on a randomization criterion to randomize a message wherein the random value is concatenated
to itself a predetermined number of times based on the block length; and

a secondary randomization hardware module coupled to the hardware processor to:
randomize each of a predetermined number of data blocks in the message based on the concatenated random value, obtained by
the primary randomization module, using a mixing function to obtain randomized data blocks;

determine, space availability in a last block of the input message to accommodate the randomization parameter and padding
bits by comparing a sum total of the bit size of the random value and minimum bit size of the padding bits with the space
availability in the last block wherein in case of a sum total exceeding the space available, an additional data block is appended
at the end of the input message; and

populate one of a last randomized data block, the appended additional data block at the end of the input message, and a data
block appended at the beginning of the message in the randomized data blocks of the message with a randomization parameter
and a random factor, respectively, to obtain a randomized message for use in a cryptographic hash function, wherein the randomization
parameter is computed using the random value.

US Pat. No. 9,117,030

SYSTEM AND METHOD TO PREDICT ELAPSED RESPONSE TIME FOR A QUERY DURING APPLICATION DEVELOPMENT STAGE

Tata Consultancy Services...

1. A system to predict elapsed response time for a query to be executed on a production database, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing instructions within a plurality of modules
stored in the memory, and wherein the plurality of modules comprises:

a query execution module configured to execute the query over a database in order to collect database statistics;
an emulation module configured to emulate the database statistics in order to obtain an emulated database, wherein the database
statistics are emulated based on a production database;

a classification module configured to classify the query into at least one of a full table scan query, a fast index scan query,
a primary index scan query, and a non-unique index scan query, and wherein the query is classified based upon a mode of accessing
the emulated database by the query;

a parameter determination module configured to determine an access pattern along with at least one parameter of the emulated
database, wherein the access pattern, the at least one parameter, and the query are sensitive to size of the emulated database;
and

a computational module configured to
calculate an input-output access time of the query executed on the emulated database based on
a classification specific technique corresponding to the at least one of the full table scan query, the fast index scan query,
the primary index scan query, and the non-unique index scan query, and

the at least one parameter; and
determine an elapsed response time of the query to be executed on a production database based on addition of the input-output
access time and a linearly extrapolated CPU time.

US Pat. No. 9,699,656

SYSTEMS AND METHODS OF AUTHENTICATING AND CONTROLLING ACCESS OVER CUSTOMER DATA

Tata Consultancy Services...

1. A computer implemented method executed at least in part on a system, for authenticating and controlling access to customer
data by a mobile agent comprising:
receiving by a mobile application management module, mobile agent login request from an agent device and a customer authentication
request from a customer device using a pre-installed mobile application wherein unique identification data of agent device
and customer device is pre-stored;

receiving by a location match module, geo-spatial location of the agent device and the customer device and performing geo-spatial
location match for the agent device and the customer device;

generating by a session key generator module, a session key which is valid for pre-determined duration of a meeting session
and dividing the session key into two parts wherein one part is sent to the agent device and other part to the customer device
wherein the session key is generated and sent only if location match is found between the agent device and customer device;

entering the received parts of session key into agent device and customer device by mobile agent and customer respectively
and comparing by a session key verification module, the entered session key with the generated session key by the session
key generator module;

comparing by an ID match module, the unique identification data of agent device and customer device stored with identification
data of agent device and customer device used for entering the session key; and

granting access by an access module to mobile agent through agent device only if the location match, session key match and
identification data match for the agent device and customer device is found.

US Pat. No. 9,607,266

SYSTEMS AND METHODS FOR SIGNAL DETECTION IN PHARMACOVIGILANCE USING DISTRIBUTED PROCESSING, ANALYSIS AND REPRESENTING OF THE SIGNALS IN MULTIPLE FORMS

TATA CONSULTANCY SERVICES...

1. A signal detection system comprising:
a processor;
a data processing module executable by the processor to,
obtain data from one or more data sources; and
standardize the data, based on at least one template, to obtain standardized data, wherein the standardized data have data
properties depicting a format and a size of the standardized data; and

an analysis module executable by the processor to,
determine one or more detection rules based on at least one of recommendation data and the data properties of the standardized
data, wherein the recommendation data includes recommendations, received from a user, and wherein the recommendations indicate
a user selection for a detection rule from amongst the one or more detection rules; and

detect at least one signal present in the standardized data based on the one or more detection rules; and
a signal processing module executable by the processor to:
store the at least one signal in a distributed storage system; and
process the at least one signal stored in the distributed storage system to represent the at least one signal in a plurality
of forms, and wherein the plurality of forms includes graphical visualization, top signals, cautioning reports, proactive
data management reports, aggregated reports, and drill-down reports.

US Pat. No. 9,471,383

TASK ALLOCATION IN A COMPUTING ENVIRONMENT

Tata Consultancy Services...

1. A method for allocating a task in a computing environment, the method comprising:
receiving, at each of a plurality of computing devices, a task execution estimation request message from a central server,
wherein the task execution estimation request message comprises a worst-case execution time (WCET) corresponding to the computing
device;

computing, by each of the plurality of computing devices, an estimate task execution time for the task based on the WCET and
a state transition model corresponding to the computing device, wherein the state transition model indicates available processing
resources corresponding to the computing device, wherein the computing comprises:

identifying a current state of the computing device, wherein the current state is a state in which the task execution estimation
request message is received;

ascertaining one or more paths from the current state based on the state transition model, wherein the state transition model
comprises a plurality of states of the computing device, and wherein each path from the one or more paths comprises one or
more states from amongst the plurality of states of the computing device;

computing, for each path from the one or more paths, a path task execution time and a path traverse value, wherein the path
task execution time indicates a time period taken by the computing device for executing the task on the path, and wherein
the path task execution time is based on processing information annotated with each of the one or more states corresponding
to the path, and wherein the processing information corresponds to the available processing resources of the computing device
in the state, and wherein the path traverse value indicates a probability of the computing device to traverse the path;

determining a path, from amongst the one or more paths, having a highest path traverse value;
selecting the path task execution time corresponding to the path as the estimate task execution time;
transmitting, by each of the plurality of computing devices, the estimate task execution time to the central server;
allocating the task to a computing device from amongst the plurality of computing devices based on the estimate task execution
time corresponding to the computing devices; and

executing the task on the computing device from amongst the plurality of computing devices.

US Pat. No. 9,436,575

SELECTIVE PROFILING OF APPLICATIONS

TATA CONSULTANCY SERVICES...

1. A computer implemented method for selective profiling of an application, the computer implemented method comprising:
selecting one or more categories of functional blocks for a corresponding filter type, in an application file;
determining, by a processor, a relational hierarchical structure of the selected one or more categories of functional blocks
for the corresponding filter type, wherein the determining is further based on an archive file associated with the application
file, and wherein the archive file being indicative of a structural hierarchy of functional blocks and associated metadata
of the application file;

selecting at least one functional block from among the functional blocks based on the determined relational hierarchical structure,
the at least one functional block being associated with a functionality of the application; and

profiling, by the processor, the at least one functional block to achieve selective profiling of the application file for
the functionality.

US Pat. No. 9,420,424

SYSTEM AND METHOD FOR MEASURING THE CROWDEDNESS OF PEOPLE AT A PLACE

Tata Consultancy Services...

1. A method for determining crowdedness at a location, using a first portable communication device having a proximity sensor,
the method comprising:
determining the location of a first user using the first portable communication device having an application installed on
a memory module thereof, wherein the application is configured to connect to a plurality of location sensors embedded therein
the first portable communication device;

identifying whether the determined location of the first user is a public location or a closed loop environment, wherein the
public location is determined by the application by:

accessing the location sensors selected from an available Wi-Fi network or global positioning system (GPS) or location server
or combination thereof at a predefined interval of time;

extrapolating a route using an accelerometer embedded in the portable communication device; and
determining the location by mapping the extrapolated route with the location sensors;
sensing and identifying a second portable communication device in vicinity of the first user at said location using the proximity
sensor of the first portable communication device;

transmitting a media access control address of the identified second portable communication device to a remote fusion server
of the first portable communication device;

removing redundancies pertaining to the identified second portable communication device based on the media access control
address received by the remote fusion server using a fusion algorithm to determine the total number of devices detected in
the vicinity; and

estimating the crowdedness at the location using probabilistic count approximation based on the total number of devices detected
in the location.

US Pat. No. 9,369,286

SYSTEM AND METHODS FOR FACILITATING AUTHENTICATION OF AN ELECTRONIC DEVICE ACCESSING PLURALITY OF MOBILE APPLICATIONS

TATA CONSULTANCY SERVICES...

1. A method for facilitating authentication of an electronic device accessing a plurality of mobile applications, the method
comprising:
receiving a device public key of the electronic device and authentication information of the electronic device from a first
application server associated with a first mobile application installed on the electronic device;

validating the authentication information using reference data stored in an active directory;
creating an authentication token for the electronic device post-validation of the authentication information;
signing the authentication token with a server signature using a server private key, wherein the server signature and the
server private key are associated with a system;

transmitting the authentication token to the electronic device via the first application server post-signing, wherein the
authentication token transmitted to the electronic device is further accessible to a second application server, and wherein
the second application server is associated with a second mobile application installed on the electronic device;

enabling the electronic device to access the first mobile application based on the authentication information validated;
receiving the authentication token from the second application server associated with the second mobile application installed
on the electronic device, wherein the authentication token received is signed with a device signature using a device private
key, and wherein the device signature and the device private key are associated with the electronic device;

authorizing the authentication token by verifying the device signature and the server signature on the authentication token
using the device public key and a server public key, wherein the server public key is associated with the system;

transmitting the authentication token authorized to the electronic device via the second application server; and
enabling the electronic device to access the second mobile application using the authentication token authorized.

US Pat. No. 9,367,803

PREDICTIVE ANALYTICS FOR INFORMATION TECHNOLOGY SYSTEMS

Tata Consultancy Services...

1. A method for predicting system behavior in an information technology environment in real time by performing predictive
analytics, the method comprising:
receiving and storing, by a processor, a stream of data representative of a plurality of statistical parameters governing
a system behavior, for a pre-determined period of time, wherein the system behavior comprises at least one of a performance,
capacity, and functional integrity of a computing system, and wherein the plurality of statistical parameters varies based
on at least one of receiving data, a domain, and a specific technology environment, and wherein the receiving data is representative
of at least one of diagnostic, configuration, and behavioral information of a plurality of components of the information technology
environment;

applying, by the processor, pre-stored rules along with a plurality of associated threshold values to the plurality of statistical
parameters such that a deterministic pattern is obtained from the system behavior;

constructing, by the processor, a statistical model based on the deterministic pattern obtained from the plurality of statistical
parameters;

analyzing continuously, by the processor, the plurality of statistical parameters for detecting a deviation from the deterministic
pattern of the system behavior, wherein said analyzing includes identifying new patterns to detect and derive at least one
change in the associated threshold rules;

executing a plurality of pluggable rules to check relevance of the predictive analytics under a current load;
adapting automatically said plurality of pluggable rules and the associated threshold rules to said at least one change;
updating dynamically, by the processor at least one of the pre-stored rules, the associated threshold values, and the statistical
model based on the deviation; and

predicting, by the processor, the system behavior based upon at least one of updated data of the pre-stored rules, the associated
threshold values, and the statistical model to indicate at least one of a threshold breach, a failure, and a usage bottleneck
in the information technology environment, wherein said predicting involves systematic prediction of at least one of current
and past system states, a system component state, a system behavioral rule, a load condition, and a plurality of usage characteristics.

US Pat. No. 9,357,242

METHOD AND SYSTEM FOR AUTOMATIC TAGGING IN TELEVISION USING CROWD SOURCING TECHNIQUE

Tata Consultancy Services...

1. A method of tagging of objects of interests in a video during real-time broadcasting using crowd sourcing, the method comprising:
providing, via a first communication device including a hardware processor, at least one media for display to a user of the
first communication device, wherein the at least one media is being broadcasted via a second communication device, and wherein
the at least one media is provided for display, via the first communication device, by pairing the first communication device
with the second communication device, wherein the screen area of the first communication device is adjusted corresponding
to viewable area of the second communication device;

receiving, via the first communication device, user input, from the user, indicating at least one bounding-box to be displayed,
corresponding to the at least one media being broadcasted, on the first communication device;

identifying at least one object of interest, depicted in the at least one media being broadcasted, within the at least one
bounding-box wherein at least one object of interest is identified at first video frame f1 at time t1 on the at least one media being broadcasted at location x1;

searching, via the first communication device, the identified at least one object of interest in one or more subsequent broadcast
frames of the at least one media being broadcasted wherein the identified at least one object of interest at time t1 is matched at time t2, t3 . . . tn in the one or more subsequent frames f2, f3 . . . fn at locations x2, x3 . . . xn;

tagging and augmenting the tracked at least one object by using a crowd sourcing technique, wherein the tagging and augmentation,
using the crowd sourcing technique, comprises

receiving, on the first communication device, a plurality of tags associated with the at least one object, wherein the plurality
of tags is received, during the broadcast of the at least one media, from the user and a plurality of users communicatively
coupled with the user over a plurality of social networking websites via an internet, wherein at least one tag is received
in at least one broadcast frame of the at least one media being broadcasted, and

augmenting the plurality of tags with additional information received from the plurality of users;
generating, in real time, metadata related to the at least one object based on the tagging and the augmentation of the at
least one object; and

uploading the generated metadata related to the at least one object.

US Pat. No. 9,600,647

MULTI-FACTOR AUTHENTICATION

TATA CONSULTANCY SERVICES...

18. A computer implemented device customization system for customizing a multi-factor authentication device for issue to a
user, the device customization system comprising:
a hardware processor;
a data receiving module, coupled to the hardware processor, to receive user data for customizing the multi-factor authentication
device, wherein the user data includes user name, a device identifier for the multi-factor authentication device to be associated
with the user and at least one biometric pattern of the user;

an indicia design module, coupled to the hardware processor, to design acoustic code generation indicia in one or more tracks
for each of a plurality of tiles of the multi-factor authentication device based on user and design data, such that the acoustic
code generation indicia generates an acoustic code that encodes information blocks to facilitate authentication of the user,
the information blocks comprising:

a device identifier block corresponding to a device identifier that associates the multi-factor authentication device with
the user;

a biometric block corresponding to a biometric pattern of the user; and
a data block corresponding to at least one of visible indicia and tactile indicia; and
a stylus design module, coupled to the hardware processor, to design a stylus having one or more pins based on the user and
design data, each of the one or more pins corresponding to one track of the acoustic code generation indicia, wherein each
of the one or more pins are configured to generate a part of the acoustic code at a corresponding predefined frequency.

US Pat. No. 9,591,087

METHOD AND SYSTEM FOR CREATING AN INTELLIGENT SOCIAL NETWORK BETWEEN A PLURALITY OF DEVICES

Tata Consultancy Services...

1. A computer implemented method for creating an intelligent social network between a plurality of devices participating in
a social network over Internet, the method comprising processor implemented steps of:
detecting an intent of at least one user of a first device with at least one subsequent device of the plurality of devices
based on at least one pre-defined parameter, wherein user activity is detected by the plurality of devices to facilitate said
at least one user for interaction;

detecting a match between the detected intent of the at least one user of the first device and at least one second user of
the at least one subsequent device based on said at least one pre-defined parameter;

transmitting a quantity of information pertaining to the detected intent of the at least one user of the first device to the
at least one subsequent device by said first device;

enabling communication and formation of the intelligent social network between the first device and the at least one subsequent
device, wherein the first device utilizes a representational state transfer (REST) API for connecting to a residential gateway
running on a web server;

obtaining social networking data of the first device and the at least subsequent device using an open authorization (Oauth)
adapted to connect to the intelligent social network via the residential gateway, wherein the social networking data is stored
in a social graph database Neo4J and is maintained in PostGIS;

discovering and updating information relating to a context of at the least one user, based on at least one of a location of
the user, an activity of the least one user, and the detected intent of the least one user; and

auto-analyzing a historical behavior of the said plurality of devices from a social profile of said plurality of devices participating
in the intelligent social network.

US Pat. No. 9,536,145

SYSTEM AND METHOD FOR SELECTING FEATURES FOR IDENTIFYING HUMAN ACTIVITIES IN A HUMAN-COMPUTER INTERACTING ENVIRONMENT

TATA CONSULTANCY SERVICES...

1. A system for selecting one or more features to identify one or more human activities in a human-computer interacting environment,
the system comprising:
a processor;
a non-transitory memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored
in the memory, and wherein the plurality of modules comprise:

a receiving module that receives skeleton points associated with one or more humans, wherein the one or more humans perform
the one or more human activities, and wherein the skeleton points comprise a plurality of position coordinates of the one
or more humans;

a computation module that:
calculates a data variation factor for the skeleton points, wherein the data variation factor identifies a variation between
two or more of the plurality of position coordinates of the one or more human, and wherein the data variation factor is indicative
of a variation between the one or more humans performing one or more activities and a variation between the one or more human
activities;

scales the data variation factor with respect to a maximum and a minimum value and sorts the data variation factor by distance
metrics in a descending order such that the skeleton point is independent of the one or more human; and

computes the distance metrics by scaling first four maximum values, wherein first four maximum values correspond to five position
coordinates from amongst the plurality of position coordinates;

a selection module that selects a set of skeleton points from the skeleton points based on the scaled data variation factor;
a feature defining module that:
identifies a change in position coordinates associated with the set of skeleton points by using one or more statistical parameters,
wherein the set of skeleton points defines the one or more human activity to be identified; and

extracts one or more features from the set of skeleton points based on the change in the position coordinates; and
an identification module to identify the one or more human activities based on the extracted one or more features.

US Pat. No. 9,509,511

IDENTITY BASED ENCRYPTION

TATA CONSULTANCY SERVICES...

1. A computer implemented method for encrypting data, the method comprising:
obtaining, by a computing device, a public key set and public parameters, from a central server, wherein the public parameters
include a friendly prime (p), a torsion group prime order (q), a super-singular elliptic curve (E/GF(p)), a first torsion
group (S[q]), a pre-computed Tate pairing value (Y), a first elliptic curve point (P), a second elliptic curve point (Q),
and a distortion map (?), and wherein the pre-computed Tate pairing value (Y) is generated by the central server, and wherein
the friendly prime is ascertained based on the torsion group prime order using the equation p?q*4t?1, where p is the friendly
prime, and q is the torsion group prime order, and t is an integer;

determining, by the computing device, a receiver key set of elliptic curve points based on a receiver identity (ID) of a receiver,
wherein the receiver key set is a subset of the public key set;

computing, by the computing device (104), a receiver public key (Q_id) based on the receiver key set; and

encrypting, by the computing device (104), the data using the Tate pairing value (Y) and an encryption component (Eb) for obtaining encrypted data, wherein the encryption component (Eb) is computed based on the receiver public key set.

US Pat. No. 9,411,837

SYSTEM AND METHOD FOR OPTIMIZING MEMORY UTILIZATION IN A DATABASE

Tata Consultancy Services...

1. A method for optimizing memory utilization in a database capable of storing a plurality of quantitative values, the method
comprising:
designating, by one or more processors executing programmed instructions stored in a memory, a first quantitative value of
the plurality of quantitative values as a first epoch associated with a first tuple, wherein the first tuple comprises a first
delta value;

determining, by the one or more processors, a first difference between a second quantitative value of the plurality of quantitative
values and the first epoch;

storing, by the one or more processors, the first difference as a second delta value associated with a second tuple when an
absolute value of the first difference is less than a threshold, the second tuple corresponding to the second quantitative
value;

designating the second quantitative value as a second epoch associated with the second tuple when the absolute value of the
first difference is greater than or equal to the threshold; and

generating a master tuple based on the first tuple and the second tuple, wherein the master tuple being used to optimize the
memory utilization in the database.

US Pat. No. 9,407,517

SYSTEM AND METHOD FOR DETERMINING NUMBER OF COMPUTING RESOURCES FOR EXECUTING A PLURALITY OF JOBS

Tata Consultancy Services...

1. A method for determining a number of computing resources required for executing a plurality of jobs (n) in a total processing
time (T), the method comprising:
receiving,
the plurality of jobs (n) to be executed by a software application, and
a plurality of variables associated with the plurality of jobs (n), wherein the plurality of variables comprises a mean processing
time (?) a standard deviation (?), a service level agreement (?), and a confidence level (1-?), and

wherein the mean processing time (?) indicates average time required for executing each job, and
wherein the standard deviation (?) indicates a variance in the mean processing time (?), and
wherein the service level agreement (?) is indicative of a maximum time allowable in addition to the total processing time
(T) for executing the plurality of jobs (n);

determining, via a processor, a inverse parameter (?) using the mean processing time (?), the standard deviation (?), and
the confidence level (1-?);

computing, via the processor, a queue length (k) based upon the total processing time (T), the mean processing time (?), the
standard deviation (?), and the inverse parameter (?), wherein the queue length (k) indicates a maximum number of jobs capable
of being executed simultaneously by a single computing resource,

wherein the queue length (k) is computed using a formula ?k =???±?( ?2?2+4T ?)/2?, wherein k is the queue length, ? is the
standard deviation, ? is the inverse parameter, T is the total processing time and ?is the mean processing time;

processing the queue length (k) and the plurality of jobs (n) in order to determine the number of computing resources required
for the execution of the plurality of the jobs (n); and

executing by the software application the plurality of lobs using the determined number of computing resources.

US Pat. No. 9,356,716

SYSTEM AND METHOD FOR VISUAL MESSAGE COMMUNICATION

Tata Consultancy Services...

1. A processor-implemented method for transmitting visual information, the method comprising;
receiving a first input comprising a string of characters selected from at least one of a text, an image, or a combination
thereof;

transforming, by one or more processors, the first input from the strings of characters to a first image having at least two
dimensions;

converting, by the one or more processors, the first image into a one-dimensional signal waveform using a pixel to sample
encoder, wherein the pixel to sample encoder processes the first image along either of the at least two dimensions;

modulating, by the one or more processors, the one-dimensional signal waveform to generate a modulated one-dimensional signal
waveform; and

transmitting the modulated one-dimensional signal waveform over a radio channel configured to transmit audio signals.

US Pat. No. 9,342,540

METHOD AND SYSTEM FOR CREATING AND MAINTAINING UNIQUE DATA REPOSITORY

Tata Consultancy Services...

1. A computer implemented method of managing and updating a data repository in real time, comprising:
retrieving at least one record from a stream of incoming records maintained in a load repository, wherein the at least one
record is associated with a unique identifier;

matching at least one record with a previous record history maintained in a detail repository based on the unique identifier;
determining an action type to be performed corresponding to the at least one record, wherein the action type is determined
based on an output of a matching condition, wherein the matching condition corresponds to performing a detail match, a master
match, and a same master match sequentially, and wherein the detail match is performed by matching an incoming record with
at least one of the previous record history, the master match is performed by matching the incoming record with at least one
of a previous master record history maintained in a master repository using a predefined matching criteria, and the same master
match is performed by matching an output of the detail match with an output of the master match, wherein the output of the
detail match corresponds to a unique identifier of the matched previous record in the detail repository and the output of
the master match corresponds to a unique identifier of matched master record in the master repository and wherein the output
of the matching condition corresponds to output of the same master match;

performing the action type on the at least one record based on the determination thereby providing a unique and updated record
for all matching records in the data repository, wherein the action type is one of an update action, an auto merge action,
an auto consolidate action, an update new action and a new action; and

wherein the predefined matching criteria comprises a batch matching criterion to obtain a best match for the at least one
record in the master repository and a probable matching criterion to obtain a probable master record for the at least one
record in the master repository.

US Pat. No. 9,838,857

METHOD FOR ESTABLISHING STATELESS COMMUNICATION BETWEEN TWO OR MORE DEVICES

Tata Consultancy Services...

1. A method for providing communication between an electronic device and a mobile device through a server, the method being
performed by a processor using programmed instructions stored in a memory, the method comprising:
receiving a first trigger signal from the electronic device and a second trigger signal from the mobile device, wherein the
first trigger signal comprises color data generated by the electronic device, an identification number of the electronic device,
a time stamp of the first trigger signal, and location information of the electronic device and wherein the second trigger
signal comprises RGB data captured by the mobile device, an identification number of the mobile device, a time stamp of the
second trigger signal, and location information of the mobile device;

matching the first trigger signal with the second trigger signal in order to validate the communication between the electronic
device and the mobile device, wherein the trigger signals are matched based on the received color data, RGB data, location
information and timestamp of the trigger signals, wherein the color data of the first trigger signal is matched with the RGB
data of the second trigger signal, and wherein the matching is validated if the color data of the first trigger signal matches
the RGB data of the second trigger signal;

generating a first identification token for the electronic device and a second identification token for the mobile device
based on the matching;

transmitting the first identification token to the electronic device and the second identification token to the mobile device;
and

providing the communication between the electronic device and the mobile device based on the first identification token and
the second identification token.

US Pat. No. 9,672,546

ACCURATE AND INSTANTANEOUS COMMODITY PRICING INFORMATION SYSTEM

Tata Consultancy Services...

1. A computer implemented method for providing real time commodity relevant information over a network, the network communicating
with a central commodity database, the method comprising:
detecting, by a processor, one or more consumers present in one or more target premises by determining location of the at
least one communicating device of the one or more consumers using a global positioning system and by triangulation of base
stations, wherein the one or more target premises are predefined by a plurality of contour coordinates:

transmitting, by the processor, an interest information to the detected one or more consumers for communicating the real time
commodity relevant information by the at least one communicating device of the one or more consumers over the communicating
network;

receiving, by the processor, from the at least one communicating device of the one or more consumers the real time commodity
relevant information;

aggregating, via the processor, the real time commodity relevant information from the one or more consumers detected in the
one or more target premises, each of the one or more target premises having a pre-defined contour;

generating a mapped, approximated contour based upon approximation of the pre-defined contour by a set of lines, wherein coordinates,
of the set lines, including slope and y intercepts represent the mapped, approximated contour, wherein the coordinates are
store in a memory of at least one communicating device of the one or more consumers,

wherein generating the mapped, approximated contour minimizes the memory required to store a representation of the pre-defined
contour in the at least one communicating device of the one or more consumers, wherein a level of approximation of the predefined
contour is dependent upon a memory space available in the at least one communicating device of the one or more consumers,
wherein the one or more consumers detected are involved in a real time deal associated with a commodity in the one or more
target premises, and wherein the one or more consumers are detected based on a presence of the at least one communicating
device of the one or more consumers within the mapped, approximated contour;

assigning, via the processor, a weighted score to an individual commodity-market tuple comprising the one or more consumers
detected, the real time commodity relevant information, and the one or more target premises, wherein the individual-commodity-market
tuple is associated with the commodity relevant information received from the one or more consumers, wherein a weight associated
to the individual-commodity-market tuple is varied based on an accuracy of aggregated information;

maintaining and updating the central commodity database comprising profile data of one or more consumers and the weighted
score of the corresponding individual-commodity-market tuple;

querying the central commodity database of the real time commodity relevant information based on the profile data of the one
or more consumers, wherein said querying includes improving accuracies for a future request of a pricing information; and

providing the real time commodity relevant information to one or more seekers from the central commodity database based on
a comparison between the weighted score and a threshold value.

US Pat. No. 9,619,703

METHOD AND SYSTEM FOR GEO-DEMOGRAPHIC CLASSIFICATION OF A GEOGRAPHICAL REGION

Tata Consultancy Services...

1. A computer implemented unsupervised method for geo-demographic classification of at least one geographical region; said
method comprising:
pre-processing of a satellite image of said geographical region using a satellite image pre-processing module;
dividing pre-processed satellite image of said geographical region into a plurality of blocks; and dividing each block into
a plurality of patches for visual characterization of said geographical region using a satellite image division module;

extracting visual features of said plurality of patches by employing a two-step process using a visual feature extraction
module and clustering and labeling said plurality of patches using a combination of said extracted visual features using a
patch clustering and labeling module;

clustering said plurality of blocks based on the distribution of said labeled plurality of patches using a block clustering
module;

removing post clustering noise of satellite image of said geographical region using a noise removing module;
pre-processing of multimodal sensory data originated from said geographical region using a multimodal sensory data pre-processing
module;

clustering and labeling of pre-processed multimodal sensory data using a multimodal sensory data clustering and labeling module;
aligning clustered and labeled multimodal sensory data with the clustered and labeled satellite image of said geographical
region using an alignment module;

extracting corresponding labels of aligned multimodal sensory data and the clustered and labeled satellite image of said geographical
region; and

clustering integrated multimodal sensory data with the clustered and labeled satellite image of said geographical region for
obtaining geo-demographic classification of said geographical region using a geo-demographic classification module; and

neighborhood labeling the obtained geo-demographic clusters of said geographical region using a neighborhood labeling module.

US Pat. No. 9,542,625

MULTI RANGE OBJECT DETECTION DEVICE AND METHOD

Tata Consultancy Services...

1. A method for detecting objects at multiple ranges simultaneously on a path of a vehicle, the method comprising:
receiving, by a processor, an image as an input corresponding to objects appearing on the path of the vehicle;
splitting, by the processor, the image into a plurality of sub-images indicating region of interest (ROis), wherein each of
the plurality of sub-images is in a form of a rectangular window of pixel computed based on distance of the objects from the
vehicle; and

detecting, by the processor, a first object and a second object from the plurality of sub-images by
extracting one or more features from the plurality of sub-images, simultaneously processing each of the plurality of sub-images
for computing gradient associated with the each of the plurality of sub-images based on the one or more features extracted,
wherein processing each of the plurality of sub-images includes:

interpolating the one or more sub-images based on the distance of the first object and the second object from the vehicle;
and

applying erosion and dilation upon the one or more sub-images in order to reduce noise from the one or more sub-images, isolating
individual elements of the one or more sub-images, and joining of disconnected parts in the one or more sub-images,

creating cell histograms comprising plurality of cells by casting weighted vote for an orientation based histogram channel
based on values associated with the gradient computed;

normalizing the gradients computed by grouping the cells of the plurality of cells in spatial blocks in order to normalize
the plurality of sub-images; and

applying a Support vector Machine (SVM) linear classifier on the plurality of subimages after being normalized in order to
detect and classify the first object and the second object in a category

sharpening the one or more sub-images using a two dimensional image sharpening filter with a median of 3×3 kernels, and
smoothening the one or more sub-images using two dimensional smoothening filters with 3×3 Gaussian kernel.

US Pat. No. 9,486,074

ENCLOSURE FOR BIOMETRIC SENSOR

TATA CONSULTANCY SERVICES...

1. An enclosure for securing a biometric sensor, the enclosure comprising a cabinet having a plurality of surfaces, wherein
the biometric sensor is placed inside the cabinet on a holder fixed on a first surface from amongst the plurality of the surfaces
of the cabinet, wherein the holder comprises a placement area for the biometric sensor, wherein a second surface of the cabinet
is opposite to the first surface, the second surface is composed of a material transparent to electromagnetic rays emitted
by the biometric sensor and coupled to a proximity sensor of the cabinet and configured to activate the biometric sensor upon
detection of biometric characteristics, and wherein the biometric sensor emits the electromagnetic rays from a third surface,
and wherein the third surface is the top surface of the biometric sensor located at the opposite of the holder.

US Pat. No. 9,479,948

SYSTEM AND METHOD FOR ADAPTING CHARACTERISTICS OF APPLICATION LAYER PROTOCOL USING SENSED INDICATION

TATA CONSULTANCY SERVICES...

1. A system for resource utilization in a constrained sensor gateway for transfer of data, the system comprising:
a processor in communication with the constrained sensor gateway including an application layer protocol and the constrained
sensor gateway is in communication with a communication network; and

a memory coupled to the processor, wherein the memory comprises a plurality of modules being executed by the processor, and
wherein the plurality of modules comprise:

a network condition detection module that detects a network condition of the communication network; and
an adaption module configured to dynamically determine a reliability score based on an inferred sensed indication for transfer
of data, wherein the inferred sensed indication is determined by analyzing at least one of sensed data, or a combination of
the network condition and an indication derived by analyzing the sensed data,

wherein based on the reliability score the application layer protocol of the constrained sensor gateway adapts a reliability
level,

wherein the reliability level pertains to at least one of reliable mode or non-reliable mode of communication for transfer
of the data.

US Pat. No. 9,443,324

METHOD AND SYSTEM FOR CONSTRUCTION AND RENDERING OF ANNOTATIONS ASSOCIATED WITH AN ELECTRONIC IMAGE

Tata Consultancy Services...

1. A method of annotating an electronic image having a plurality of pixels comprising:
annotating by a processor, a pixel at a plurality of levels in ascending magnitude of descriptive characteristics, with each
level containing one or more descriptive characteristics of the pixel, such that the descriptive characteristics at a subsequent
level in the ascending magnitude is with reference to descriptive characteristics of one or more pixels surrounding the pixel,

wherein the descriptive characteristics at the subsequent level include one or more descriptive characteristics of one or
more levels preceding it, wherein at a lowest level the descriptive characteristic of the pixel is a caption of the electronic
image and at a highest level the descriptive characteristic of the pixel is a color of the pixel;

storing a plurality of annotations in a file separate from the electronic image by a first data repository, wherein the annotations
at the plurality of levels for the annotated pixels is collectively stored in the file separate from the electronic image;
and

displaying the electronic image and one of the stored annotations, wherein the displayed electronic image and the one of the
stored annotations is determined based on a cursor location relative to a plurality of pixel coordinates within a user interface.

US Pat. No. 9,436,664

PERFORMING MULTIPLE SCOPE BASED SEARCH AND REPLACE WITHIN A DOCUMENT

Tata Consultancy Services...

1. A computer implemented method to perform a search and replace operation concurrently within a plurality of documents, the
search and replace operation being subjected to a predefined scope and a condition file, the method comprising:
selecting at least one document from amongst the plurality of documents to perform the search and replace operation;
deriving the condition file from the at least one document, the condition file comprising a set of search and ignore conditions;
specifying a plurality of search positions within the at least one document, each search position adapted to limit the traversal
of the search operation within the at least one document for a predefined position;

caching each of the search positions and data located therein in a dynamic memory, wherein the dynamic memory is coupled to
a controller;

identifying and replacing a first pattern in the at least one document with a second pattern based upon the cached data, wherein
the second pattern is identified by inserting at least one configurable warning tag for each search position, and wherein
the at least one configurable warning tag notifies changes in the lines in the condition file based on the replaced first
pattern; and

generating at least one search and replacement report in a consolidated form illustrating a set of changes occurred post the
replacing of the first pattern in the at least one document with the second pattern based upon the cached data.

US Pat. No. 9,372,959

ASSEMBLY OF METAGENOMIC SEQUENCES

Tata Consultancy Services...

1. A computerized method for assembly of metagenomic sequences comprising:
obtaining sequencing data of a plurality of organisms in an environmental sample to obtain a plurality of metagenomic sequences;
for a metagenomic sequence of the plurality of metagenomic sequences, generating an intermediate vector which represents frequencies
with which possible tetra-nucleotides occur in the metagenomic sequence;

splitting the metagenomic sequence into fragments;
for individual ones of the fragments, generating respective fragment vectors comprising the frequencies with which the possible
tetra-nucleotides occur in the individual ones of the fragments;

generating a plurality of fragment clusters by clustering the fragment vectors;
computing centroids of individual ones of the fragment clusters;
for individual ones of the centroids, generating respective cluster vectors;
identifying, as a set of reference points, three cluster vectors from the respective cluster vectors, the three cluster vectors
having pairwise dot products which are the least correlated amongst computed pairwise dot products of combinations of individual
ones of the respective cluster vectors;

transforming the intermediate vector into a three-dimensional sequence vector having coordinates determined by a distance
between the intermediate vector and individual ones of the set of reference points, wherein the three-dimensional sequence
vector corresponds to the metagenomic sequence;

defining a cuboid having a plurality of grids in a three-dimensional space encompassing the three-dimensional sequence vector,
wherein individual ones of the plurality of grids encompass taxonomically similar metagenomic sequences from among the plurality
of metagenomic sequences;

selecting a subset of the plurality of metagenomic sequences, wherein the subset includes a first metagenomic sequence located
within coordinates defined by one of the plurality of grids in the cuboid and a second metagenomic sequence located within
an immediate neighbor of the one of the plurality of grids in the cuboid; and

assembling a one of the metagenomic sequences present in the subset with at least one other metagenomic sequence present in
the subset into a contig, wherein the metagenomic sequence and the at least one other metagenomic sequence originate from
a same genome.

US Pat. No. 9,374,807

UPLINK TRANSMISSION SCHEDULING FOR WIRELESS COMMUNICATION NETWORKS

TATA CONSULTANCY SERVICES...

1. A method for uplink scheduling over a communication channel in a communication network including at least one User Equipment
(UE) and a base station, the method comprising:
determining whether the UE is associated with at least one of Guaranteed Bit Rate (GBR) bearers and non-Guaranteed Bit Rate
(non-GBR) bearers;

for each of the GBR-bearers and the non-GBR-bearers, computing a demand for resources for establishing an uplink communication,
wherein the demand is computed based on physical layer characteristics and transport layer characteristics associated with
the communication channel based on the relation:

where Tf is a frame length of duration in seconds, ? is a fraction of uplink sub-frames in a frame and Ri is a maximum reported rate in bps;
communicating the demand as a request message to the base station; and
in response to the request message, receiving an allocation of resources for uplink scheduling from the base station.

US Pat. No. 9,852,288

SECURING DATA ON A COMPUTING SYSTEM

Tata Consultancy Services...

1. A method to secure data on a computing system, the method comprising:
receiving a request, for a user, to execute a plurality of application instances of an application, wherein the plurality
of application instances are executed in parallel, and wherein each application instance of the plurality of application instances
corresponds to a different use of the application;

identifying a separate role to be associated with each application instance of the plurality of application instances, for
the user, based on one of user inputs, an object-role mapping, and a set of rules in a corresponding application instance,
wherein the application is executable in a plurality of application instances, and wherein the role of the application instance
is indicative of a nature of activity to be performed in the corresponding application instance, and wherein the role of the
application instance is defined based on the different use of the application in the corresponding application instance;

associating, based on the identifying, the separate role with each application instance; and
storing, based on the role, data pertaining to the application instance in a memory location allocated to the role of the
application instance, wherein each role has a separate dedicated memory location to achieve data isolation for the application
instance based on the role associated with the application instance.

US Pat. No. 9,836,622

PRIVACY UTILITY TRADE OFF TOOL

TATA CONSULTANCY SERVICES...

1. A computer implemented method for determining a privacy-utility trade off, the method comprising:
quantifying privacy content of a private data associated with a user based on uniqueness of information in the private data,
wherein the quantifying comprises determining a theoretic randomness and uncertainty of information in the private data of
the user, and wherein the private content comprises sensitive information about the user;

determining a privacy-utility trade off point model based on analytical analysis of the privacy content of a private data
associated with a user, a privacy requirement of the user, and a utility requirement of third party utilizing the private
data of the user, wherein the privacy-utility trade off point model is indicative of optimal private data sharing technique
with the third party for determining optimal sharing point, and wherein the optimal sharing point is a difference between
the privacy content of the private data and that of a transformed private data;

identifying privacy settings for the user based on risk appetite of the user, utilizing the determined privacy-utility tradeoff
point model, wherein the risk appetite of the user is indicative of the user's utility requirement and private data sharing
capabilities; and

sanitizing the private data of the user by perturbation based on the identified privacy settings for the user wherein the
perturbation reduces a granularity of the private data, and wherein the sanitization further comprises:

ascertaining the privacy requirement of the user, and the utility requirement of third party based on the privacy setting
of the user; and

determining the optimal sharing point based on the privacy-utility trade off point model and the ascertained privacy requirement
of the user,

wherein the quantifying further comprises computing Kullback-Leibler divergence to determine relative entropy between the
private data of the user and a standard non-private data, wherein the divergence is indicative of the privacy content of the
private data.

US Pat. No. 9,652,227

ASSIGNING AN ANNOTATION TO A VARIABLE AND A STATEMENT IN A SOURCE CODE OF A SOFTWARE APPLICATION

Tata Consultancy Services...

1. A method for assigning an annotation to a variable and a statement in a source code of a software application, the method
comprising:
generating, by a processor, an intermediate representation of the source code by parsing the source code, wherein the source
code comprises a plurality of variables;

identifying one or more instances of definition of the variable of the plurality of variables present in the intermediate
representation;

identifying, one or more instances of use of the variable in the intermediate representation;
categorizing, by the processor, the variable into a group of variables based on:
a) the one or more instances of definition of the variable,
b) the one or more instances of use of the variable,
c) a description of the variable, and
d) mathematical operators defining a correlation between the variable and one or more other variables of the plurality of
variables,

wherein the description of the variable indicates a nature of data stored in the variable, and wherein the group of variables
comprises variables storing data of similar nature;

creating a data description table of the plurality of variables, wherein the data description table comprises the variable
and the description of the variable;

creating, by the processor, a data dictionary of the plurality of variables, wherein the data dictionary comprises the group
of variables and the description of the variables present in the group of variables; and

assigning, by the processor, the annotation to the variable present in the statement of the source code based on the data
description table and the data dictionary, thereby assigning the annotation to the statement in the source code of the software
application.

US Pat. No. 9,612,944

METHOD AND SYSTEM FOR VERIFYING SCENARIO BASED TEST SELECTION, EXECUTION AND REPORTING

Tata Consultancy Services...

1. A computer implemented method for testing a software application, the method comprising:
obtaining, by a processor, user requirements, wherein the user requirements are indicative of functionalities and features
to be incorporated in the software application;

identifying, by the processor, based on the user requirements, at least one test scenario for testing the software application,
the at least one test scenario includes at least one step, wherein the at least one step are temporal steps of progression;

associating, by the processor, one or more test cases with the at least one step of the at least one test scenario upon receiving
a first approval from a user, wherein the first approval is indicative of validity of the at least one test scenario;

executing, by the processor, based on a second approval received from the user, the one or more test cases for testing the
software application, wherein the second approval is indicative of validity of the one or more test cases; and

generating, by the processor, an evaluation report comprising details pertaining to the software testing, wherein the details
include the user requirements, different versions of the at least one test scenario with unique IDs, at least one step of
each test scenario, one or more test cases associates with each step, a time stamp, parameters involved in each test case,
bugs, corrective measures for fixing each bug and areas of improvement of the software application.

US Pat. No. 9,611,575

COATING APPARATUS

Tata Consultancy Services...

1. A point-of-use coating apparatus comprising:
a coating unit, wherein the coating unit comprises a coating roller and a knife to apply coating onto a substrate, wherein
the knife further comprises:

a sharp edged blade and a blunt edged blade which are selectable based on the type of coating application, wherein the coating
unit is configured to provide:

a knife on air coating application wherein the sharp edged blade is used for filling the pores of the substrate; and
a knife on roll coating application wherein the blunt edged blade is used for applying a film on the surface of the substrate;
a drying unit placed downstream with respect to the coating unit, wherein the drying unit comprises an insulated chamber for
drying the coating applied on the substrate;

a pressing unit placed downstream with respect to the drying unit, wherein the pressing unit comprises a pair of pressing
rolls configured to press the substrate; and

a control unit for controlling operations of the coating unit, drying unit, and the pressing unit.

US Pat. No. 9,607,455

SYSTEM AND METHOD FOR GENERATING A DRIVING PROFILE OF A USER

Tata Consultancy Services...

1. A method for generating a driving profile of a user, comprising:
receiving, by one or more processors executing programmed instructions stored in a memory of an electronic device, one or
more values corresponding to a plurality of variables associated with driving of a vehicle, wherein the one or more values
so received are sensed by one or more sensors or received from one or more third party sources during driving of the vehicle
by the user;

determining, based on the one or more values, one or more safety scores corresponding to the plurality of variables, the one
or more safety scores for a driving trip being computed after the driving trip is completed, wherein the driving trip is completed
based on the fulfillment of one or more conditions associated with driving of the vehicle;

determining a cumulative safety score for the driving trip based on the one or more safety scores; and
generating the driving profile of the user based on the determined cumulative safety score.

US Pat. No. 9,560,094

SYSTEM AND METHOD FOR IDENTIFYING AND ANALYZING PERSONAL CONTEXT OF A USER

Tata Consultancy Services...

1. A method for identifying personal context of at least one user having a portable mobile communication device at a location
for deriving social interaction information of the user, the method comprising:
determining a location of at least one user within a predefined range by identifying a personal context of the user at the
location, wherein the personal context of the user is identified using at least an external sensor and an internal sensor
embedded in the mobile communication device;

assigning predefined confidence values to the identified personal context, wherein the predefined confidence value is associated
with a probability distribution function and an observation from a given sensor;

obtaining current location information relating to the user at the location by fusing the assigned confidence values;
grouping, based on predefined density criteria, at least two users having similar current location information at the location
of the user;

estimating, using the external sensor and internal sensor, a straight line distance between the at least two grouped users;
and

deriving social interaction information of the user by fusing the current location information of the user, the estimated
straight line distance, and data received from a web sensor.

US Pat. No. 9,536,107

SYSTEM AND METHOD ENABLING MULTIPARTY AND MULTI LEVEL AUTHORIZATIONS FOR ACCESSING CONFIDENTIAL INFORMATION

Tata Consultancy Services...

1. A method enabling multi-party and multi-level authorizations for accessing confidential information, the method comprising:
configuring, by a processor, a plurality of services, a first set of access privilege levels, a first set of credentials corresponding
to the first set of access privilege levels, a second set of access privilege levels and a second set of credentials corresponding
to the second set of access privilege levels, wherein the first set of access privilege levels and the second set of privilege
levels are associated with the plurality of services, and wherein at least one access privilege level of the first set of
access privilege levels and at least one credential of the first set of credentials are provided to one or more service consumers
for requesting one or more services of the plurality of services, and wherein at least one access privilege level of the second
set of access privilege levels and at least one credential of the second set of credentials are provided to a service provider
to serve the one or more services requested by the one or more service consumers;

identifying, by the processor, the one or more service consumers based upon a unique identifier associated with the one or
more service consumers;

receiving, by the processor, a service request from the one or more service consumers, after the identification, for facilitating
one or more services of the plurality of services;

authenticating, by the processor, the one or more service consumers based upon an access privilege level, of the first set
of access privilege levels, configured for the service and a credential, of the first set of credentials, corresponding to
the access privilege level of the first set of access privilege levels;

generating, by the processor, a One Time Authorization Token (OTAT) corresponding to the one or more services requested by
the one more service consumers after the authorization of the one or more service consumers;

authenticating, by the processor, the service provider based on the OTAT, an access privilege level of the second set of access
privilege levels and a credential, of the second set of credentials, corresponding to the access privilege level of the second
set of access privilege levels; and

authorizing, by the processor, the service provider to access confidential information, associated with the one or more service
consumers, required for serving the service request from the one or more service consumers, wherein the access is provided
to the service provider until the service request is served or a validity time associated with the OTAT is expired.

US Pat. No. 9,510,050

METHOD AND SYSTEM FOR CONTEXT-AWARE RECOMMENDATION

TATA CONSULTANCY SERVICES...

1. A method for recommending a program to a user, the method comprising:
capturing user preferences stated by the user, wherein the user preferences are based on a set of features;
storing the user preferences in a normalized format;
receiving program vectors associated with currently running programs, wherein at least one program vector from amongst the
program vectors is a n-dimensional vector, wherein the program vectors are stored in normalized format;

capturing a user model based on programs followed by a user in a given context, wherein the user model is calculated as a
centroid of a cluster formed by the program vectors in a program history;

generating one or more contextual user models by updating the user model based on a user behavior corresponding to combination
of one or more contexts, wherein the one or more contextual user models are generated based on a function f given as f (X,
Ci)=ui, and i=1 . . . t, and wherein X is the user, Ci is a context vector, ui is a user model and t is number of contexts;

retrieving a contextual user model from the one or more contextual user models corresponding to a current context associated
with the user;

comparing the user preferences against a program vector of the currently running programs for deriving a first to be recommended
list;

comparing the contextual user model against a program vector of the currently running programs for deriving a second to be
recommended list;

recommending a final list to the user derived by executing a union operation of the first to be recommended list and the second
to be recommended list; and

alerting the user on detection of a significant difference between the user behavior and the user preferences and guiding
the user to modify the user preferences, wherein significant difference is detected when cosine similarity values of all the
programs in the program history with the user preferences are less than a pre-defined threshold and wherein the receiving,
the capturing, the retrieving, the comparing, and the recommending are performed by a computer system programmed with computer-executable
instructions.

US Pat. No. 9,465,606

FORECASTING OF REUSABLE SOFTWARE ASSETS

Tata Consultancy Services...

1. A computer implemented method for forecasting of reusable software assets comprising:
generating a domain map based on identifying plurality of domain constituents within a particular domain upon receiving domain
related user inputs, wherein the domain map displays a hierarchical structure of plurality of domain constituents, and pre-existing
software assets tagged to the domain constituents along with a priority indicator and a coverage status associated with each
of the domain constituents;

receiving a forecast comprising forecast information pertaining to at least one forecasted software asset, wherein the forecast
information comprises type of the at least one forecasted software asset, technology of the at least one forecasted software
asset, geographical applicability of the at least one forecasted software asset, description of the at least one forecasted
software asset, and corresponding domains, sub-domains in which the at least one forecasted software assets can be used;

mapping the forecast to the domain map based on the forecast information;
generating a development request for creation of the at least one forecasted software asset based in part on the mapped forecast
and on a plurality of predefined forecasting rules; and

tagging the created at least one forecasted software asset to a corresponding one or more domain constituent, among the plurality
of domain constituents in the domain map based on the forecast.

US Pat. No. 9,438,668

SYSTEM AND METHOD FOR MANAGING MESSAGE QUEUES IN A PEER-TO-PEER COMMUNICATION NETWORK

TATA CONSULTANCY SERVICES...

1. A method for managing one or more message queues in a peer-to-peer communication
network to improve the efficiency and reliability of the peer-to-peer communications network, the method comprising:
providing a processor and a non-transitory memory coupled to said processor, wherein the non-transitory memory comprises programmed
instructions;

initiating a communication channel between two or more peers over a session through a message queue;
managing communication between the peers through a unified communication system, the unified communication system including
a plurality of received message queues on a plurality of servers, and enabling one or more of the peers to identify the message
queue in order to transmit and receive a message, wherein managing further comprises:

uniformly distributing a load across the plurality of received message queues for a transaction in the unified communication
system based upon a pre-defined condition;

monitoring the plurality of received message queues corresponding to a service and a transcode related to the service, wherein
monitoring further comprises:

detecting a load state of the server in the unified communication system to determine a load distribution of the unified communications
system, wherein a received message in the received message queue is dynamically routed to a next available server based on
the load distribution;

wherein the managing, the distributing, the monitoring and the detecting are performed by the processor using the programmed
instructions stored in the non-transitory memory; and

wherein monitoring further comprises using a memory map file to determine a number of servers attached to the received message
queue, the message written in the received message queue, and a message read from the received message queue, for each of
a plurality of time intervals.

US Pat. No. 9,418,585

DYNAMIC IMAGE MODIFICATION FOR A COLOR DEFICIENT USER

Tata Consultancy Services...

1. An image processing method generating a customized image for a partial color deficient user over a display device, the
image processing method comprising:
detecting a color for which a user is deficient in identifying the color, wherein the color is detected by displaying one
or more images comprising a plurality of shades of the color to the user, wherein the plurality of shades comprise an increasing
order of intensity of the color;

determining a spectrum of the color based upon the plurality of shades, wherein the spectrum comprises a start and an end,
wherein the start indicates a shade at which the user fails to identify the color, and wherein the end indicates a shade at
which the user identifies the color;

identifying color pixels corresponding to the spectrum, wherein the color pixels comprise Red, Green, and Blue (RGB) values;
replacing the RGB values of the color pixels with previously computed RGB values corresponding to:
a black color; or
a darker shade of the color, wherein the darker shade does not fall between the start and the end of the spectrum in order
to generate a customized image capable of minimizing an operating power of the display device, wherein the operating power,
consumed by the display device, is minimized up to difference between powers consumed by a lower shade color pixel replacing
the user color deficient pixels and the color pixel determining the end of the spectrum;

and wherein the previously computed RGB values comprises lower RGB values than the RGB values of the color pixels.

US Pat. No. 9,356,966

SYSTEM AND METHOD TO PROVIDE MANAGEMENT OF TEST DATA AT VARIOUS LIFECYCLE STAGES

Tata Consultancy Services...

1. A system to provide management of test data, the management performed during at least one stage associated with a lifecycle
of said test data, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored in the memory,
and wherein the plurality of modules comprise:

a processing engine configured to generate said test data in response to a test data request, wherein the processing engine
retrieves the test data by considering at least one parameter affecting a retrieval of the test data, the processing engine
further comprising:

a categorization module configured to categorize the test data request while supplying the test data, wherein a categorization
of the test data request is dependent on a type of usage of the test data; and

a privacy regulation module configured to model at least one privacy regulation in accordance with a geographical location
and an enterprise domain selected by a user, the privacy regulation module further comprising:

a meta data analyzer configured to:
analyze an imported meta-data to identify at least one sensitive data field therein wherein analysis of the imported meta-data
is performed by matching names of columns with pre-defined set of patterns and user defined patterns; and

establish a referential integrity depending upon a pre-defined condition between at least two columns of the at least one
sensitive data field by providing names of the at least two columns identified as sensitive, primary key columns and additional
columns as input wherein the pre-defined condition includes a condition wherein the at least two columns occur with a similar
name; and

an output generation module configured to provide the test data requested, wherein the test data is reserved for a pre-determined
duration by the user using a data reservation module, wherein the output generation module archives the test data using a
data archival module, wherein the test data is available for reuse in response to a user request.

US Pat. No. 10,089,203

ARTIFICIAL INTELLIGENCE BASED HEALTH MANAGEMENT OF HOST SYSTEM

Tata Consultancy Services...

1. A system for artificial intelligence based diagnosis and prognosis of a host system having multiple subsystems, the system comprising:a memory to store instructions and a plurality of predetermined patterns; and
a neural network controller coupled to the memory, wherein the neural network controller is configured by the instructions to:
monitor a plurality of unique patterns generated in real-time corresponding to a subset of multiple system parameters of the host system, wherein the system parameters comprise at least one of one or more of input parameters, control parameters, feedback parameters, and output parameters, wherein the plurality of unique patterns are indicative of the system-level performance of the host system in real-time, and each of the unique patterns is unique for a respective subsystem of the host system and only the subset of system parameters are capable of determining one or more potential anomalies in the host system, and wherein the unique patterns enable identification of faults associated with one or more subsystems without depending on physical sensors for detecting fault in the subsystem, and wherein the neural network controller is configured to
preconfigure the plurality of predetermined patterns by acquiring training data comprising the system-level performance of the host system under normal and abnormal working conditions of the one or more subsystems,
extract a plurality of feature vectors from the training data, wherein the plurality of feature vectors exhibiting the plurality of predetermined patterns indicative of the one or more potential anomalies in the host system;
detect the plurality of unique patterns generated in real-time based on the host system responses for the normal and abnormal working conditions due to the one or more subsystem failure, wherein the data acquisition enables detection and identification of abnormal response by enabling distinguishing the normal and abnormal performance of the host system based on domain experience and training associated with operational conditions to further identify a failed component/subsystem of the host system that leads to abnormality in the system response; and
compare the plurality of unique patterns with the plurality of predetermined patterns corresponding to the subset of multiple system parameters to detect one or more potential anomalies in the host system and at least one faulty subsystem of the plurality of subsystems based on the comparison, the at least one faulty subsystem is responsible for contributing to the one or more potential anomalies in the host system.

US Pat. No. 10,054,994

NON-UNIFORM INTENSITY MAPPING USING HIGH PERFORMANCE ENTERPRISE COMPUTING SYSTEM

Indian Institute of Techn...

5. A system for non-uniform intensity mapping for cooling a processor, the system comprising:a processor configured to perform resource intensive computation;
a photo sensor network communicably coupled to the processor, wherein the photo sensor network comprises a plurality of photo sensitive modules configured to capture a plurality of intensities of incident light;
a plurality of photo sensors and a plurality of temperature sensors, wherein the photo sensors and the temperature sensors calibrate each other, and the photo sensors and the temperature sensors together calibrate the photo sensitive modules;
a Kalman filter embedded into the processor configured to determine an input flux using a non-uniform intensity mapping and the captured plurality of intensities of incident light; and
a cooling unit configured to control a current temperature of the processor based on the input flux determined by the Kalman filter.

US Pat. No. 10,031,973

METHOD AND SYSTEM FOR IDENTIFYING A SENSOR TO BE DEPLOYED IN A PHYSICAL ENVIRONMENT

TATA CONSULTANCY SERVICES...

1. A method for identifying a sensor, from a plurality of sensors, to be deployed in a physical environment, the method comprising:storing sensor data and metadata of the plurality of sensors in a data store, wherein the sensor data is captured by the plurality of sensors, and wherein the metadata belongs to the plurality of sensors;
deriving sensor information from at least one of the sensor data and the metadata, wherein the sensor information comprises at least one of thematic information, temporal information, and spatial information;
creating sensor ontology to define a relationship between the sensor data, the metadata, and the sensor information, wherein the sensor ontology is stored in the data store;
receiving and decomposing one or more search queries into at least one of a basic query component and an inferred query component, wherein the basic query component is associated to the sensor data, and wherein the inferred query component is associated to the sensor information;
identifying a subset of sensor data and a subset of sensor information, wherein the subset of sensor data and the subset of sensor information are matching with the at least one of the basic query component and the inferred query component;
ranking the one or more search queries based upon frequency of receipt of the one or more search queries on a knowledge repository, wherein the one or more search queries are further ranked based on the identified subset of sensor data and the subset of sensor information, and wherein the sensor information is matching with the one or more search queries received on the knowledge repository; and
executing at least one of the basic query component and the inferred query component on the data store in order to identify the sensor, and wherein the storing, the deriving, the creating, the receiving and decomposing, and the executing are performed by the processor using a set of instructions stored in a memory.

US Pat. No. 9,922,263

SYSTEM AND METHOD FOR DETECTION AND SEGMENTATION OF TOUCHING CHARACTERS FOR OCR

TATA CONSULTANCY SERVICES...

1. A method for detection of touching characters in a media by segmentation of adjoining character spaces, the method comprising:
acquiring each component of the media in a predetermined sequence, each component having at least two touching characters;
determining an aspect ratio of each component; and
performing a component investigation for each aspect ratio higher than a threshold aspect ratio, the component investigation
comprising:

determining a candidate touching position of the at least two touching characters in a plurality of geometric orientations
of the at least two touching characters;

computing a number of pixels representing a text of the at least two touching characters;
computing a length of a longest run of the number of pixels representing the text of the at least two touching characters
for each column of the component;

determining a candidate cut column based on a relation between a column pixel density and a corresponding length of the column;
and

segmenting the at least two touching characters with a referential boundary of the candidate cut column in the component.

US Pat. No. 9,865,061

CONSTRUCTING A 3D STRUCTURE

Tata Consultancy Services...

1. A method for constructing a three-dimensional (3D) structure, the method comprising:
capturing, by an image capturing unit, images of an object wherein capturing the images comprises capturing a first image
when the image capturing unit is stationary at a first position and capturing a second image at a second position during movement
of the image capturing unit by a threshold distance in a first direction from the first position;

determining, by a processor, extrinsic camera parameters, wherein determining the extrinsic parameters comprises:
determining an angular velocity of the image capturing unit from a gyroscope;
determining a gravitational component of the image capturing unit from a magnetometer, and
determining an acceleration of the image capturing unit from an accelerometer while capturing the second image, wherein determining
the extrinsic camera parameter further comprises determining a rotation and a translation between the first image and second
image wherein determining the rotation comprises:

determining a first rotation for the first image as a product of the angular velocity along a first axis with the gravitational
component along a second axis at the first position, the second axis being perpendicular to the first axis;

determining a second rotation for the second image as a product of the angular velocity along the first axis with the gravitational
component along the second axis at the second position; and

determining the rotation as a multiplication of one rotation matrix by a transpose of a second rotation matrix;
wherein determining the translation comprises:
determining an initial image position of the first image while capturing the image and the initial image position optimized
using an iterative reweighed least square technique to generate an optimized image position;

wherein optimizing the initial image position comprises reducing error associated with the determined initial image position;
and

determining the translation between the first image and the second image using the optimized image position and the rotation,
wherein the translation is calculated as a product of the optimized initial position and the rotation between the first image
and the second image;

computing, by the processor, an internal calibration matrix for the images, wherein the internal calibration matrix comprises
a focal length of the image capturing unit and a principle point of the image capturing unit;

computing, by the processor, a fundamental matrix using the extrinsic camera parameters and the internal calibration matrix;
extracting, by the processor, features of the images;
establishing, by the processor, point correspondences amongst the images, wherein the point correspondences are established
using the features of the images;

filtering, by the processor, the point correspondences using the fundamental matrix to generate filtered point correspondences;
and

generating, by the processor, a 3D structure using the filtered point correspondences, wherein the 3D structure is generated using a triangulation technique.

US Pat. No. 9,697,271

BUSINESS INTELLIGENCE REPORTS WITH NAVIGABLE REFERENCE INDICATORS

Tata Consultancy Services...

1. A computer implemented method for generating business intelligence reports with navigable reference indicators, the method
comprising:
obtaining information from an information source for providing in a business intelligence report;
obtaining report parameters through a user interface, wherein the report parameters include at least notes and indicator parameters,
wherein the notes and indicator parameters indicate a plurality of navigable reference indicators to be included in the business
intelligence report;

mapping the notes and indicator parameters with the obtained information, wherein the mapping further comprises generating
database tables based on the report parameters, the database tables comprising at least one of a business intelligence report
table, a notes and indicator table, a grain table, and a report note mapping table; and

generating, based on the mapping, the business intelligence report with the plurality of navigable reference indicators, wherein
the plurality of navigable reference indicators provide a forward and backward link between two or more sections of the business
intelligence report.

US Pat. No. 9,658,992

METHOD AND SYSTEM FOR DISINTEGRATING AN XML DOCUMENT FOR HIGH DEGREE OF PARALLELISM

TATA CONSULTANCY SERVICES...

1. A method for processing an Extensible Markup Language (XML) file, the method comprising:
receiving, by a multicore processor, an Extensible Markup Language (XML) file comprising a plurality of Extensible Markup
Language (XML) notations, wherein the plurality of XML notations are arranged in a plurality of lines, wherein each XML notation
of the plurality of XML notations indicates an element of a record comprising information, and wherein each XML notation comprises
tags at start and end of a line in the plurality of lines;

preprocessing, by the multicore processor, the XML file only once to create an intermediate XML file by reading the plurality
of XML notations line by line in order to reorganize the XML file in a manner that each tag ends in a line, wherein related
tags are organized in a line in the intermediate XML file;

converting, by the multicore processor, the intermediate XML file into a Simple Dependency Markup Language (SDML) file by
reading start tags till end tags of the plurality of XML notations in the plurality of lines, wherein each line in SDML file
starts with a start tag and ends with an end tag resulting in an aggregation of record in a single line;

iteratively checking, by the multicore processor, if more lines are available in the intermediate XML file for conversion
into the SDML file, wherein upon completion of the conversion of the intermediate XML file into the SDML file, the intermediate
XML file is deleted;

splitting, by the multicore processor, the SDML file into a plurality of SDML fragments such that the plurality of SDML fragments
are distributed across cores of the multicore processor in order to parse the plurality of SDML fragments parallelly; and

combining, by the multicore processor, resultants of the parsed plurality of SDML fragments to create a Previously presented
Simple Dependency Markup Language (SDML) file.

US Pat. No. 9,619,699

SYSTEM AND METHOD FOR ENHANCING HUMAN COUNTING BY FUSING RESULTS OF HUMAN DETECTION MODALITIES

Tata Consultancy Services...

1. A computer implemented method for enhancing accuracy of real-time human counting in at least one frame of a captured image
in a predefined viewing area, the method comprising steps of:
detecting, by a processor, a human in one or more frames by using a plurality of human detection modalities, each of the plurality
of human detection modalities obtaining a characteristic result of the said captured image;

calculating, by the processor, an accuracy probability of each of the plurality of human detection modalities by evaluating
each of the obtained characteristic results of the plurality of human detection modalities and using a pre calculated value
of an activity probability of the plurality of human detection modalities, the activity probability adapted to determine a
variance in detected human count in each frame;

generating, by the processor, a combination of the obtained characteristic results of the plurality of human detection modalities
by using a Bayesian fusion technique;

selectively integrating, by the processor, the obtained characteristic results for each frame from the combination of the
plurality of human detection modalities and the activity probability associated with the plurality of human detection modalities
by using a regression model, wherein mean and standard deviation values of differences between pixel values of each frame
and a previous frame are taken as input covariates for applying the regression model to the activity probability, wherein
the integrating comprises quantifying the accuracy probability of each of the plurality of human detection modalities within
each frame and selecting a human detection modality among the plurality of human detection modalities with maximum accuracy
probability above the integrated fusion characteristic results; and

counting humans in each frame using the selected human detection modality.

US Pat. No. 9,612,663

MULTIMODAL SYSTEM AND METHOD FACILITATING GESTURE CREATION THROUGH SCALAR AND VECTOR DATA

Tata Consultancy Services...

1. A device for generating one or more sets of intuitive gestures, the device comprising:
a gesture creator inducting:
one or more sensors adapted for obtaining scalar data and vector data from at least one user wherein the one or more sensors
include one or more microphone and one or more camera; and wherein the scalar data includes at least one of a visual data
or acoustic data and the vector data includes at least one of a direction of the acoustic data or X, Y, Z cloud points of
the visual data;

a fusing system adapted for fusing the vector and the scalar data by Bayesian rules to generate one or more sets of intuitive
gestures; and

a tangible media adapted for storing the generated sets of intuitive gestures to create a gesture library that is used by
a reciprocating module;

wherein the reciprocating module maps, using the gesture library, a set of gestures similar to the generated sets of intuitive
gestures.

US Pat. No. 9,607,210

VIDEO SURVEILLANCE SYSTEM AND METHOD FOR FRAUD DETECTION

TATA CONSULTANCY SERVICES...

1. A method for detecting fraud by a video surveillance system, the method comprising:
receiving, by a processor in the video surveillance system, a plurality of images;
converting, by the processor, the plurality of images, present at a predefined frame interval, into binary images;
identifying, by the processor, a reference frame, from the binary images, having a relative white pixel count greater than
a lower predefined threshold of the white pixel count;

triggering, by the processor, face detection upon detecting motion within the binary images, wherein the motion is detected
while the relative white pixel count either exceeds an upper predefined threshold or increases monotonically;

reducing, by the processor, a Region of Interest (RoI) window within the binary images based on a highest density of white
pixel count, wherein the highest density of white pixel count is determined by spatially sampling the binary images along
columns;

determining whether a face is detected, by the processor, within the reduced RoI window;
determining whether mouth is detected within a lower half of the face, by the processor, when the face is detected within
the reduced RoI window; and

detecting the fraud, by the processor, when at least one of the face is not detected within the reduced RoI window and the
mouth is not detected within the lower half of the detected face.

US Pat. No. 9,588,761

MAINTENANCE TOOLKIT FOR THE IMPLEMENTATION OF COMPUTER PROGRAMS

Tata Consultancy Services...

1. A computer implemented maintenance toolkit for implementation of computer programs, said toolkit comprising:
a system processor possessing functional elements and a pre-determined set of rules to provide system processing commands
for carrying out different functions by different modules present in the toolkit;

a receiver configured to receive, a computer program containing a plurality of modules, said plurality of modules within said
computer program containing a plurality of components;

a metadata retriever cooperating with said receiver and adapted to receive the plurality of modules and the plurality of components
within said computer program, and configured to extract, metadata from the plurality of components contained in the plurality
of modules in said computer program;

a local repository cooperating with the metadata retriever adapted to receive the metadata and configured to store the metadata;
an impact analyzer cooperating with the local repository adapted to receive the stored metadata and analyze, impact of said
plurality of modules within the computer program, on each other by identifying inter-dependencies and intra-dependencies between
said plurality of components contained in said plurality of modules within the computer program to obtain dependency data,
said impact analyzer including a hierarchy generator configured to create a hierarchy structure of said plurality of modules
and said plurality of components, contained in said plurality of modules within the computer program, based on the dependency
data;

a dependency recorder adapted to cooperate with said impact analyzer to receive the dependency data and the hierarchy structure,
said dependency recorder configured to create, based on the dependency data and the hierarchy structure, a dependency table
containing information related to said plurality of modules and said plurality of components, contained in said plurality
of modules within the computer program, and their respective dependencies;

a central repository cooperating with the dependency recorder for receiving the dependency table and storing the dependency
table with corresponding information related to said plurality of modules and said plurality of components, contained in said
plurality of modules within the computer program to maintain said computer program; and

a query manager cooperating with the central repository, said query manager including:
an input module configured to accept input queries from users, said input queries including queries related to said plurality
of modules and said plurality of components contained in said plurality of modules within the computer program;

a crawler extractor cooperating with the input module to identify said plurality of modules and said plurality of components,
contained in said plurality of modules within the computer program, from the input queries, and configured to crawl through
the central repository and extract from the central repository, dependency information stored in the dependency table corresponding
to the identified plurality of modules and the identified plurality of components contained in said plurality of modules within
the computer program; and

a reporting module cooperating with the crawler and extractor for receiving the dependency information corresponding to the
input queries, and configured to create reports explaining the received dependency information.

US Pat. No. 9,473,178

SYSTEM AND METHOD FOR VARYING MEMORY SIZE IN A DATA STREAM PROCESSING

Tata Consultancy Services...

1. A computer-implemented method for varying a memory size in a data stream processing while improving a connection degree
sketch for identifying network traffic anomalies, the method comprising:
encoding an input data stream by using an error coding technique to produce an encoded data, wherein the encoded data results
in a modified memory size;

generating a host connection degree sketch using a set of parameters and applying a reverse sketching technique over the encoded
data in order to obtain estimated encoded data, wherein obtaining the estimated encoded data includes estimating in-degree
and out-degree associated with one or more host in a network; and

decoding the encoded data after the host connection degree sketch is generated using a decoding technique and obtaining an
output data, wherein a memory size of the output data is dependent on the memory size of the input data stream.

US Pat. No. 9,330,365

METHOD AND SYSTEM FOR ESTIMATING SIZE AND EFFORT OF SOFTWARE ASSURANCE PROJECTS

Tata Consultancy Services...

1. A method for estimating size and effort of one or more software assurance projects for facilitating effort distribution
across a plurality of phases of the software assurance project, the method comprising:
deriving project size based on a plurality of test steps for a plurality of test cases of software assurance projects using
a project size estimation module (302), wherein deriving project size comprises a multi-dimensional approach, wherein the multi-dimensional approach comprises:

a first dimension for identifying the number of test steps against a predefined guidance, wherein said predefined guidance
comprises a definition of test case step, and classifying the plurality of test cases into at least one of a simple, medium
and complex category based on the number of test steps;

a second dimension for further categorizing said test cases, wherein categories comprise existing test cases that can be used
as-is, existing test cases that are planned to be modified in the current release, and new test cases planned to be created
for the current release; and

a third dimension for applying a pre-defined weightage across the first dimension and second dimension to express test cases
into equivalent normalized test cases;

estimating project effort of the software assurance project based on the derived size and a baseline productivity using an
effort estimation module (304);

adjusting project effort of the software assurance project based on a plurality of adjustment factors using an effort adjustment
module (306); and

distributing the adjusted effort across the software assurance project phases using an effort distribution module (308).

US Pat. No. 9,860,318

METHOD AND SYSTEM FOR OPTIMAL CACHING OF CONTENT IN AN INFORMATION CENTRIC NETWORKS (ICN)

Tata Consultancy Services...

1. A method for optimal caching of content in an Information Centric Networks (ICN); said method comprising processor implemented
steps of:
a. requesting by a user (114), for a plurality of content to a nearest local or edge ICN cache router (IR-102);

b. checking by the local or edge ICN cache router (IR-102), availability of the requested plurality of content in its cache and delivering by the local or edge ICN cache router (IR-102), the requested plurality of content to the user (114) if it is available in its cache;

c. forwarding by the local or edge ICN cache router (IR-102) when the requested plurality of content is not available in its cache, the request for the plurality of content to any of
intermediate ICN cache router (IR-104, and IR-106) of Information Centric Networks (ICN) for finding source (116) of the requested plurality of content;

d. downloading the plurality of content in its downstream path after finding the source (116) of the requested plurality of content; and

e. storing the downloaded plurality of content at the en-route ICN cache router (IR-102, IR-104, and IR-106) based on a content metric value derived by a content metric system (CMS) based on a plurality of network parameters for
the requested plurality of content.

US Pat. No. 9,723,062

SYSTEM FOR DYNAMIC SERVICE COLLABORATION THROUGH IDENTIFICATION AND CONTEXT OF PLURALITY OF HETEROGENEOUS DEVICES

Tata Consultancy Services...

1. A ubiquitous computing system, without an additional or external context management device, for context aware collaborative
service provisioning of heterogeneous sensor within a smart space, the system comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises a plurality of modules configured for executing a processor
executable instructions, comprising:

a service collaboration platform adapted to receive plurality of sensor information from a plurality of heterogeneous distributed
sensors communicatively coupled with the service collaboration platform, each of the plurality of heterogeneous distributed
sensors having a unique device identifier and an associated service identifier, wherein the associated service identifier
is associated with a service provided by each of the plurality of heterogeneous distributed sensors, wherein the associated
service identifier is configured to act as a key;

a sensor management module adapted to create the unique device identifier by associating a unique medium access control (MAC)
address of each of the plurality of heterogeneous sensors with context information of the plurality of heterogeneous sensor
respectively, and with the associated service identifier of the service provided by each of the plurality of heterogeneous
sensors while performing discovery and registration of a plurality of connected sensors, and for a subsequent registration
thereof, an association map of a plurality of device-specific aspects is generated;

a device identification table configured to dynamically update the context information of each of the plurality of heterogeneous
sensors corresponding to the MAC address and the associated service identifier of each of the plurality of heterogeneous sensors
by the sensor management module;

a context extraction module incorporated within the sensor management module, the context extraction module configured to
intermittently run a scan at a predefined time interval to extract the context information during a sensor discovery phase
and parse the extracted context information of each of the plurality of heterogeneous sensors, wherein the extracted context
information is used by the sensor management module to create the unique device identifier and update the device identification
table; and

at least one service request transmitted to the service collaboration platform, wherein in response to receiving the at least
one service request, the service collaboration platform retrieves at least one sensor service context relation from the device
identification table using the associated service identifier as the key corresponding to at least one of the plurality of
heterogeneous sensors.

US Pat. No. 9,723,132

USAGE BASED AUTHENTICATION SYSTEM

Tata Consultancy Services...

1. A computer implemented method for authenticating a user using one or more mobile applications in a mobile device, the method
comprising:
selecting one or more mobile applications in the mobile device by the user, for a usage bracket matrix computation wherein
a usage based authentication software application is enabled in the mobile device;

enabling the mobile application for usage based authentication computation by a usage authentication interface (114);

calculating usage statistics for one or more selected mobile applications by a usage pattern computing module (116), wherein usage statistic comprises a set of calculated values;

generating the usage pattern for the one or more selected mobile applications by a usage pattern computing module (116), wherein the usage pattern are stored in a memory (102);

storing the one or more usage pattern in the usage bracket matrix, wherein the usage bracket matrix stores one or more calculated
values generated by the usage pattern computing module (116);

enabling the user to enter a usage pattern through an I/O interface (106) wherein the user-fed usage pattern is matched with one or more usage patterns stored in the usage bracket matrix; and

authenticating the user by a authentication applications module (118) to log on to the mobile device based on successful matching of usage pattern in usage bracket matrix with one or more user-fed
usage patterns as input.

US Pat. No. 9,665,995

METHOD AND SYSTEM FOR PERFORMING CRASH ANALYSIS OF ONE OR MORE VEHICLES

Tata Consultancy Services...

1. A computer-implemented method for performing crash analysis of one or more vehicles involved in a crash, the method comprising:
periodically receiving, by a processor, a plurality of GPS samples associated with a vehicle;
generating, by the processor, a trajectory for the vehicle by tracing the plurality of GPS samples;
segmenting, by the processor, the trajectory into one or more macro level segments, wherein each macro level segment is segmented
into one or more micro level segments;

receiving, by the processor, a plurality of acceleration samples for at least one micro level segment of each macro level
segment;

computing, by the processor:
at least one micro level segment score corresponding to at least one micro level segment based upon the acceleration samples
at three axes and the plurality of GPS samples, wherein the plurality of GPS samples and the plurality acceleration samples
are received from a GPS sensor and a 3-axis accelerometer sensor associated with the vehicle, and

at least one macro level segment score corresponding to at least one macro level segment based upon the micro level segment
score or a reference speed of the vehicle, wherein the reference speed is indicative of a speed measured corresponding to
the at least one macro level segment and a macro level segment adjacent to the at least one macro level segment; and

determining, by the processor, a crash responsibility score based upon the at least one macro level score, the crash responsibility
score for performing crash analysis of the vehicle, wherein the crash responsibility score represent responsibility score
of each vehicle involved in the crash, and wherein the crash responsibility score comprises a numerical value within a range
of 0 to 1, wherein a 0 numerical value indicates no responsibility and a 1 numerical value indicates full responsibility of
the vehicle involved in the crash.

US Pat. No. 9,633,403

MANAGING SUSTAINABLE INTELLECTUAL PROPERTY PORTFOLIO OF AN ENTERPRISE

Tata Consultancy Services...

1. A computer-implemented method for managing a sustainable intellectual property (SIP) portfolio of an Enterprise, the computer-implemented
method comprises:
generating, by a processor, a sustainable intellectual property (IP) in atomicity of the Enterprise based on a set of sustainability
differentiators, wherein the set of sustainability differentiators is obtained, based on at least one of a strength parameter,
a spread parameter, a duplicity parameter, and a difference parameter;

defining a sustainable claims set by analyzing the IP in atomicity in comparison with at least one of a pre-existing and a
newly formed intellectual property portfolio of the Enterprise (EIP), the analysis comprising:

defining, by the processor, a strength parameter and a spread parameter for claim elements of an intellectual property in
atomicity;

creating, by the processor, a Comparison Matrix for the intellectual property by aggregating existing intellectual property
claims elements dataset of the Enterprise in a preconfigured time sequential manner;

creating, by the processor, at least one of a Competitive Matrix and a Topology Matrix for the intellectual property by aggregating
existing intellectual property claims elements dataset of at least one key player in the pre-configured time sequential manner
respectively;

generating, by the processor, a strength cardinality, a spread cardinality, and duplicity in strength and spread of claims
elements, a Boolean Matrix of the Comparison Matrix, and at least one of the Competitive Matrix and the Topology Matrix of
the sustainable IP in atomicity;

generating, by the processor, the sustainable claims set by comparing the strength cardinality, the spread cardinality, and
a Boolean Matrix dataset of the intellectual property in atomicity with respect to a dataset of the Comparison Matrix;

defining a competitive advantageous claims set by analyzing the IP in atomicity in comparison with at least one of a key player
IP (KIP) by comparing the intellectual property dataset in atomicity with at least one of a dataset of the Competitive Matrix
or the Topology Matrix, wherein the comparing comprises generating a dataset by determining a clean set claim element data,
a strong difference claim element data, a distributed difference claim element data and a fuzzy difference claim element data,
wherein the dataset is generated by obtaining at least a Difference Matrix comprising the intellectual property in atomicity
dataset in comparison with at least one of the Competitive matrix dataset and the Topology Matrix dataset;

obtaining, by the processor, a plurality of decomposed fragments of intellectual property landscapes by analyzing the sustainable
IP in atomicity based on a plurality of intermediate datasets and data structures;

creating, by the processor, a sustainable and optimized IP portfolio for the Enterprise by processing at least one of the
sustainable IP in atomicity and the plurality of decomposed fragments based on optimization parameters and at least one multiple
objective portfolio optimization function, and wherein the optimization parameters includes a synergy and growth parameter,
a valuation parameter, and a risk parameter;

creating a Digital IP Genome set for each claim element of each claim of the IP in atomicity, wherein the Digital IP Genome
set comprises:

Domicile Genome data including at least one of a date entry, a jurisdiction entry, an assignee entry, an inventors entry,
and an intellectual property classification entry;

Claims Elements Index data comprising attributes related to at least one of claim data (numeric or alphanumeric) (Cl) as appearing
in the intellectual property document, independent claim element data (Ind), first order dependent claim element data (FOD),
linked first order dependent claim element data (LFOD), second order dependent claim element data (SOD), a linked second order
dependent claim element data (LSOD) and a claim element data (Cl_EL); and

CIM Genome data comprising an 11-digit binary string based on N-I-U-P-T-M-S-EfiAdp-Agl-Ant bit, wherein the N-I-U-P-T-M-S-Efi-Adp-Agl-Ant
determine the Category (NIU), the Coverage Area (PTMS) and the Sustenance Characteristic (EA3) dimensions of a CIM matrix,
for mapping the claim elements to a cell of CIM matrix, which in turn maps to other related matrices;

creating a collaborative invention mining (CIM) matrix by allocating claim elements from the CIM Genome Data to cells of the
CIM matrix, wherein the CIM matrix three-dimensionally maps the Novelty (N), Inventive (I), and Utility (U) Category; Process
(P), Technology (T), Measurement (M), System (S) Area; and EA3 (Efficient, Agile, Adaptable, Anticipative) Characteristic
dimensions;

wherein the creating of the CIM Genome of the Digital IP Genome further comprises:
creating, by the processor, an initial population of the Digital IP Genome set by aggregating a Digital IP genome for each
claim element in the claims of the IP;

parsing, by the processor, the claims elements;
matching, by the processor, the claim elements of the IP to the same word, synonym, or word pattern in a CIM dictionary, wherein
the CIM dictionary includes a list of words, patterns, and associated NIU, PTMS, and EA3 classifications;

evaluating, by the processor, fitness of the initial population using scoring logic based on percentage of matching words
or metadata from the matching, wherein if the percentage is below a predetermined threshold, removing the claim elements below
a predetermined threshold;

iteratively generating, by the processor, an offspring Digital IP Genome Set after removing the claim elements below a predetermined
threshold to arrive at a fit CIM Genome when the matching is above the predetermined threshold; and

determining, by the processor, the strength and the spread and the duplicity in strength and spread of the CIM Genome data
upon identifying a fit CIM genome.

US Pat. No. 9,588,965

IDENTIFYING AND CHARACTERIZING AN ANALOGY IN A DOCUMENT

TATA CONSULTANCY SERVICES...

1. A method for identifying and characterizing an analogy in a document, the method comprising:
identifying a candidate document, wherein the candidate document comprises an analogy for a target concept, a region of interest,
and a linguistic marker included in the region of interest;

classifying the candidate document as an analogy document or a non-analogy document based upon a size of the region of interest
and a count of the linguistic marker;

identifying a source concept from the analogy document, wherein the source concept comprises the analogy; and
characterizing the source concept with corresponding metadata, wherein the metadata comprises a familiarity of the source
concept, a length of the source concept, and a readability of the source concept, and wherein the familiarity of the source
concept is calculated using an extracting Distributional related words using Co-occurrences (DISCO) tool, the length of the
source concept is calculated using the size of the region of interest, and the readability of the source concept is calculated
using a Flesch-Kincaid readability score method.

US Pat. No. 9,552,379

FOREIGN KEY IDENTIFICATION IN DATABASE MANAGEMENT SYSTEMS

Tata Consultancy Services...

1. A computer implemented method for foreign key (FK) identification in a databases management system, the method comprising:
obtaining a superset of primary key-foreign key (PK-FK) pairs based on a selected schema of a metadata, wherein FK associated
with the superset of PK-FK pairs is based on a predefined standard rule and wherein PK associated with the superset of PK-FK
pairs is based on a user query, wherein the selected schema comprises one of a structure of a database server described in
a formal language supported by DBMS, organization of data to create a blueprint of constructional details of the database
server and data that can be received as an input into the database server;

computing a threshold value for each of a primary key-foreign key (PK-FK) pair of a superset of PK-FK, wherein the threshold
value is based on a standard principle of FK column, and on an analysis of a data type and a length of columns of the superset
of PK-FK pairs;

generating a sub-set of PK-FK pairs by comparing the computed threshold value with a predefined threshold value, wherein the
subset of PK-FK pairs is a subset of the superset of PK-FK pairs, and wherein the predefined threshold value is indicative
of an acceptance criterion of the PK-FK pair from the super-set of PK-FK pairs to form the sub-set of PK-FK pairs;

computing a cumulative probability distribution (CPD) for each of PK and FK values in the sub-set of PK-FK pairs based on
PK and FK columns;

determining a conformance score for each of the PK-FK pair of the subset of PK-FK pairs using a statistical function based
on Kolmogorov Smirnov Test, wherein the conformance score is the maximum difference between computed corresponding Cumulative
Probability Distribution (CPD) values of PK and CPD of FK for each PK-FK pair of the sub-set of PK-FK pairs and wherein the
conformance score is computed with respect to a range and a variation for the sub-set of PK-FK pairs; and

comparing the conformance score of the each PK-FK pair of the sub-set of PK-FK pairs with a predetermined acceptability index
to identify an FK to form a positive PK-FK pair, wherein the predetermined acceptability index is indicative of an acceptance
of at least one positive FK from the set of PK-FK pairs.

US Pat. No. 9,367,418

APPLICATION MONITORING

Tata Consultancy Services...

1. A computer implemented method for monitoring a software application the method comprising:
obtaining monitoring data pertaining to one or more target components of the software application, based on preferences of
a user, wherein the monitoring data comprises data pertaining to the software application at least one of an application level
and a database level and wherein the monitoring data comprises at least one of a response time, a query, and an invocation
count corresponding to each of the one or more target components;

providing the monitoring data corresponding to a previous monitoring cycle periodically to a monitoring buffer over a first
network, wherein the first network is for executing the software application, and wherein the previous monitoring cycle is
a first predetermined time interval determined by a user;

transferring the monitoring data from the monitoring buffer to a database after a second predetermined time interval over
a second network, wherein the second network is for transferring the monitoring data and is different from the first network,
wherein transfer of the monitoring data from the monitoring buffer to the database is asynchronous with execution of the software
application, wherein the first predetermined time interval and the second predetermined time interval are configurable by
the user at a runtime to control memory usage of the monitoring buffer; and

flushing the monitoring data from the monitoring buffer based on a data updation criteria.
US Pat. No. 9,342,653

IDENTIFICATION OF RIBOSOMAL DNA SEQUENCES

Tata Consultancy Services...

1. A computer implemented method for pre-tagging a subset of reference clusters from amongst a plurality of reference clusters
as probable rDNA clusters and using information obtained by pre-tagging for identification of ribosomal deoxyribonucleic acid
(rDNA) sequences from a sample containing a plurality of unknown DNA sequences, the method comprising:
obtaining a plurality of reference sequences from a reference database;
creating said plurality of reference clusters using said plurality of reference sequences;
performing a rDNA analysis to pre-tag said subset of reference clusters, from amongst the plurality of reference clusters,
as the probable rDNA clusters, wherein the rDNA analysis comprises:

obtaining a plurality of the reference rDNA sequences from the reference database;
generating a plurality of rDNA vectors corresponding to a plurality of reference rDNA sequences;
computing a frequency of hits of each of said plurality of reference clusters corresponding to said plurality of reference
rDNA sequences, wherein the frequency of hits is computed based on at least one of a threshold distance and a threshold sequence
count;

comparing for each of the plurality of reference clusters, the computed frequency of hits with a predetermined frequency;
pre-tagging the subset of reference clusters from said plurality of reference clusters as the probable rDNA clusters, when
the computed frequency of hits exceeds the predetermined frequency; and

identifying a plurality of ribosomal deoxyribonucleic acid (rDNA) sequences from a sample containing a plurality of unknown
DNA sequences based on the information obtained from pre-tagging, wherein the identifying includes:

creating a plurality of query sequences corresponding to said plurality of unknown DNA sequences by sequencing genetic material
obtained from the sample;

computing a distance between a query vector corresponding to each query sequence and a cluster centroid of each of the plurality
of reference clusters, wherein each of the plurality of reference clusters include said plurality of reference sequences,
and wherein said plurality of reference sequences with similar composition are classified into at least one reference cluster;

selecting one or more target clusters corresponding to the query sequence from the plurality of reference clusters, wherein
the one or more target clusters are selected based on,

a comparison of the distance of each of the plurality of reference clusters with the threshold distance; and
a comparison of a cumulative sequence count of said plurality of reference clusters with the threshold sequence count;
computing the proportion of pre-tagged probable rDNA clusters within the one or more target clusters, and
identifying the query sequence as a rDNA sequence, when the computed proportion of the pre-tagged probable rDNA clusters exceeds
a predetermined proportion.

US Pat. No. 9,855,012

METHOD AND SYSTEM FOR NOISE CLEANING OF PHOTOPLETHYSMOGRAM SIGNALS

Tata Consultancy Services...

1. A processor-implemented method for noise cleaning of photoplethysmogram (PPG) signals for estimating blood pressure (BP)
of a user; said method comprising:
a. extracting, via one or more hardware processors, photoplethysmogram signals from the user using an image capturing device
(202) coupled with a mobile communication device (204);

b. up sampling, via one or more hardware processors, the extracted photoplethysmogram signals using an up sampling module
(206);

c. filtering, via one or more hardware processors, the up sampled photoplethysmogram signals using a filtering module (208);

d. removing, via one or more hardware processors, uneven baseline drift of each cycle of the up sampled and filtered photoplethysmogram
signals using a baseline drift removal module (210);

e. removing, via one or more hardware processors, outlier cycles of the photoplethysmogram signals by k-means clustering using
an outlier removing module (212);

f. modeling, via one or more hardware processors, remaining cycles of the photoplethysmogram signals after removing outlier
cycles with a sum of 2 Gaussian functions using a signal modeling module (214); and

g. extracting, via one or more hardware processors, time domain features from originally extracted and modeled photoplethysmogram
signals using a feature extraction module (216) for estimating blood pressure of the user.

US Pat. No. 9,830,736

SEGMENTING OBJECTS IN MULTIMEDIA DATA

TATA CONSULTANCY SERVICES...

1. A method for segmenting a plurality of objects present in a two-dimensional (2D) video having a plurality of 2D frames
and depth information, the method comprising:
receiving, by a processor, the 2D video and the depth information corresponding to pixels of the 2D frames in the 2D video;
detecting, by the processor, camera motion in each 2D frame of the plurality of 2D frames of the 2D video;
segregating, by the processor, the plurality of 2D frames into a first set of 2D frames and a second set of 2D frames based
upon the detection of the camera motion in the each frame, wherein the first set of 2D frames is detected to be void of the
camera motion, and wherein the second set of 2D frames is detected to have the camera motion therein;

determining, by the processor, a plurality of cloud points in each 2D frame of the first set of 2D frames and depth data,
wherein each cloud point of the plurality of cloud points stores x, y, z co-ordinates data and color data associated with
each pixel of each 2D frame of the first set of 2D frames;

converting, by the processor, each 2D frame and depth data of the first set of 2D frames into a 3D grid, wherein the 3D grid
comprises a plurality of voxels, and wherein the 3D grid is indicative of a division of a 3D space, associated with each frame,
by a plurality of equidistant planes perpendicular to an x-axis, a y-axis and a z-axis, and wherein each voxel has a definite
volume in the 3D grid, and wherein each voxel accommodates one or more cloud points, and wherein each voxel being indicative
of the definite volume is surrounded by three pairs of consecutive planes along the x-axis, the y-axis and the z-axis;

determining, by the processor, valid voxels and invalid voxels from the plurality of voxels based upon a number of cloud points
present in each voxel of the plurality of voxels;

classifying, by the processor, each voxel of the plurality of the voxels into a first set of voxels and a second set of voxels
after traversing each 2D frame of the plurality of the 2D frames in the first set of 2D frames, wherein the first set of voxels
are valid voxels, and wherein the second set of voxels are invalid voxels; and

labeling, by the processor, each voxel in the first set of voxels using a 3D connected component labeling technique in order
to segment the plurality of objects present in the 2D video and depth data.

US Pat. No. 9,785,498

ARCHIVAL STORAGE AND RETRIEVAL SYSTEM

Tata Consultancy Services...

1. A file storage and retrieval system comprising:
a processing unit;
a plurality of storage nodes; and
a memory storing instructions, wherein the processing unit is configured to execute the instructions to:
receive a Quality of Service (QoS) levels and uniform resource name for a file enabling fine grained control over file availability
stored across the plurality of storage nodes;

determine k data chunks and m parity chunks fragmented from file chunks by a file encoding and placement scheme wherein the
QoS level associated with the each file specifies presence of desired number md of parity chunks and ensures total number of available chunks for any file to be above k+mmin chunks wherein mmin
determine a file chunk Uniform Resource Name (URN) for the k data chunks and m parity chunks;
determine a hash for each of the file chunk URNs;
determine a node key for each of the plurality of storage nodes using a hash function; and
store the k data chunks and m parity chunks across the plurality of storage nodes based on the node keys and the hashs for
the file chunks;

a monitoring engine to track the status of lost file chunks stored on any one of the storage nodes for their participation
in input/output operations performed on the system and regeneration mechanism on the lost chunks wherein regeneration is delayed
as long as minimum number of available chunks is greater than k+mmin.

US Pat. No. 9,774,577

DEVICE, SYSTEM AND METHOD PROVIDING DATA SECURITY AND ATTRIBUTE BASED DATA ACCESS IN PARTICIPATORY SENSING

Tata Consultancy Services...

1. A device for securing data to be accessed by a plurality of data accessors, the device comprising:
a processor;
a plurality of sensors to capture data in one or more formats; and
a memory coupled to the processor, wherein the processor executes a plurality of modules stored in the memory, and wherein
the plurality of modules comprising:

a segmenting module to segment the data into a plurality of data segments;
a defining module to define an access policy corresponding to a data segment of the plurality of data segments, wherein the
access policy comprises a plurality of attributes associated with a plurality of data accessors, and wherein an attribute
of the plurality of attributes indicates an accessing right of a data accessor for accessing the data segment;

a submitting module to submit the access policy to a system or to a public key generation (PKG) module of the device;
receiving module to receive an access tree associated with the access policy from the system or from the public key generation
(PKG) module, wherein the access tree comprises the plurality of attributes arranged in hierarchy using a set of boolean operators,
and wherein each attribute, of the plurality of attributes, present in the access tree is associated with an encryption key;
and

an encrypting module to encrypt the data segment using the encryption key associated with each attribute, wherein the encryption
key is obtained using an attribute based encryption scheme, and wherein when the attribute based encryption scheme is the
Ciphertext-Policy Attribute-Based Encryption (CP-ABE),

the submitting module submits the access policy to the public key generation (PKG) module of the device, wherein the PKG module
generates the access tree based on the access policy, and

the receiving module receives the access tree associated with the access policy from the public key generation (PKG) module.

US Pat. No. 9,734,588

METHOD AND SYSTEM FOR COMPRESSING A VIDEO USING BACKGROUND SUBTRACTION AND CHANGE DETECTION IN VIDEOS

Tata Consultancy Services...

1. A method for compressing a video captured from a static camera, the method comprising a processor (106) implemented steps of:
providing a background image taken from the video stored in a database (104), wherein the background image is an image of a field of vision of the static camera (102);

providing an original image, wherein the original image is captured from the static camera (102) when there is a change in a foreground with respect to the background image of the field of vision of the static camera
(102);

applying a wavelet transform to sparse the background image and the original image using a sparsifying module (110);

taking the difference between the transformed background image and the transformed original image using a differencing module
(112), resulting in the generation of a transformed foreground;

applying a process of thresholding on the transformed foreground using a thresholding module (114), wherein the thresholding results in generation of a plurality of zero blocks and a sparse vector;

combining each of the plurality of zero blocks using a run-length encoding module (116), resulting in the compression of the size of the transformed foreground;

splitting the sparse vector in to a plurality of sparse vector blocks of a predefined length using a splitting block (118);

adding each of the plurality of sparse vector blocks to an arbitrary BCH-DFT codeword using a first addition module (120), resulting in the generation of a corrupted codeword;

calculating a syndrome by a syndrome computation module (122) using a parity check matrix and the corrupted codeword;

reconstructing the sparse vector for each of the plurality of sparse vector blocks using a decoder (124);

applying inverse wavelet transform on the transformed foreground to regenerate the foreground using an inverse transformation
module (126); and

adding the foreground to the background image to recover the original image using a second addition module (128).

US Pat. No. 9,734,234

SYSTEM AND METHOD FOR RECTIFYING A TYPOGRAPHICAL ERROR IN A TEXT FILE

Tata Consultancy Services...

1. A method for rectifying a typographical error in a text file, the method comprising:
generating a linguistic network of a plurality of words present in the text file, wherein each pair of words of the plurality
of words in the linguistic network is interconnected via an edge;

computing similarity between each pair of words based on a set of parameters associated with words of each pair, wherein the
set of parameters comprises distance between the words, phonetic similarity between the words, consonant skeleton distance,
presence of the words in lexicon, morphological root form of the words, frequency of the words in the text file, probability
of occurrence of the words in the context, domain similarity of the words, and a flag associated to similar starting character
of the words;

assigning a weight to the edge between the each pair of words based on the similarity computed from the set of parameters;
categorizing one or more words present in the linguistic network in a category, wherein the one or more words are categorized
based on the weight assigned to each edge connecting the each pair of words of the one or more words;

identifying a reference word for each word which is deemed to have the typographical error from the category; and
substituting each word of the category, having the typographical error, with the reference word corresponding to the word
having typographical error in the text file for rectifying the typographical error, wherein the generating, the computing,
the assigning, the categorizing, the identifying and the substituting are performed by a processor using programmed instructions
stored in a memory.

US Pat. No. 9,706,005

PROVIDING AUTOMATABLE UNITS FOR INFRASTRUCTURE SUPPORT

Tata Consultancy Services...

1. A computing system for providing automatable units to users in information technology environment, the computing system
comprising:
a processor;
a filtering module coupled to the processor to filter an operation log having information pertaining to actions performed
to resolve a ticket, wherein the operation log is filtered based on filtering attributes for selection of content relevant
for identifying an automatable unit;

an analysis module coupled to the processor to generate the automatable unit, based on an analysis of the content using one
of a sequence mining technique and a graph mining technique, wherein the automatable unit is one of a standard operator unit
and a control flow unit, and wherein the standard operator unit comprises a set of instructions that are to be performed to
resolve the ticket and the control flow unit comprises a set of possible actions to be performed for each of a plurality states
of an infrastructure element to resolve the ticket associated with the infrastructure element, wherein the analysis module:

determines a frequency of a pattern in the content, wherein the frequency is determined based on a tolerance threshold and
a minimum pattern length, the tolerance threshold defining an extent of inexactness permissible between two patterns and a
pattern length being a number of commands in the pattern;

compares the frequency of the pattern with a threshold frequency; and
identifies the pattern as a repeated pattern, based on the comparison; and
an automation module to provide the automatable unit in a support service knowledgebase accessible by the users for dynamically
resolving tickets similar to the ticket.

US Pat. No. 9,646,077

TIME-SERIES ANALYSIS BASED ON WORLD EVENT DERIVED FROM UNSTRUCTURED CONTENT

TATA CONSULTANCY SERVICES...

1. A computer-implemented method for analyzing time-series data based on world events derived from unstructured content obtained
from a plurality of data sources, the method comprising:
extracting, by a processor, from the unstructured content, a plurality of world events comprising at least one world event
by:

obtaining, by the processor, a meta-data associated with the unstructured content, wherein the meta-data is indicative of
attributes of the unstructured content;

de-duplicating, by the processor, the unstructured content based on the obtained meta-data associated with the unstructured
content; and

grouping, by the processor, similar unstructured content into a plurality of groups, wherein the unstructured content present
in each of the plurality of groups corresponds to a world event;

obtaining, by the processor, event information corresponding to the at least one world event from the unstructured content,
wherein the event information includes at least time of occurrence of the at least one world event, time of termination of
the at least one world event, at least one entity associated with the at least one world event, and a pre-assigned event class;

retrieving, by the processor, time-series data pertaining to the at least one entity associated with the at least one world
event, from a time-series data repository; and

aligning, by the processor, the at least one world event with at least one time-series event based on the event information
and the time-series data, to identify at least one pattern indicative of a cause-effect relationship between the at least
one world event and the at least one time-series event.

US Pat. No. 10,095,957

METHOD AND SYSTEM FOR UNSUPERVISED WORD IMAGE CLUSTERING

Tata Consultancy Services...

1. A method for unsupervised word image clustering, said method comprising processor implemented steps of:capturing one or more image using at least one image capture device, wherein at least one of the one or more image comprises at least one word image;
extracting one or more feature vector for each of the at least one word image using an untrained convolution neural network architecture, wherein extraction comprises:
applying a first convolution to the at least one input image using a first plurality of filters, wherein the first plurality of filters are initialized by random filter based deep learning techniques using Gaussian random variable with zero mean and unit standard deviation, and wherein the plurality of filters are constrained to sum to zero;
applying a Rectified Linear Unit (ReLU) non-linearity to a first plurality of feature maps, wherein the first plurality of feature maps is generated as output of the first convolution;
applying a first sub-sampling to increase the position invariance of the first plurality of feature maps, wherein sub-sampling comprises applying a pooling operation on non-overlapping segments of the first plurality of feature maps after application of the ReLU non-linearity;
applying a second convolution on the output of the first sub-sampling using a second plurality of filters wherein the second plurality of filters are initialized by random filter based deep learning techniques using Gaussian random variable with zero mean and unit standard deviation, and wherein the plurality of filters are constrained to sum to zero;
applying a Rectified Linear Unit (ReLU) non-linearity to a second plurality of feature maps, wherein the second plurality of feature maps are generated as output of the second convolution;
applying a second sub-sampling of the second plurality of feature maps, wherein sub-sampling comprises applying a pooling operation on non-overlapping segments of the second plurality of feature maps after application of the ReLU non linearity; and
combining the plurality of feature maps generated at the output of the second subsampling for extracting one or more feature vector; and
clustering the one or more word images based on the one or more feature vector, wherein the clustering comprises:
clustering word images based on a similarity value across a first stage cluster, wherein the similarity value is evaluated by comparing the extracted one or more feature vector with a pre-defined first similarity threshold value (Tstrong) and
clustering word images based on a similarity value across a second stage cluster, wherein the similarity value is evaluated by comparing the extracted one or more feature vector with a pre-defined second similarity threshold value (Tsoft),
wherein the first similarity threshold value (Tstrong) is higher than the second similarity threshold value (Tsoft),
wherein the clustered word images are used for performing one or more functions, wherein the one or more functions comprises indexing, transcription, and optical character recognition.

US Pat. No. 9,863,984

POWER MONITORING SYSTEM

Tata Consultancy Services...

1. A power monitoring system comprising:
at least one processor; and
a memory coupled to the at least one processor, wherein the memory comprises,
a computation module configured to determine at least one of a peak power consumption and current power consumption of at
least one power distribution point of a power distribution unit in a data center; and

an analysis module configured to:
classify the at least one power distribution point as one of an overloaded power distribution point and an underutilized power
distribution point based at least, in part, on a policy data;

generate an alert upon determination of at least one power distribution point to be one of an overloaded power distribution
point and underutilized power distribution point;

receive a request to add a new IT system and non-IT system to the power distribution point;
compute a threshold margin for the underutilized power distribution point, wherein the threshold margin is the difference
between the current power consumption of the power distribution point and the corresponding high threshold value;

determine a potential power distribution point for addition of at least one of the new IT system and non-IT system to the
data center based on a feasibility factor, wherein the feasibility factor is positive if the peak power consumption of the
new IT system and non-IT system is lesser than the threshold margin of the power distribution point; and

identify potential problem zones in the data center, wherein problem zones comprise equipments, devices and systems in the
data center in which power is unevenly distributed due to overloaded and underutilized power distribution points.

US Pat. No. 9,824,067

SYSTEM AND METHOD FOR FORECASTING A TIME SERIES DATA

Tata Consultancy Services...

1. A method for forecasting a time series data, the method comprising:
receiving, by a processor, a historical time series data comprising a stationary series data and a non-stationary series data,
wherein the non-stationary series data indicate change in a mean and a variance of consecutive values of the historical time
series data;

processing, by the processor, the stationary series data and the non-stationary series data to form a unified time series
data, wherein the processing comprises

converting the non-stationary series data into a differenced stationary series data, wherein the non-stationary series data
is converted by differencing the consecutive values of the non-stationary series data, and

combining the differenced stationary series data and the stationary series data in order to form the unified time series data;
plotting, by the processor, a data distribution for the unified time series data;
validating, by the processor, the data distribution of the unified time series data based upon a rate function, wherein the
rate function is associated with a Large Deviation Theory (LDT);

splitting, by the processor, the unified time series data into vectors based on an autocorrelation function (ACF), wherein
each vector comprises a set of values;

representing, by the processor, data distribution of each vector into a mixture of Gaussian distribution models;
assigning, by the processor, weights to each Gaussian distribution model using a Maximum Likelihood Estimation or Expectation
Maximization (MLE/EM) algorithm, wherein the weights are assigned based on mean values of the Gaussian mixture models; and

generating, by the processor, a resultant Gaussian time series data, wherein the resultant Gaussian time series data is modified/varied
by controlling the weights, and wherein the resultant Gaussian time series data indicates forecasted time series data of the
historical time series data.

US Pat. No. 9,773,019

CREATING A USER'S PROXIMITY MODEL IN ACCORDANCE WITH A USER'S FEEDBACK

Tata Consultancy Services...

1. A method for creating a user's proximity model in accordance with a user's feedback, the method comprising:
initializing, by a processor, a user's proximity model;
creating, by the processor, an intermediate model using the user's proximity model by selecting a group of points from the
plurality of points, wherein the group of points is selected based upon a Kaufmann's index of fuzziness (Kf), and wherein the intermediate model is presented to a user;

receiving, by the processor, a user feedback on the intermediate model, wherein the user feedback is a score lying in a predefined
range;

adapting, by the processor, the fuzzy membership function (?A) for the user's proximity model using a Dempster-Shafer technique, wherein the fuzzy membership function (?A) is adapted based on the user feedback, and wherein adapting the fuzzy membership function (?A) using the Dempster-Shafer technique comprises:

a) computing a belief function and a plausibility function based upon the user feedback; and
b) computing a tuning parameter (?) using the belief function and the plausibility function, wherein the fuzzy membership
function (?A) is adapted based upon the tuning parameter (?); and

updating, by the processor, the user's proximity model based upon the fuzzy membership function (?A).

US Pat. No. 9,875,098

SYSTEM AND METHOD FOR EXTRACTING A BUSINESS RULE EMBEDDED IN AN APPLICATION SOURCE CODE

Tata Consultancy Services...

1. A computer implemented method for extracting a business rule embedded in an application source code, the method comprising:
creating, by a processor, a call structure of one or more programs present in an application source code by performing a control
flow analysis on the application source code, wherein the control flow analysis is performed using at least one of abstract
representation, resolving of a dynamic call, object resolution, and a control transfer to determine a control flow between
the one or more programs;

recognizing, from the one or more programs, one or more parent programs and one or more child programs for the parent program
based on the call structure, wherein the parent program is capable of calling the one or more child programs; and wherein
the call structure enables a recognizing module for establishing at least one of a relation and dependency between the one
or more programs;

grouping, by the processor, the parent program and the one or more child programs, each program in the group including a plurality
of conditional statements, wherein the grouping is performed based on a plurality of identical characteristics of the one
or more child programs and wherein the identical characteristics comprise the one or more programs starting with same naming
convention;

identifying, by the processor, one or more conditional statements among the plurality of conditional statements, wherein the
one or more conditional statements comprise a business rule, and wherein the one or more conditional statements are identified
by:

comparing the plurality of conditional statements with a plurality of pre-defined patterns identified from the application
source code, wherein the plurality of predefined patterns comprise at least one pattern associated with the business rule,
and at least another pattern lacking the business rule, or comparing a variable with a hard-coded value;

generating a hierarchy of the conditional statements, wherein the hierarchy defines one or more parent conditional statements
and one or more child conditional statements dependent on the parent conditional statements, wherein the parent conditional
statements and the child conditional statements are nested conditions occurring in a plurality of sub-entities; and

extracting a business rule embedded in the application source code, by mapping the one or more conditional statements with
a business rule selected among business rules stored in a pre-defined business rule template and a business rule created using
the pre-defined business rule template.

US Pat. No. 9,792,507

METHOD AND SYSTEM FOR GROUND TRUTH DETERMINATION IN LANE DEPARTURE WARNING

TATA CONSULTANCY SERVICES...

1. A computer implemented method for ground truth determination in a lane departure warning, wherein the ground truth is determined
based on a lane marking, the computer implemented method comprising:
receiving a plurality of lane images or a lane video comprising the plurality of lane images as an input from an image capturing
unit;

processing the plurality of lane images into a plurality of time sliced images, wherein each time sliced image contains selection
of predefined rows of the plurality of lane images, wherein the plurality of lane images are captured at different time frames;

determining a histogram of each of the plurality of time sliced images and smoothening the histogram to obtain a smoothened
histogram, wherein the smoothening is performed on the histogram to extract low pass filtered envelop of the histogram;

obtaining a threshold value for each of the time sliced images by extracting a minima between a first maxima and a successive
second maxima of the smoothened histogram, wherein the first maxima is a highest peak of the smoothened histogram and the
successive second maxima is a following highest peak of the first maxima, wherein extracting the minima between the first
maxima and the successive second maxima of the smoothened histogram is termed as Min-Between-Max-Thresholding (MBMT) technique;

refining the threshold value of the time sliced images by:
segmenting each of the time sliced images into a predefined number of time slices by further applying time slicing on the
each time sliced image,

calculating a statistical mean variation of the histogram of each of the individual time slices, and
grouping the individual time slices having a mean intensity within a predefined range into a cluster of time slices, wherein
a predefined number of time slices having the mean intensity in the predefined range are grouped and localized, and

determining the minima between the first maxima and the successive second maxima of the histogram of the cluster of time slices
by applying the MBMT technique to obtain refined threshold for each cluster of time slices;

detecting the lane marking of the lane by extracting mid-points of the lane marking based on the refined threshold value of
the time sliced images; and

determining the ground truth based on the lane marking of the lane for validating the lane departure warning based on a pixel
position detected by the lane departure warning with respect to the determined ground truth.