Patents by Inventor Swee Boon Lim

Swee Boon Lim 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).

  • Patent number: 9348582
    Abstract: Techniques for managing software dependencies are described. For example, a dependency specification that pertains to a first product is accessed. The product may be a collection of artifacts and may provide a software functionality. A determination may be made, based on the dependency specification, that the first product has a dependency on a second product. Metadata pertaining to the second product may be accessed. A valid version of the second product may be identified based on the metadata. The valid version may be usable at build time of the first product.
    Type: Grant
    Filed: February 13, 2014
    Date of Patent: May 24, 2016
    Assignee: LinkedIn Corporation
    Inventors: Jens Pillgram-Larsen, Paul McDill Hobbs, Jarek Rudzinski, Dustin Kwong, Swee Boon Lim
  • Publication number: 20150227363
    Abstract: Techniques for managing software dependencies are described. For example, a dependency specification that pertains to a first product is accessed. The product may be a collection of artifacts and may provide a software functionality. A determination may be made, based on the dependency specification, that the first product has a dependency on a second product. Metadata pertaining to the second product may be accessed. A valid version of the second product may be identified based on the metadata. The valid version may be usable at build time of the first product.
    Type: Application
    Filed: February 13, 2014
    Publication date: August 13, 2015
    Applicant: Linkedln Corporation
    Inventors: Jens Pillgram-Larsen, Paul McDill Hobbs, Jarek Rudzinski, Dustin Kwong, Swee Boon Lim
  • Patent number: 6941556
    Abstract: A system and method provides dynamic and static type support for multiple definitions of individual types in a distributed object environment. Fully scoped object names incorporating prefixes are used to distinguish objects. The fully scoped names are used for both dynamic type determination through an interface repository and for statically compiled types in client and server stub routines. In the interface repository, a prefix naming context is provided for each root interface definition language context, allowing multiple definitions for objects with the same interface definition language object name, where each such definition resides in a separate prefix naming context. In one embodiment, the prefix naming contexts are defined by prefix interface definition objects. In another embodiment, the fully scoped object names are embedded by an interface definition language compiler in stub and skeleton code routines. RRS.
    Type: Grant
    Filed: May 24, 1999
    Date of Patent: September 6, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter B. Kessler, Swee Boon Lim, Peter Vanderbilt, Michael L. Powell, Li-Wen Chen, Dwight F. Hare, Alan Snyder
  • Patent number: 6785838
    Abstract: A system and method are provided for recovering from the failure of a mirrored boot device (e.g., disk drive). One method is implemented for a computer system that mirrors two (or more) boot devices. If one of the devices fails, a set of compensating activities is performed, which may include removing the failed device from the list of devices from which the system may boot, deleting mirror state data from the device and removing the failed device from the mirroring scheme. After the failed device is repaired or replaced, a set of reintegrating activities is performed, which may include including the device in the mirroring scheme, restoring mirror state data to the device and adding the device to the list of boot devices. Even if the system includes only two mirrored boot devices and one of them fails, it can continue operation and can reboot successfully without using stale data.
    Type: Grant
    Filed: February 13, 2001
    Date of Patent: August 31, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Devendra R. Jaisinghani, Sanjay G. Nadkarni, Robert Gittins
  • Patent number: 6718550
    Abstract: Data structures, methods and devices for reducing computing overhead by utilizing different invocation paths for same process and different process invocations in a distributed client/server based computing system are disclosed. In one aspect of the invention, calls to a servant that do not share the same process as the requesting client are routed through a transport layer, and calls to servants that do share the same process as the requesting client are passed directly to the servant, thereby bypassing the transport layer. In another aspect of the invention, distinct remote and local method tables are provided to facilitate intelligent routing of requests. In still another aspect of the invention, the appropriate method table for an object reference is intelligently selected based upon the location of the identified object.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: April 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, Sanjay R. Radia, Graham Hamilton
  • Publication number: 20020112198
    Abstract: A system and method are provided for recovering from the failure of a mirrored boot device (e.g., disk drive). One method is implemented for a computer system that mirrors two (or more) boot devices. If one of the devices fails, a set of compensating activities is performed, which may include removing the failed device from the list of devices from which the system may boot, deleting mirror state data from the device and removing the failed device from the mirroring scheme. After the failed device is repaired or replaced, a set of reintegrating activities is performed, which may include including the device in the mirroring scheme, restoring mirror state data to the device and adding the device to the list of boot devices. Even if the system includes only two mirrored boot devices and one of them fails, it can continue operation and can reboot successfully without using stale data.
    Type: Application
    Filed: February 13, 2001
    Publication date: August 15, 2002
    Inventors: Swee Boon Lim, Devendra R. Jaisinghani, Sanjay G. Nadkarni, Robert Gittins
  • Patent number: 6389484
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: December 6, 1999
    Date of Patent: May 14, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 6327622
    Abstract: A method is provided for load balancing requests for an application among a plurality of instances of the application operating on a plurality of servers. A policy is selected for choosing a preferred server from the plurality of servers according to a specified status or operational characteristic of the application instances, such as the least-loaded instance or the instance with the fastest response time. The policy is encapsulated within multiple levels of objects or modules that are distributed among the servers offering the application and a central server that receives requests for the application. A first type of object, a status object, gathers or retrieves application-specific information concerning the specified status or operational characteristic of an instance of the application. Status objects interact with instances of the load-balanced application and are configured to store their collected information for retrieval by individual server monitor objects.
    Type: Grant
    Filed: September 3, 1998
    Date of Patent: December 4, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
  • Patent number: 6324580
    Abstract: A method is provided for load balancing requests for a replicated service or application among a plurality of servers operating instances of the replicated service or application. A policy is selected for choosing a preferred server from the plurality of servers according to one or more specified status or operational characteristics of the servers, such as the least-loaded or closest server. The policy is encapsulated within multiple levels of objects or modules that are distributed among the servers offering the replicated service and a central server that receives requests for the service. Status objects gather or retrieve information concerning the specified status or operational characteristic(s) of each of the plurality of servers. An individual server monitor object operates for each instance of the replicated service to invoke one or more status objects and receive the necessary information. A central replicated monitor object receives the information from each individual server monitor object.
    Type: Grant
    Filed: September 3, 1998
    Date of Patent: November 27, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
  • Patent number: 6272557
    Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: August 7, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal
  • Patent number: 6212573
    Abstract: Data structures, methods and devices for reducing computing overhead by utilizing threads which are effective to listen for requests for new connections, for new requests for services, and process requests for services in a distributed client/server-based object oriented operating system are disclosed. In one aspect of the invention, a method of processing a request for service from a client, involves listening for a request using a first server side thread which is effective to listen for and process requests on a connection, reading the header of the request using the first server side thread, and processing the request. In another aspect of the invention, a client writes a request for service on a connection between the client and a server using a first client side thread which is effective for dispatching requests and listening for replies to the request, and determines whether a reply from the server is expected in response to the request for service.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: April 3, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Rohit Garg
  • Patent number: 6189048
    Abstract: Data structures, methods and devices for reducing computing overhead associated with dispatching a distributed object invocation and improving the flexibility of the dispatch framework in a distributed client/server based computing system are disclosed. In one aspect of the invention, a request received on an end point in a transport layer is dispatched from the transport layer to a subcontract in a subcontract layer where the request is partially unmarshaled and dispatched from the subcontract to a skeleton function in a skeleton layer where a servant is invoked.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: February 13, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Sanjay R. Radia, Ken M. Cavanaugh, III, Christian J. Callsen
  • Patent number: 6167458
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: October 24, 1998
    Date of Patent: December 26, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 6092178
    Abstract: A trigger is provided in association with a network naming service, such as DNS (Domain Name Service), that handles client requests for an application. The trigger comprises a set of executable instructions referenced by a resource record associated with an identifier of the application. In response to a client request concerning the application, the resource record is retrieved and the instructions are executed. In one implementation of a trigger, a DNS server provides load balancing among a plurality of servers within a network name space (e.g., domain or sub-domain) offering an application program (or replicated service) that is known by a virtual server name. A policy is selected for choosing a preferred server from the plurality of servers according to a specified status or operational characteristic of the application instances, such as the least-loaded instance of the application or the instance with the fastest response time.
    Type: Grant
    Filed: September 3, 1998
    Date of Patent: July 18, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Anita Jindal, Swee Boon Lim, Sanjay Radia, Whei-Ling Chang
  • Patent number: 6044409
    Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: March 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal
  • Patent number: 6044224
    Abstract: A data structure for dynamically associating a service dependent representation with a servant object at run time is used in a distributed object computing system that incorporates subcontracts. Subcontracts supply different functionalities to objects. The data structure exists before run time, and is used at run time to perform the dynamic association. An arrangement also exists at run time. The structure comprises a service representation class representing a single subcontract, a servant base class associated with servant objects created at run time, and a linking mechanism to form a run time link between the server rep class and a servant object at run time. The server rep class provides functionality unique to a subcontract. At run time, servant objects are instantiated from the servant base class or a more derived class. The servant object uses the functionality provided by a subcontract by way of the linking mechanism.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: March 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay R. Radia, Swee Boon Lim, Peter B. Kessler
  • Patent number: 6032199
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: February 29, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 5991823
    Abstract: Data structures and various methods for invoking and creating objects are used in a distributed object system in order to implement subcontracts. A subcontract is a selected grouping of basic features or object mechanisms that a system provides for use in managing objects and has associated functions. A subcontract registry is used for creating object references for server objects. The subcontract registry has any number of subcontract objects within it, and each subcontract object may include: a subcontract identifier that identifies the subcontract object, a quality of service list that contains feature name-value pairs, and a create function unique to the subcontract object. An implementation registry is used for registering any number of implementation definitions.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: November 23, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ken M. Cavanaugh, III, Alan Snyder, Swee Boon Lim, Christian J. Callsen
  • Patent number: 5938732
    Abstract: A system and method for many-to-many failover and load balancing establishes a plurality of service groups for providing desired computing services. Each service group comprises a plurality of hosts, and each host within the service group is available to perform the computing services for which that group as a whole is responsible. Each host may belong to a plurality of service groups. Each operational host within a service group transmits periodic messages to each other host within the service group advising of the status of the transmitting host. A leader host evaluates the periodic messages and, where appropriate, dynamicall reassigns responsibility for particular computing services to a host within the group. The reassignment can be due either to failover or load balancing.
    Type: Grant
    Filed: December 9, 1996
    Date of Patent: August 17, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ashish Singhai, Sanjay R. Radia
  • Patent number: 5848233
    Abstract: The present invention includes a method and apparatus for filtering IP packets based on events within a computer network. More specifically, the present invention includes a services management system, or SMS. The SMS manages network connections between a series of client systems and a router. An access network control server (ANCS) manages the configuration of the router. The SMS monitors activities or events that occur within the network. In response to these events, the SMS dynamically downloads filtering profiles to the ANCS. The ANCS then uses the downloaded filtering profiles to reconfigure the router. The router then uses the filtering rules to selectively discard or forward IP packets received from the client systems.
    Type: Grant
    Filed: December 9, 1996
    Date of Patent: December 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay R. Radia, Swee Boon Lim, Panagiotis Tsirigotis, Thomas K. Wong, Robert J. Goedman, Michael W. Patrick