Patents by Inventor Namendra Kumar
Namendra Kumar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20190052609Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-communication event establishment phase, a secure connection is established between the initiating device and the communications controller, and session key negotiation messages are exchanged between the initiating device and the communications controller via the secure connection to obtain session key data in an electronic storage location accessible to the initiating device. The secure connection terminates once the session key data has been obtained. In a subsequent communication event establishment phase—after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase—a communication event request is transmitted from the initiating device to the communications controller comprising a payload encrypted with the session key data.Type: ApplicationFiled: October 17, 2018Publication date: February 14, 2019Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Patent number: 10193934Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-session establishment phase: a compression dictionary or a dictionary link that identifies an addressable memory location, at which a compression dictionary is held, is received at the initiating device. The received compression dictionary or the received dictionary link is stored in electronic storage of the initiating device. In response to a communication event establishment instruction received at the initiating device after the dictionary or the dictionary link has been received and stored at the initiating device, a session is established between the initiating device and the communications controller by the initiating device transmitting an initial session establishment message—compressed using the dictionary—to the communications controller to establish the communication event.Type: GrantFiled: December 3, 2015Date of Patent: January 29, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20180165338Abstract: Techniques for controlling reactivation of service functions are described. Implementations, for example, enable various ways of controlling and storing service objects that provide service functions.Type: ApplicationFiled: January 29, 2018Publication date: June 14, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Namendra Kumar, Uladzimir A. Skuratovich, Sankaran Narayanan, Abhilash C. Nair, Adit A. Dalvi
-
Patent number: 9881070Abstract: A service is delivered by a computer system comprising a processor, a memory accessible to the processor and computer storage. The memory holds code which defines service object classes. The service object classes are configured to provide service functions, and the service object classes are instantiated to create service objects which implement the service functions. For each service object, an associated service object identifier is generated in the memory which distinguishes that service object from any other service object. The service objects are serialized to generate serialized data, the serialized data comprising a representation of each service object, and the representation comprising that service object's service object identifier, that service object's associated state data and the service object identifier of any other service object referenced by that service object. Following deactivation, the service objects can be recreated by following the chain of references.Type: GrantFiled: December 12, 2014Date of Patent: January 30, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Namendra Kumar, Uladzimir A. Skuratovich, Sankaran Narayanan, Abhilash C. Nair, Adit A. Dalvi
-
Patent number: 9826000Abstract: Disclosed are methods and devices (e.g. servers) for establishing a real-time communication event between a user of a client device and another user of another client device via a communication network. A message pertaining to the communication event (e.g. to a communication event establishment procedure) includes multiple options pertaining to the communication event and, for each of the multiple options, a different network address unique to that option which can be accessed to select that option.Type: GrantFiled: December 12, 2014Date of Patent: November 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Namendra Kumar, Uladzimir A. Skuratovich, Sankaran Narayanan, Abhilash C. Nair, Adit A. Dalvi
-
Publication number: 20170230457Abstract: In a cluster of servers, each server is configured as follows. A request is received at the server from a requesting entity. The request includes an identifier of the request. The server determines whether the request identifier is already associated with any of the servers in a cluster database. If the request identifier is already associated with a different one of the servers in the cluster database, it is forwarded to the different server. If the request identifier is not already associated with any of the servers, it is associated with the server. The server generates a response to the request, and, stores in local storage accessible to the server and transmits a copy of it to a requesting entity. If the request is already associated with the server in the cluster database, the server locates any response to the request that is already stored in the local storage.Type: ApplicationFiled: February 5, 2016Publication date: August 10, 2017Inventors: Namendra Kumar, Abhilash C. Nair, Uladzimir A. Skuratovich, Adit Dalvi
-
Publication number: 20170163694Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-session establishment phase: a compression dictionary or a dictionary link that identifies an addressable memory location, at which a compression dictionary is held, is received at the initiating device. The received compression dictionary or the received dictionary link is stored in electronic storage of the initiating device. In response to a communication event establishment instruction received at the initiating device after the dictionary or the dictionary link has been received and stored at the initiating device, a session is established between the initiating device and the communications controller by the initiating device transmitting an initial session establishment message—compressed using the dictionary—to the communications controller to establish the communication event.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20170163607Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-communication event establishment phase, a secure connection is established between the initiating device and the communications controller, and session key negotiation messages are exchanged between the initiating device and the communications controller via the secure connection to obtain session key data in an electronic storage location accessible to the initiating device. The secure connection terminates once the session key data has been obtained. In a subsequent communication event establishment phase—after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase—a communication event request is transmitted from the initiating device to the communications controller comprising a payload encrypted with the session key data.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20170163693Abstract: A session is established between an initiating device and a remote device. A session request is transmitted from the initiating device to the remote device according to a preferred networking protocol. If no provisional response to the request is received at the initiating device within an initial duration, the initiating device transmits another session request to the other device according to a non-preferred protocol. If a provisional response to the request is received within the initial duration, the initiating device continues to monitor the elapsed time for an so extended duration. If no final response to the request is received within the extended duration, the initiating device transmits another session request to the other device according to a non-preferred protocol. If a final response is received within the extended duration, a session between the initiating device and the other device is established according to the preferred networking protocol.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20160171065Abstract: A service is delivered by a computer system comprising a processor, a memory accessible to the processor and computer storage. The memory holds code which defines service object classes. The service object classes are configured to provide service functions, and the service object classes are instantiated to create service objects which implement the service functions. For each service object, an associated service object identifier is generated in the memory which distinguishes that service object from any other service object. The service objects are serialized to generate serialized data, the serialized data comprising a representation of each service object, and the representation comprising that service object's service object identifier, that service object's associated state data and the service object identifier of any other service object referenced by that service object. Following deactivation, the service objects can be recreated by following the chain of references.Type: ApplicationFiled: December 12, 2014Publication date: June 16, 2016Inventors: Namendra Kumar, Uladzimir A. Skuratovich, Sankaran Narayanan, Abhilash C. Nair, Adit A. Dalvi
-
Publication number: 20160173537Abstract: Disclosed are methods and devices (e.g. servers) for establishing a real-time communication event between a user of a client device and another user of another client device via a communication network. A message pertaining to the communication event (e.g. to a communication event establishment procedure) includes multiple options pertaining to the communication event and, for each of the multiple options, a different network address unique to that option which can be accessed to select that option.Type: ApplicationFiled: December 12, 2014Publication date: June 16, 2016Inventors: Namendra Kumar, Uladzimir A. Skuratovich, Sankaran Narayanan, Abhilash C. Nair, Adit A. Dalvi
-
Patent number: 9351203Abstract: Voice call continuity is provided for calls that are carried over a hybrid network infrastructure in which access connections are distributed over loosely coupled network portions including a backend network such as a core VoIP (Voice over Internet Protocol) service network, one or more cellular mobile networks, and a public switched telephone network (“PSTN”). The calls are routed through the core VoIP network regardless of their points of origination or termination in other network portions so that signaling and call context are anchored in the core VoIP network. The conditions under which user equipment operate are continuously monitored so that when a connection is determined to have been unacceptably degraded or is likely to be interrupted, and/or a more optimal connection is available, a handover of the call to another connection is initiated so that call continuity is maintained using the lowest cost connection that provides acceptable call quality.Type: GrantFiled: September 13, 2013Date of Patent: May 24, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Gursharan Sidhu, Humayun Khan, Tony Bell, Namendra Kumar, Sankaran Narayanan, Mahendra Sekaran, Vishal Soni, John Bruner, Jeffrey Kay, Anish Desai, Rod Fleck, Abhilash Nair, Gaurav Pancholi, Mansoor Jafry, Ken Wolfe
-
Publication number: 20160044096Abstract: Scaling up and scaling out of a server architecture for large scale real-time applications is provided. A group of users may be provisioned by assigning them to a server pool and allotting them to a group. Grouped users help to reduce inter-server communication when they are serviced by the same server in the pool. High availability may be provided by choosing a primary server and one or more secondary servers from the pool to ensure that grouped users are serviced by the same server. Operations taken on the primary server are synchronously replicated to secondary servers so that when a primary server fails, a secondary server may be chosen as the primary for the group. Servers for multiple user groups may be load balanced to account for changes in either the number of users or the number of servers in a pool. Multiple pools may be paired for disaster recovery.Type: ApplicationFiled: October 19, 2015Publication date: February 11, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sankaran Narayanan, Namendra Kumar, Krishnan Ananthanarayanan, Vijay Kishen Hampapur Parthasarathy, Dhigha Sekaran, Vadim Eydelman, Bimal K. Mehta
-
Patent number: 9065903Abstract: Architecture for a communications system enabling a user to provision a telephone at a new location without network administrative pre-configuring. An input component (e.g., keypad) receives a numeric extension and PIN. The extension is a telephone extension of the user and the PIN can be administratively assigned. A location component provides location information of an enterprise communications server to the telephone based on the extension. The telephone uses the location information to send messages to the enterprise communications server. A registration component registers the telephone with the enterprise communications server based on the numeric extension. A telephony address is returned to the telephone. An authentication component authenticates the telephone based on the PIN. Upon authentication, the extension is assigned to the telephone, and telephone communications can be sent and received from that location.Type: GrantFiled: January 29, 2013Date of Patent: June 23, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Anton W. Krantz, Amey Parandekar, Vadim Eydelman, Sankaran Narayanan, Namendra Kumar, Sachin Sheth
-
Publication number: 20150078332Abstract: Voice call continuity is provided for calls that are carried over a hybrid network infrastructure in which access connections are distributed over loosely coupled network portions including a backend network such as a core VoIP (Voice over Internet Protocol) service network, one or more cellular mobile networks, and a public switched telephone network (“PSTN”). The calls are routed through the core VoIP network regardless of their points of origination or termination in other network portions so that signaling and call context are anchored in the core VoIP network. The conditions under which user equipment operate are continuously monitored so that when a connection is determined to have been unacceptably degraded or is likely to be interrupted, and/or a more optimal connection is available, a handover of the call to another connection is initiated so that call continuity is maintained using the lowest cost connection that provides acceptable call quality.Type: ApplicationFiled: September 13, 2013Publication date: March 19, 2015Inventors: Gursharan Sidhu, Humayun Khan, Tony Bell, Namendra Kumar, Sankaran Narayanan, Mahendra Sekaran, Vishal Soni, John Bruner, Jeffrey Kay, Anish Desai, Rod Fleck, Abhilash Nair, Gaurav Pancholi, Mansoor Jafry, Ken Wolfe
-
Patent number: 8931051Abstract: Scaling and highly available clustering for large scale real-time applications is provided. A ring may be formed which includes multiple nodes for providing a set of services in a system. When a network partition is detected which affects communications between each of the nodes in the ring, the formation of additional rings is prevented by shutting down nodes which include a minority of voting nodes in the ring while maintaining the availability of the nodes which include a majority of the voting nodes to continue providing the set of services in the system.Type: GrantFiled: November 14, 2012Date of Patent: January 6, 2015Assignee: Microsoft CorporationInventors: Namendra Kumar, Krishnan Ananthanarayanan, Sankaran Narayanan, Dhigha Sekaran, Vadim Eydelman
-
Patent number: 8874668Abstract: A communication system has a plurality of collections. Each collection comprises a security boundary within which private data is accessible. Each collection is associated with a director. The directors receive messages that specify domains. When a director for a given collection receives a message, the director identifies one of the collections as being a home collection for the domain specified by the message. If the specified domain's home collection is the given collection or another collection within a given privacy boundary, the director forwards the message to a server pool associated with the specified domain's home collection. Otherwise, if the specified domain's home collection is not within the given privacy boundary, the director forwards the message to the director of the specified domain's home collection.Type: GrantFiled: June 10, 2011Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Vadim Eydelman, Sankaran Narayanan, Namendra Kumar, Bimal K. Mehta
-
Publication number: 20140136878Abstract: Scaling up and scaling out of a server architecture for large scale real-time applications is provided. A group of users may be provisioned by assigning them to a server pool and allotting them to a group. Grouped users help to reduce inter-server communication when they are serviced by the same server in the pool. High availability may be provided by choosing a primary server and one or more secondary servers from the pool to ensure that grouped users are serviced by the same server. Operations taken on the primary server are synchronously replicated to secondary servers so that when a primary server fails, a secondary server may be chosen as the primary for the group. Servers for multiple user groups may be load balanced to account for changes in either the number of users or the number of servers in a pool. Multiple pools may be paired for disaster recovery.Type: ApplicationFiled: November 14, 2012Publication date: May 15, 2014Applicant: MICROSOFT CORPORATIONInventors: Sankaran Narayanan, Namendra Kumar, Krishnan Ananthanarayanan, Vijay Kishen Hampapur Parthasarathy, Dhigha Sekaran, Vadim Eydelman, Bimal K. Mehta
-
Publication number: 20140137187Abstract: Scaling and highly available clustering for large scale real-time applications is provided. A ring may be formed which includes multiple nodes for providing a set of services in a system. When a network partition is detected which affects communications between each of the nodes in the ring, the formation of additional rings is prevented by shutting down nodes which include a minority of voting nodes in the ring while maintaining the availability of the nodes which include a majority of the voting nodes to continue providing the set of services in the system.Type: ApplicationFiled: November 14, 2012Publication date: May 15, 2014Applicant: MICROSOFT CORPORATIONInventors: Namendra Kumar, Krishnan Ananthanarayanan, Sankaran Narayanan, Dhigha Sekaran, Vadim Eydelman
-
Patent number: 8391452Abstract: Architecture for a communications system enabling a user to provision a telephone at a new location without network administrative pre-configuring. An input component (e.g., keypad) receives a numeric extension and PIN. The extension is a telephone extension of the user and the PIN can be administratively assigned. A location component provides location information of an enterprise communications server to the telephone based on the extension. The telephone uses the location information to send messages to the enterprise communications server. A registration component registers the telephone with the enterprise communications server based on the numeric extension. A telephony address is returned to the telephone. An authentication component authenticates the telephone based on the PIN. Upon authentication, the extension is assigned to the telephone, and telephone communications can be sent and received from that location.Type: GrantFiled: April 30, 2009Date of Patent: March 5, 2013Assignee: Microsoft CorporationInventors: Anton W. Krantz, Amey Parandekar, Vadim Eydelman, Sankaran Narayanan, Namendra Kumar, Sachin Sheth